UNPKG

firebase

Version:

Firebase JavaScript library for web and Node.js

10 lines • 571 kB
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(require("@firebase/app-compat"),require("@firebase/app")):"function"==typeof define&&define.amd?define(["@firebase/app-compat","@firebase/app"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).firebase,e.firebase.INTERNAL.modularAPIs)})(this,function(Gm,Pm){try{!(function(){let k=()=>{},G=function(t){var r=[];let n=0;for(let s=0;s<t.length;s++){let e=t.charCodeAt(s);e<128?r[n++]=e:(e<2048?r[n++]=e>>6|192:(55296==(64512&e)&&s+1<t.length&&56320==(64512&t.charCodeAt(s+1))?(e=65536+((1023&e)<<10)+(1023&t.charCodeAt(++s)),r[n++]=e>>18|240,r[n++]=e>>12&63|128):r[n++]=e>>12|224,r[n++]=e>>6&63|128),r[n++]=63&e|128)}return r},P={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(r,e){if(!Array.isArray(r))throw Error("encodeByteArray takes an array as a parameter");this.init_();var n=e?this.byteToCharMapWebSafe_:this.byteToCharMap_,s=[];for(let l=0;l<r.length;l+=3){var i=r[l],a=l+1<r.length,B=a?r[l+1]:0,o=l+2<r.length,u=o?r[l+2]:0;let e=(15&B)<<2|u>>6,t=63&u;o||(t=64,a)||(e=64),s.push(n[i>>2],n[(3&i)<<4|B>>4],n[e],n[t])}return s.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(G(e),t)},decodeString(r,n){if(this.HAS_NATIVE_SUPPORT&&!n)return atob(r);{var s=this.decodeStringToByteArray(r,n);var i=[];let e=0,t=0;for(;e<s.length;){var a,B,o,u=s[e++];u<128?i[t++]=String.fromCharCode(u):191<u&&u<224?(a=s[e++],i[t++]=String.fromCharCode((31&u)<<6|63&a)):239<u&&u<365?(a=((7&u)<<18|(63&s[e++])<<12|(63&s[e++])<<6|63&s[e++])-65536,i[t++]=String.fromCharCode(55296+(a>>10)),i[t++]=String.fromCharCode(56320+(1023&a))):(B=s[e++],o=s[e++],i[t++]=String.fromCharCode((15&u)<<12|(63&B)<<6|63&o))}return i.join("");return}},decodeStringToByteArray(e,t){this.init_();var r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let o=0;o<e.length;){var s=r[e.charAt(o++)],i=o<e.length?r[e.charAt(o)]:0,a=++o<e.length?r[e.charAt(o)]:64,B=++o<e.length?r[e.charAt(o)]:64;if(++o,null==s||null==i||null==a||null==B)throw new M;n.push(s<<2|i>>4),64!==a&&(n.push(i<<4&240|a>>2),64!==B)&&n.push(a<<6&192|B)}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e<this.ENCODED_VALS.length;e++)this.byteToCharMap_[e]=this.ENCODED_VALS.charAt(e),this.charToByteMap_[this.byteToCharMap_[e]]=e,this.byteToCharMapWebSafe_[e]=this.ENCODED_VALS_WEBSAFE.charAt(e),(this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[e]]=e)>=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class M extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}let V=function(e){var t=G(e);return P.encodeByteArray(t,!0)},H=function(e){return V(e).replace(/\./g,"")},U=function(e){try{return P.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function q(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;throw new Error("Unable to locate global object.")}let J=()=>q().__FIREBASE_DEFAULTS__,K=()=>{var e;return"undefined"!=typeof process&&void 0!==process.env&&(e=process.env.__FIREBASE_DEFAULTS__)?JSON.parse(e):void 0},j=()=>{if("undefined"!=typeof document){let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(e){return}var t=e&&U(e[1]);return t&&JSON.parse(t)}},Q=()=>{try{return k()||J()||K()||j()}catch(e){console.info("Unable to get __FIREBASE_DEFAULTS__ due to: "+e)}};function z(){return"undefined"!=typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:""}function Y(){var e=Q()?.forceEnvironment;if("node"===e)return 1;if("browser"!==e)try{return"[object process]"===Object.prototype.toString.call(global.process)}catch(e){}}function W(){return!Y()&&navigator.userAgent&&navigator.userAgent.includes("Safari")&&!navigator.userAgent.includes("Chrome")}function X(){return!Y()&&navigator.userAgent&&(navigator.userAgent.includes("Safari")||navigator.userAgent.includes("WebKit"))&&!navigator.userAgent.includes("Chrome")}class Z extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name="FirebaseError",Object.setPrototypeOf(this,Z.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,$.prototype.create)}}class ${constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){var r=t[0]||{},n=this.service+"/"+e,s=this.errors[e],s=s?((r,n)=>{try{let e=0,t="";for(;e<r.length;){var s=r.indexOf("{$",e);if(-1===s){t+=r.substring(e);break}var i=r.indexOf("}",s+2);if(-1===i){t+=r.substring(e);break}var a=r.substring(s+2,i),B=n[a];t+=r.substring(e,s)+(null!=B?String(B):`<${a}?>`),e=i+1}return t}catch(e){return r}})(s,r):"Error",s=this.serviceName+`: ${s} (${n}).`;return new Z(n,s,r)}}function ee(e,t){if(e!==t){var r,n,s=Object.keys(e),i=Object.keys(t);for(r of s){if(!i.includes(r))return!1;var a=e[r],B=t[r];if(te(a)&&te(B)){if(!ee(a,B))return!1}else if(a!==B)return!1}for(n of i)if(!s.includes(n))return!1}return!0}function te(e){return null!==e&&"object"==typeof e}function re(e){return e&&e._delegate?e._delegate:e}function ne(e){try{return(e.startsWith("http://")||e.startsWith("https://")?new URL(e).hostname:e).endsWith(".cloudworkstations.dev")}catch{return!1}}class se{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}var ie,ae,h,e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};!(function(){var e,t,i;function r(){this.blockSize=-1,this.blockSize=64,this.g=Array(4),this.C=Array(this.blockSize),this.o=this.h=0,this.u()}function n(){}function a(e,t,r){r=r||0;var n=Array(16);if("string"==typeof t)for(var s=0;s<16;++s)n[s]=t.charCodeAt(r++)|t.charCodeAt(r++)<<8|t.charCodeAt(r++)<<16|t.charCodeAt(r++)<<24;else for(s=0;s<16;++s)n[s]=t[r++]|t[r++]<<8|t[r++]<<16|t[r++]<<24;t=e.g[0],r=e.g[1];var s=e.g[2],i=e.g[3],a=t+(i^r&(s^i))+n[0]+3614090360&4294967295;a=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=(r=(s=(i=(t=r+(a<<7&4294967295|a>>>25))+((a=i+(s^t&(r^s))+n[1]+3905402710&4294967295)<<12&4294967295|a>>>20))+((a=s+(r^i&(t^r))+n[2]+606105819&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^s&(i^t))+n[3]+3250441966&4294967295)<<22&4294967295|a>>>10))+((a=t+(i^r&(s^i))+n[4]+4118548399&4294967295)<<7&4294967295|a>>>25))+((a=i+(s^t&(r^s))+n[5]+1200080426&4294967295)<<12&4294967295|a>>>20))+((a=s+(r^i&(t^r))+n[6]+2821735955&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^s&(i^t))+n[7]+4249261313&4294967295)<<22&4294967295|a>>>10))+((a=t+(i^r&(s^i))+n[8]+1770035416&4294967295)<<7&4294967295|a>>>25))+((a=i+(s^t&(r^s))+n[9]+2336552879&4294967295)<<12&4294967295|a>>>20))+((a=s+(r^i&(t^r))+n[10]+4294925233&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^s&(i^t))+n[11]+2304563134&4294967295)<<22&4294967295|a>>>10))+((a=t+(i^r&(s^i))+n[12]+1804603682&4294967295)<<7&4294967295|a>>>25))+((a=i+(s^t&(r^s))+n[13]+4254626195&4294967295)<<12&4294967295|a>>>20))+((a=s+(r^i&(t^r))+n[14]+2792965006&4294967295)<<17&4294967295|a>>>15))+((a=r+(t^s&(i^t))+n[15]+1236535329&4294967295)<<22&4294967295|a>>>10))+((a=t+(s^i&(r^s))+n[1]+4129170786&4294967295)<<5&4294967295|a>>>27))+((a=i+(r^s&(t^r))+n[6]+3225465664&4294967295)<<9&4294967295|a>>>23))+((a=s+(t^r&(i^t))+n[11]+643717713&4294967295)<<14&4294967295|a>>>18))+((a=r+(i^t&(s^i))+n[0]+3921069994&4294967295)<<20&4294967295|a>>>12))+((a=t+(s^i&(r^s))+n[5]+3593408605&4294967295)<<5&4294967295|a>>>27))+((a=i+(r^s&(t^r))+n[10]+38016083&4294967295)<<9&4294967295|a>>>23))+((a=s+(t^r&(i^t))+n[15]+3634488961&4294967295)<<14&4294967295|a>>>18))+((a=r+(i^t&(s^i))+n[4]+3889429448&4294967295)<<20&4294967295|a>>>12))+((a=t+(s^i&(r^s))+n[9]+568446438&4294967295)<<5&4294967295|a>>>27))+((a=i+(r^s&(t^r))+n[14]+3275163606&4294967295)<<9&4294967295|a>>>23))+((a=s+(t^r&(i^t))+n[3]+4107603335&4294967295)<<14&4294967295|a>>>18))+((a=r+(i^t&(s^i))+n[8]+1163531501&4294967295)<<20&4294967295|a>>>12))+((a=t+(s^i&(r^s))+n[13]+2850285829&4294967295)<<5&4294967295|a>>>27))+((a=i+(r^s&(t^r))+n[2]+4243563512&4294967295)<<9&4294967295|a>>>23))+((a=s+(t^r&(i^t))+n[7]+1735328473&4294967295)<<14&4294967295|a>>>18))+((a=r+(i^t&(s^i))+n[12]+2368359562&4294967295)<<20&4294967295|a>>>12))+((a=t+(r^s^i)+n[5]+4294588738&4294967295)<<4&4294967295|a>>>28))+((a=i+(t^r^s)+n[8]+2272392833&4294967295)<<11&4294967295|a>>>21))+((a=s+(i^t^r)+n[11]+1839030562&4294967295)<<16&4294967295|a>>>16))+((a=r+(s^i^t)+n[14]+4259657740&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^s^i)+n[1]+2763975236&4294967295)<<4&4294967295|a>>>28))+((a=i+(t^r^s)+n[4]+1272893353&4294967295)<<11&4294967295|a>>>21))+((a=s+(i^t^r)+n[7]+4139469664&4294967295)<<16&4294967295|a>>>16))+((a=r+(s^i^t)+n[10]+3200236656&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^s^i)+n[13]+681279174&4294967295)<<4&4294967295|a>>>28))+((a=i+(t^r^s)+n[0]+3936430074&4294967295)<<11&4294967295|a>>>21))+((a=s+(i^t^r)+n[3]+3572445317&4294967295)<<16&4294967295|a>>>16))+((a=r+(s^i^t)+n[6]+76029189&4294967295)<<23&4294967295|a>>>9))+((a=t+(r^s^i)+n[9]+3654602809&4294967295)<<4&4294967295|a>>>28))+((a=i+(t^r^s)+n[12]+3873151461&4294967295)<<11&4294967295|a>>>21))+((a=s+(i^t^r)+n[15]+530742520&4294967295)<<16&4294967295|a>>>16))+((a=r+(s^i^t)+n[2]+3299628645&4294967295)<<23&4294967295|a>>>9))+((a=t+(s^(r|~i))+n[0]+4096336452&4294967295)<<6&4294967295|a>>>26))+((a=i+(r^(t|~s))+n[7]+1126891415&4294967295)<<10&4294967295|a>>>22))+((a=s+(t^(i|~r))+n[14]+2878612391&4294967295)<<15&4294967295|a>>>17))+((a=r+(i^(s|~t))+n[5]+4237533241&4294967295)<<21&4294967295|a>>>11))+((a=t+(s^(r|~i))+n[12]+1700485571&4294967295)<<6&4294967295|a>>>26))+((a=i+(r^(t|~s))+n[3]+2399980690&4294967295)<<10&4294967295|a>>>22))+((a=s+(t^(i|~r))+n[10]+4293915773&4294967295)<<15&4294967295|a>>>17))+((a=r+(i^(s|~t))+n[1]+2240044497&4294967295)<<21&4294967295|a>>>11))+((a=t+(s^(r|~i))+n[8]+1873313359&4294967295)<<6&4294967295|a>>>26))+((a=i+(r^(t|~s))+n[15]+4264355552&4294967295)<<10&4294967295|a>>>22))+((a=s+(t^(i|~r))+n[6]+2734768916&4294967295)<<15&4294967295|a>>>17))+((a=r+(i^(s|~t))+n[13]+1309151649&4294967295)<<21&4294967295|a>>>11))+((i=(t=r+((a=t+(s^(r|~i))+n[4]+4149444226&4294967295)<<6&4294967295|a>>>26))+((a=i+(r^(t|~s))+n[11]+3174756917&4294967295)<<10&4294967295|a>>>22))^((s=i+((a=s+(t^(i|~r))+n[2]+718787259&4294967295)<<15&4294967295|a>>>17))|~t))+n[9]+3951481745&4294967295,e.g[0]=e.g[0]+t&4294967295,e.g[1]=e.g[1]+(s+(a<<21&4294967295|a>>>11))&4294967295,e.g[2]=e.g[2]+s&4294967295,e.g[3]=e.g[3]+i&4294967295}function o(e,t){this.h=t;var r=[];let n=!0;for(let i=e.length-1;0<=i;i--){var s=0|e[i];n&&s==t||(r[i]=s,n=!1)}this.g=r}t=r,i=function(){this.blockSize=-1},n.prototype=i.prototype,t.F=i.prototype,t.prototype=new n,(t.prototype.constructor=t).D=function(e,t,r){for(var n=Array(arguments.length-2),s=2;s<arguments.length;s++)n[s-2]=arguments[s];return i.prototype[t].apply(e,n)},r.prototype.u=function(){this.g[0]=1732584193,this.g[1]=4023233417,this.g[2]=2562383102,this.g[3]=271733878,this.o=this.h=0},r.prototype.v=function(e,t){var r=(t=void 0===t?e.length:t)-this.blockSize,n=this.C;let s=this.h,i=0;for(;i<t;){if(0==s)for(;i<=r;)a(this,e,i),i+=this.blockSize;if("string"==typeof e){for(;i<t;)if(n[s++]=e.charCodeAt(i++),s==this.blockSize){a(this,n),s=0;break}}else for(;i<t;)if(n[s++]=e[i++],s==this.blockSize){a(this,n),s=0;break}}this.h=s,this.o+=t},r.prototype.A=function(){var t=Array((this.h<56?this.blockSize:2*this.blockSize)-this.h);t[0]=128;for(var r=1;r<t.length-8;++r)t[r]=0;for(var r=8*this.o,n=t.length-8;n<t.length;++n)t[n]=255&r,r/=256;for(this.v(t),t=Array(16),n=r=0;n<4;++n)for(let e=0;e<32;e+=8)t[r++]=this.g[n]>>>e&255;return t};var s={};function B(e){return-128<=e&&e<128?(t=e,r=function(e){return new o([0|e],e<0?-1:0)},n=s,Object.prototype.hasOwnProperty.call(n,t)?n[t]:n[t]=r(t)):new o([0|e],e<0?-1:0);var t,r,n}function u(e){if(isNaN(e)||!isFinite(e))return l;if(e<0)return f(u(-e));var t=[];let r=1;for(let n=0;e>=r;n++)t[n]=e/r|0,r*=4294967296;return new o(t,0)}var l=B(0),h=B(1),c=B(16777216);function C(t){if(0==t.h){for(let e=0;e<t.g.length;e++)if(0!=t.g[e])return;return 1}}function d(e){return-1==e.h}function f(e){var t=e.g.length,r=[];for(let n=0;n<t;n++)r[n]=~e.g[n];return new o(r,~e.h).add(h)}function g(e,t){return e.add(f(t))}function p(e,t){for(;(65535&e[t])!=e[t];)e[t+1]+=e[t]>>>16,e[t]&=65535,t++}function m(e,t){this.g=e,this.h=t}function E(e,t){if(C(t))throw Error("division by zero");if(C(e))return new m(l,l);if(d(e))return t=E(f(e),t),new m(f(t.g),f(t.h));if(d(t))return t=E(e,f(t)),new m(f(t.g),t.h);if(30<e.g.length){if(d(e)||d(t))throw Error("slowDivide_ only works with positive integers.");for(var r=h,n=t;n.l(e)<=0;)r=D(r),n=D(n);for(var s=v(r,1),i=v(n,1),n=v(n,2),r=v(r,2);!C(n);){var a=i.add(n);a.l(e)<=0&&(s=s.add(r),i=a),n=v(n,1),r=v(r,1)}return t=g(e,s.j(t)),new m(s,t)}for(s=l;0<=e.l(t);){for(r=Math.max(1,Math.floor(e.m()/t.m())),n=(n=Math.ceil(Math.log(r)/Math.LN2))<=48?1:Math.pow(2,n-48),a=(i=u(r)).j(t);d(a)||0<a.l(e);)a=(i=u(r-=n)).j(t);C(i)&&(i=h),s=s.add(i),e=g(e,a)}return new m(s,e)}function D(e){var t=e.g.length+1,r=[];for(let n=0;n<t;n++)r[n]=e.i(n)<<1|e.i(n-1)>>>31;return new o(r,e.h)}function v(e,t){var r=t>>5,n=(t%=32,e.g.length-r),s=[];for(let i=0;i<n;i++)s[i]=0<t?e.i(i+r)>>>t|e.i(i+r+1)<<32-t:e.i(i+r);return new o(s,e.h)}(e=o.prototype).m=function(){if(d(this))return-f(this).m();let e=0,t=1;for(let n=0;n<this.g.length;n++){var r=this.i(n);e+=(0<=r?r:4294967296+r)*t,t*=4294967296}return e},e.toString=function(t){if((t=t||10)<2||36<t)throw Error("radix out of range: "+t);if(C(this))return"0";if(d(this))return"-"+f(this).toString(t);var r=u(Math.pow(t,6)),n=this;let s="";for(;;){var i=E(n,r).g;let e=((0<(n=g(n,i.j(r))).g.length?n.g[0]:n.h)>>>0).toString(t);if(C(n=i))return e+s;for(;e.length<6;)e="0"+e;s=e+s}},e.i=function(e){return e<0?0:e<this.g.length?this.g[e]:this.h},e.l=function(e){return d(e=g(this,e))?-1:C(e)?0:1},e.abs=function(){return d(this)?f(this):this},e.add=function(e){var t=Math.max(this.g.length,e.g.length),r=[];let n=0;for(let a=0;a<=t;a++){var s=n+(65535&this.i(a))+(65535&e.i(a)),i=(s>>>16)+(this.i(a)>>>16)+(e.i(a)>>>16);n=i>>>16,s&=65535,i&=65535,r[a]=i<<16|s}return new o(r,-2147483648&r[r.length-1]?-1:0)},e.j=function(t){if(C(this)||C(t))return l;if(d(this))return d(t)?f(this).j(f(t)):f(f(this).j(t));if(d(t))return f(this.j(f(t)));if(this.l(c)<0&&t.l(c)<0)return u(this.m()*t.m());for(var e=this.g.length+t.g.length,r=[],n=0;n<2*e;n++)r[n]=0;for(n=0;n<this.g.length;n++)for(let e=0;e<t.g.length;e++){var s=this.i(n)>>>16,i=65535&this.i(n),a=t.i(e)>>>16,B=65535&t.i(e);r[2*n+2*e]+=i*B,p(r,2*n+2*e),r[2*n+2*e+1]+=s*B,p(r,2*n+2*e+1),r[2*n+2*e+1]+=i*a,p(r,2*n+2*e+1),r[2*n+2*e+2]+=s*a,p(r,2*n+2*e+2)}for(t=0;t<e;t++)r[t]=r[2*t+1]<<16|r[2*t];for(t=e;t<2*e;t++)r[t]=0;return new o(r,0)},e.B=function(e){return E(this,e).h},e.and=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)&e.i(n);return new o(r,this.h&e.h)},e.or=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)|e.i(n);return new o(r,this.h|e.h)},e.xor=function(e){var t=Math.max(this.g.length,e.g.length),r=[];for(let n=0;n<t;n++)r[n]=this.i(n)^e.i(n);return new o(r,this.h^e.h)},r.prototype.digest=r.prototype.A,r.prototype.reset=r.prototype.u,r.prototype.update=r.prototype.v,ae=r,o.prototype.multiply=o.prototype.j,o.prototype.modulo=o.prototype.B,o.prototype.compare=o.prototype.l,o.prototype.toNumber=o.prototype.m,o.prototype.getBits=o.prototype.i,o.fromNumber=u,o.fromString=function e(t,r){if(0==t.length)throw Error("number format error: empty string");if((r=r||10)<2||36<r)throw Error("radix out of range: "+r);if("-"==t.charAt(0))return f(e(t.substring(1),r));if(0<=t.indexOf("-"))throw Error('number format error: interior "-" character');var n=u(Math.pow(r,8));let s=l;for(let B=0;B<t.length;B+=8){var i=Math.min(8,t.length-B),a=parseInt(t.substring(B,B+i),r);s=(i<8?(i=u(Math.pow(r,i)),s.j(i)):s=s.j(n)).add(u(a))}return s},ie=o}).apply(void 0!==e?e:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{}),(em=h=h||{})[em.DEBUG=0]="DEBUG",em[em.VERBOSE=1]="VERBOSE",em[em.INFO=2]="INFO",em[em.WARN=3]="WARN",em[em.ERROR=4]="ERROR",em[em.SILENT=5]="SILENT";let Be={debug:h.DEBUG,verbose:h.VERBOSE,info:h.INFO,warn:h.WARN,error:h.ERROR,silent:h.SILENT},oe=h.INFO,ue={[h.DEBUG]:"log",[h.VERBOSE]:"log",[h.INFO]:"info",[h.WARN]:"warn",[h.ERROR]:"error"},le=(e,t,...r)=>{if(!(t<e.logLevel)){var n=(new Date).toISOString(),s=ue[t];if(!s)throw new Error(`Attempted to log a message with an invalid logType (value: ${t})`);console[s](`[${n}]  ${e.name}:`,...r)}};function he(e,t,r){"symbol"==typeof t&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:r?"".concat(r," ",t):t})}function ce(e,t,r,n){if("a"===r&&!n)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e===t&&n:t.has(e))return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e);throw new TypeError("Cannot read private member from an object whose class did not declare it")}var ir,ar,Br,or,ur,lr,hr,cr,Ce,de,fe,ge,pe,me,Ee,u,De,y,ve,Cr="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},_=(!(function(){var e,k=Object.defineProperty;var G=(e=>{e=["object"==typeof globalThis&&globalThis,e,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof Cr&&Cr];for(var t=0;t<e.length;++t){var r=e[t];if(r&&r.Math==Math)return r}throw Error("Cannot find global object")})(this);function P(e,t){if(t)e:{var r=G;e=e.split(".");for(var n=0;n<e.length-1;n++){var s=e[n];if(!(s in r))break e;r=r[s]}(t=t(n=r[e=e[e.length-1]]))!=n&&null!=t&&k(r,e,{configurable:!0,writable:!0,value:t})}}P("Symbol.dispose",function(e){return e||Symbol("Symbol.dispose")}),P("Array.prototype.values",function(e){return e||function(){return this[Symbol.iterator]()}}),P("Object.entries",function(e){return e||function(e){var t,r=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&r.push([t,e[t]]);return r}});var M=M||{},A=this||self;function V(e){var t=typeof e;return"object"==t&&null!=e||"function"==t}function H(e,t,r){return e.call.apply(e.bind,arguments)}function p(e,t,r){return(p=H).apply(null,arguments)}function U(t){var r=Array.prototype.slice.call(arguments,1);return function(){var e=r.slice();return e.push.apply(e,arguments),t.apply(this,e)}}function t(e,i){function t(){}t.prototype=i.prototype,e.Z=i.prototype,e.prototype=new t,(e.prototype.constructor=e).Ob=function(e,t,r){for(var n=Array(arguments.length-2),s=2;s<arguments.length;s++)n[s-2]=arguments[s];return i.prototype[t].apply(e,n)}}var q="undefined"!=typeof AsyncContext&&"function"==typeof AsyncContext.Snapshot?e=>e&&AsyncContext.Snapshot.wrap(e):e=>e;function J(t){var r=t.length;if(0<r){var n=Array(r);for(let e=0;e<r;e++)n[e]=t[e];return n}return[]}function K(t){for(let e=1;e<arguments.length;e++){var r=arguments[e];if("array"==(n="object"!=(n=typeof r)?n:r?Array.isArray(r)?"array":n:"null")||"object"==n&&"number"==typeof r.length){var n=t.length||0,s=r.length||0;t.length=n+s;for(let e=0;e<s;e++)t[n+e]=r[e]}else t.push(r)}}var j=new class{constructor(e,t){this.i=e,this.j=t,this.h=0,this.g=null}get(){let e;return 0<this.h?(this.h--,e=this.g,this.g=e.next,e.next=null):e=this.i(),e}}(()=>new Q,e=>e.reset());class Q{constructor(){this.next=this.g=this.h=null}set(e,t){this.h=e,this.g=t,this.next=null}reset(){this.next=this.g=this.h=null}}let r,n=!1,z=new class{constructor(){this.h=this.g=null}add(e,t){var r=j.get();r.set(e,t),this.h?this.h.next=r:this.g=r,this.h=r}},Y=()=>{let e=Promise.resolve(void 0);r=()=>{e.then(W)}};function W(){for(var e;e=(()=>{let e=z,t=null;return e.g&&(t=e.g,e.g=e.g.next,e.g||(e.h=null),t.next=null),t})();){try{e.h.call(e.g)}catch(e){(e=>{A.setTimeout(()=>{throw e},0)})(e)}var t=j;t.j(e),t.h<100&&(t.h++,e.next=t.g,t.g=e)}n=!1}function s(){this.u=this.u,this.C=this.C}function B(e,t){this.type=e,this.g=this.target=t,this.defaultPrevented=!1}s.prototype.u=!1,s.prototype.dispose=function(){this.u||(this.u=!0,this.N())},s.prototype[Symbol.dispose]=function(){this.dispose()},s.prototype.N=function(){if(this.C)for(;this.C.length;)this.C.shift()()},B.prototype.h=function(){this.defaultPrevented=!0};var X=(()=>{if(!A.addEventListener||!Object.defineProperty)return!1;var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}});try{var r=()=>{};A.addEventListener("test",r,t),A.removeEventListener("test",r,t)}catch(e){}return e})();function x(e){return/^[\s\xa0]*$/.test(e)}function i(e,t){B.call(this,e?e.type:""),this.relatedTarget=this.g=this.target=null,this.button=this.screenY=this.screenX=this.clientY=this.clientX=0,this.key="",this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1,this.state=null,this.pointerId=0,this.pointerType="",this.i=null,e&&this.init(e,t)}t(i,B),i.prototype.init=function(e,t){var r=this.type=e.type,n=e.changedTouches&&e.changedTouches.length?e.changedTouches[0]:null;this.target=e.target||e.srcElement,this.g=t,(t=e.relatedTarget)||("mouseover"==r?t=e.fromElement:"mouseout"==r&&(t=e.toElement)),this.relatedTarget=t,n?(this.clientX=void 0!==n.clientX?n.clientX:n.pageX,this.clientY=void 0!==n.clientY?n.clientY:n.pageY,this.screenX=n.screenX||0,this.screenY=n.screenY||0):(this.clientX=void 0!==e.clientX?e.clientX:e.pageX,this.clientY=void 0!==e.clientY?e.clientY:e.pageY,this.screenX=e.screenX||0,this.screenY=e.screenY||0),this.button=e.button,this.key=e.key||"",this.ctrlKey=e.ctrlKey,this.altKey=e.altKey,this.shiftKey=e.shiftKey,this.metaKey=e.metaKey,this.pointerId=e.pointerId||0,this.pointerType=e.pointerType,this.state=e.state,(this.i=e).defaultPrevented&&i.Z.h.call(this)},i.prototype.h=function(){i.Z.h.call(this);var e=this.i;e.preventDefault?e.preventDefault():e.returnValue=!1};var Z="closure_listenable_"+(1e6*Math.random()|0),$=0;function ee(e,t,r,n,s){this.listener=e,this.proxy=null,this.src=t,this.type=r,this.capture=!!n,this.ha=s,this.key=++$,this.da=this.fa=!1}function te(e){e.da=!0,e.listener=null,e.proxy=null,e.src=null,e.ha=null}function re(e,t,r){for(var n in e)t.call(r,e[n],n,e)}function ne(e){var t,r={};for(t in e)r[t]=e[t];return r}let se="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");function ie(t){let r,n;for(let s=1;s<arguments.length;s++){for(r in n=arguments[s])t[r]=n[r];for(let e=0;e<se.length;e++)r=se[e],Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}}function ae(e){this.src=e,this.g={},this.h=0}function Be(e,t){var r,n,s,i=t.type;i in e.g&&(r=e.g[i],(s=0<=(n=Array.prototype.indexOf.call(r,t,void 0)))&&Array.prototype.splice.call(r,n,1),s)&&(te(t),0==e.g[i].length)&&(delete e.g[i],e.h--)}function oe(e,t,r,n){for(let i=0;i<e.length;++i){var s=e[i];if(!s.da&&s.listener==t&&s.capture==!!r&&s.ha==n)return i}return-1}ae.prototype.add=function(e,t,r,n,s){var i=e.toString(),a=((e=this.g[i])||(e=this.g[i]=[],this.h++),oe(e,t,n,s));return-1<a?(t=e[a],r||(t.fa=!1)):((t=new ee(t,this.src,i,!!n,s)).fa=r,e.push(t)),t};var ue="closure_lm_"+(1e6*Math.random()|0),le={};function he(r,n,s,i,a){if(Array.isArray(n)){for(let e=0;e<n.length;e++)he(r,n[e],s,i,a);return null}if(s=pe(s),r&&r[Z])return r.J(n,s,!!V(i)&&!!i.capture,a);{var B=r,o=n,u=s,l=!1,h=i,c=a;if(!o)throw Error("Invalid event type");let e=V(h)?!!h.capture:!!h,t=fe(B);if(t||(B[ue]=t=new ae(B)),!(u=t.add(o,u,l,e,c)).proxy)if(l=(()=>{let r=de;return function e(t){return r.call(e.src,e.listener,t)}})(),(u.proxy=l).src=B,l.listener=u,B.addEventListener)void 0===(h=X?h:e)&&(h=!1),B.addEventListener(o.toString(),l,h);else if(B.attachEvent)B.attachEvent(Ce(o.toString()),l);else{if(!B.addListener||!B.removeListener)throw Error("addEventListener and attachEvent are unavailable.");B.addListener(l)}return u}}function ce(e){var t,r,n;"number"!=typeof e&&e&&!e.da&&((t=e.src)&&t[Z]?Be(t.i,e):(r=e.type,n=e.proxy,t.removeEventListener?t.removeEventListener(r,n,e.capture):t.detachEvent?t.detachEvent(Ce(r),n):t.addListener&&t.removeListener&&t.removeListener(n),(r=fe(t))?(Be(r,e),0==r.h&&(r.src=null,t[ue]=null)):te(e)))}function Ce(e){return e in le?le[e]:le[e]="on"+e}function de(e,t){var r,n;return e=!!e.da||(t=new i(t,this),r=e.listener,n=e.ha||e.src,e.fa&&ce(e),r.call(n,t))}function fe(e){return(e=e[ue])instanceof ae?e:null}var ge="__closure_events_fn_"+(1e9*Math.random()>>>0);function pe(t){return"function"==typeof t?t:(t[ge]||(t[ge]=function(e){return t.handleEvent(e)}),t[ge])}function a(){s.call(this),this.i=new ae(this),(this.M=this).G=null}function o(e,t){var r,n,s=e.G;if(s)for(r=[];s;s=s.G)r.push(s);e=e.M,s=t.type||t,"string"==typeof t?t=new B(t,e):t instanceof B?t.target=t.target||e:(n=t,ie(t=new B(s,e),n)),n=!0;let i,a;if(r)for(a=r.length-1;0<=a;a--)n=me(i=t.g=r[a],s,!0,t)&&n;if(n=me(i=t.g=e,s,!0,t)&&n,n=me(i,s,!1,t)&&n,r)for(a=0;a<r.length;a++)n=me(i=t.g=r[a],s,!1,t)&&n}function me(e,t,r,n){if(!(t=e.i.g[String(t)]))return!0;t=t.concat();let s=!0;for(let o=0;o<t.length;++o){var i,a,B=t[o];B&&!B.da&&B.capture==r&&(i=B.listener,a=B.ha||B.src,B.fa&&Be(e.i,B),s=!1!==i.call(a,n)&&s)}return s&&!n.defaultPrevented}function Ee(e){e.g=((e,t)=>{if("function"!=typeof e){if(!e||"function"!=typeof e.handleEvent)throw Error("Invalid listener argument");e=p(e.handleEvent,e)}return 2147483647<Number(t)?-1:A.setTimeout(e,t||0)})(()=>{e.g=null,e.i&&(e.i=!1,Ee(e))},e.l);var t=e.h;e.h=null,e.m.apply(null,t)}t(a,s),a.prototype[Z]=!0,a.prototype.removeEventListener=function(e,t,r,n){!function e(t,r,n,s,i){if(Array.isArray(r))for(var a=0;a<r.length;a++)e(t,r[a],n,s,i);else s=V(s)?!!s.capture:!!s,n=pe(n),t&&t[Z]?(t=t.i,(a=String(r).toString())in t.g&&-1<(n=oe(r=t.g[a],n,s,i))&&(te(r[n]),Array.prototype.splice.call(r,n,1),0==r.length)&&(delete t.g[a],t.h--)):(t=t&&fe(t))&&(r=t.g[r.toString()],n=(t=-1)<(t=r?oe(r,n,s,i):t)?r[t]:null)&&ce(n)}(this,e,t,r,n)},a.prototype.N=function(){if(a.Z.N.call(this),this.i){var t,r=this.i;for(t in r.g){var n=r.g[t];for(let e=0;e<n.length;e++)te(n[e]);delete r.g[t],r.h--}}this.G=null},a.prototype.J=function(e,t,r,n){return this.i.add(String(e),t,!1,r,n)},a.prototype.K=function(e,t,r,n){return this.i.add(String(e),t,!0,r,n)};class De extends s{constructor(e,t){super(),this.m=e,this.l=t,this.h=null,this.i=!1,this.g=null}j(e){this.h=arguments,this.g?this.i=!0:Ee(this)}N(){super.N(),this.g&&(A.clearTimeout(this.g),this.g=null,this.i=!1,this.h=null)}}function u(e){s.call(this),this.h=e,this.g={}}t(u,s);var ve=[];function we(e){re(e.g,function(e,t){this.g.hasOwnProperty(t)&&ce(e)},e),e.g={}}u.prototype.N=function(){u.Z.N.call(this),we(this)},u.prototype.handleEvent=function(){throw Error("EventHandler.handleEvent not implemented")};var ye=A.JSON.stringify,_e=A.JSON.parse,Ie=class{stringify(e){return A.JSON.stringify(e,void 0)}parse(e){return A.JSON.parse(e,void 0)}};function be(){}function Te(){}var Ne={OPEN:"a",hb:"b",ERROR:"c",tb:"d"};function Ae(){B.call(this,"d")}function xe(){B.call(this,"c")}t(Ae,B),t(xe,B);var l={},Fe=null;function Se(){return Fe=Fe||new a}function Oe(e){B.call(this,l.Ia,e)}function Le(){var e=Se();o(e,new Oe(e))}function Re(e,t){B.call(this,l.STAT_EVENT,e),this.stat=t}function F(e){var t=Se();o(t,new Re(t,e))}function ke(e,t){B.call(this,l.Ja,e),this.size=t}function m(e,t){if("function"!=typeof e)throw Error("Fn must not be null and must be a function");return A.setTimeout(function(){e()},t)}function h(){this.g=!0}function S(e,t,r,n){e.info(function(){return"XMLHTTP TEXT ("+t+"): "+((e,t)=>{if(!e.g)return t;if(!t)return null;try{var r=JSON.parse(t);if(r)for(e=0;e<r.length;e++)if(Array.isArray(r[e])){var n=r[e];if(!(n.length<2)){var s=n[1];if(Array.isArray(s)&&!(s.length<1)){var i=s[0];if("noop"!=i&&"stop"!=i&&"close"!=i)for(let e=1;e<s.length;e++)s[e]=""}}}return ye(r)}catch(e){return t}})(e,r)+(n?" "+n:"")})}l.Ia="serverreachability",t(Oe,B),l.STAT_EVENT="statevent",t(Re,B),l.Ja="timingevent",t(ke,B),h.prototype.ua=function(){this.g=!1},h.prototype.info=function(){};var Ge={NO_ERROR:0,cb:1,qb:2,pb:3,kb:4,ob:5,rb:6,Ga:7,TIMEOUT:8,ub:9},Pe={ib:"complete",Fb:"success",ERROR:"error",Ga:"abort",xb:"ready",yb:"readystatechange",TIMEOUT:"timeout",sb:"incrementaldata",wb:"progress",lb:"downloadprogress",Nb:"uploadprogress"};function Me(){}function c(e){return encodeURIComponent(String(e))}function C(e,t,r,n){this.j=e,this.i=t,this.l=r,this.S=n||1,this.V=new u(this),this.H=45e3,this.J=null,this.o=!1,this.u=this.B=this.A=this.M=this.F=this.T=this.D=null,this.G=[],this.g=null,this.C=0,this.m=this.v=null,this.X=-1,this.K=!1,this.P=0,this.O=null,this.W=this.L=this.U=this.R=!1,this.h=new Ve}function Ve(){this.i=null,this.g="",this.h=!1}t(Me,be),Me.prototype.g=function(){return new XMLHttpRequest};var He=new Me,Ue={},qe={};function Je(e,t,r){e.M=1,e.A=Bt(f(t)),e.u=r,e.R=!0,Ke(e,null)}function Ke(e,t){e.F=Date.now(),Qe(e),e.B=f(e.A);var a,B,o,u,l,h,r=e.B,n=e.S,s=(Array.isArray(n)||(n=[String(n)]),Et(r.i,"t",n),e.C=0,r=e.j.L,e.h=new Ve,e.g=er(e.j,r?t:null,!e.u),0<e.P&&(e.O=new De(p(e.Y,e,e.g),e.P)),t=e.V,r=e.g,n=e.ba,"readystatechange");Array.isArray(s)||(s&&(ve[0]=s.toString()),s=ve);for(let c=0;c<s.length;c++){var i=he(r,s[c],n||t.handleEvent,!1,t.h||t);if(!i)break;t.g[i.key]=i}t=e.J?ne(e.J):{},e.u?(e.v||(e.v="POST"),t["Content-Type"]="application/x-www-form-urlencoded",e.g.ea(e.B,e.v,e.u,t)):(e.v="GET",e.g.ea(e.B,e.v,null,t)),Le(),a=e.i,B=e.v,o=e.B,u=e.l,l=e.S,h=e.u,a.info(function(){if(a.g)if(h){var t="",r=h.split("&");for(let e=0;e<r.length;e++){var n,s,i=r[e].split("=");1<i.length&&(n=i[0],i=i[1],t=2<=(s=n.split("_")).length&&"type"==s[1]?t+(n+"=")+i+"&":t+(n+"=redacted&"))}}else t=null;else t=h;return"XMLHTTP REQ ("+u+") [attempt "+l+"]: "+B+"\n"+o+"\n"+t})}function je(e){return e.g&&"GET"==e.v&&2!=e.M&&e.j.Aa}function Qe(e){e.T=Date.now()+e.H,ze(e,e.H)}function ze(e,t){if(null!=e.D)throw Error("WatchDog timer not null");e.D=m(p(e.aa,e),t)}function Ye(e){e.D&&(A.clearTimeout(e.D),e.D=null)}function O(e){0==e.j.I||e.K||Wt(e.j,e)}function L(e){Ye(e);var t=e.O;t&&"function"==typeof t.dispose&&t.dispose(),e.O=null,we(e.V),e.g&&(t=e.g,e.g=null,t.abort(),t.dispose())}function We(e,t){try{var r=e.j;if(0!=r.I&&(r.g==e||tt(r.h,e)))if(!e.L&&tt(r.h,e)&&3==r.I){try{var n=r.Ba.g.parse(t)}catch(e){n=null}if(Array.isArray(n)&&3==n.length){var s=n;if(0==s[0]){e:if(!r.v){if(r.g){if(!(r.g.F+3e3<e.F))break e;Yt(r),Mt(r)}jt(r),F(18)}}else r.xa=s[1],0<r.xa-r.K&&s[2]<37500&&r.F&&0==r.A&&!r.C&&(r.C=m(p(r.Va,r),6e3));et(r.h)<=1&&r.ta&&(r.ta=void 0)}else b(r,11)}else if(!e.L&&r.g!=e||Yt(r),!x(t))for(s=r.Ba.g.parse(t),t=0;t<s.length;t++){var i,a,B,o,u,l,h,c,C,d,f=s[t],g=f[0];g<=r.K||(r.K=g,f=f[1],2==r.I?"c"==f[0]?(r.M=f[1],r.ba=f[2],null!=(i=f[3])&&(r.ka=i,r.j.info("VER="+r.ka)),null!=(a=f[4])&&(r.za=a,r.j.info("SVER="+r.za)),null!=(B=f[5])&&"number"==typeof B&&0<B&&(n=1.5*B,r.O=n,r.j.info("backChannelRequestTimeoutMs_="+n)),n=r,(o=e.g)&&(!(u=o.g?o.g.getResponseHeader("X-Client-Wire-Protocol"):null)||(l=n.h).g||-1==u.indexOf("spdy")&&-1==u.indexOf("quic")&&-1==u.indexOf("h2")||(l.j=l.l,l.g=new Set,l.h&&(rt(l,l.h),l.h=null)),n.G)&&(h=o.g?o.g.getResponseHeader("X-HTTP-Session-Id"):null)&&(n.wa=h,D(n.J,n.G,h)),r.I=3,r.l&&r.l.ra(),r.aa&&(r.T=Date.now()-e.F,r.j.info("Handshake RTT: "+r.T+"ms")),c=e,(n=r).na=$t(n,n.L?n.ba:null,n.W),c.L?(nt(n.h,c),C=c,(d=n.O)&&(C.H=d),C.D&&(Ye(C),Qe(C)),n.g=c):Kt(n),0<r.i.length&&Ht(r)):"stop"!=f[0]&&"close"!=f[0]||b(r,7):3==r.I&&("stop"==f[0]||"close"==f[0]?"stop"==f[0]?b(r,7):Pt(r):"noop"!=f[0]&&r.l&&r.l.qa(f),r.A=0))}Le()}catch(e){}}C.prototype.ba=function(e){e=e.target;var t=this.O;t&&3==R(e)?t.j():this.Y(e)},C.prototype.Y=function(e){try{if(e==this.g)e:{var t=R(this.g),r=this.g.ya();this.g.ca();if(!(t<3)&&(3!=t||this.g&&(this.h.h||this.g.la()||Rt(this.g)))){this.K||4!=t||7==r||Le(),Ye(this);var n,s,i=this.g.ca(),a=(this.X=i,(e=>{if(!je(e))return e.g.la();var t=Rt(e.g);if(""===t)return"";let r="",n=t.length,s=4==R(e.g);if(!e.h.i){if("undefined"==typeof TextDecoder)return L(e),O(e),"";e.h.i=new A.TextDecoder}for(let i=0;i<n;i++)e.h.h=!0,r+=e.h.i.decode(t[i],{stream:!(s&&i==n-1)});return t.length=0,e.h.g+=r,e.C=0,e.h.g})(this));if(this.o=200==i,w=this.i,y=this.v,_=this.B,I=this.l,b=this.S,T=t,N=i,w.info(function(){return"XMLHTTP RESP ("+I+") [ attempt "+b+"]: "+y+"\n"+_+"\n"+T+" "+N}),this.o){if(this.U&&!this.L){t:{if(this.g){var B,o=this.g;if((B=o.g?o.g.getResponseHeader("X-HTTP-Initial-Response"):null)&&!x(B)){var u=B;break t}}u=null}if(!(e=u)){this.o=!1,this.m=3,F(12),L(this),O(this);break e}S(this.i,this.l,e,"Initial handshake response via X-HTTP-Initial-Response"),this.L=!0,We(this,e)}if(this.R){for(e=!0;!this.K&&this.C<a.length;){if(E=a,v=D=void 0,D=(m=this).C,(n=-1==(v=E.indexOf("\n",D))?qe:(D=Number(E.substring(D,v)),isNaN(D)?Ue:(v+=1)+D>E.length?qe:(E=E.slice(v,v+D),m.C=v+D,E)))==qe){4==t&&(this.m=4,F(14),e=!1),S(this.i,this.l,null,"[Incomplete Response]");break}if(n==Ue){this.m=4,F(15),S(this.i,this.l,a,"[Invalid Chunk]"),e=!1;break}S(this.i,this.l,n,null),We(this,n)}je(this)&&0!=this.C&&(this.h.g=this.h.g.slice(this.C),this.C=0),4!=t||0!=a.length||this.h.h||(this.m=1,F(16),e=!1),this.o=this.o&&e,e?0<a.length&&!this.W&&(this.W=!0,(s=this.j).g==this)&&s.aa&&!s.P&&(s.j.info("Great, no buffering proxy detected. Bytes received: "+a.length),Qt(s),s.P=!0,F(11)):(S(this.i,this.l,a,"[Invalid Chunked Response]"),L(this),O(this))}else S(this.i,this.l,a,null),We(this,a);4==t&&L(this),this.o&&!this.K&&(4==t?Wt(this.j,this):(this.o=!1,Qe(this)))}else{{var l=this.g;var h,c,C,d={};l=(l.g&&2<=R(l)&&l.g.getAllResponseHeaders()||"").split("\r\n");for(let e=0;e<l.length;e++)x(l[e])||(h=(e=>{for(var t=1,r=(e=e.split(":"),[]);0<t&&e.length;)r.push(e.shift()),t--;return e.length&&r.push(e.join(":")),r})(l[e]),c=h[0],"string"==typeof(h=h[1])&&(h=h.trim(),C=d[c]||[],(d[c]=C).push(h)));var f,g=d,p=function(e){return e.join(", ")};for(f in g)p.call(void 0,g[f],f,g)}400==i&&0<a.indexOf("Unknown SID")?(this.m=3,F(12)):(this.m=0,F(13)),L(this),O(this)}}}}catch(e){}var m,E,D,v,w,y,_,I,b,T,N},C.prototype.cancel=function(){this.K=!0,L(this)},C.prototype.aa=function(){this.D=null;var e,t,r=Date.now();0<=r-this.T?(e=this.i,t=this.B,e.info(function(){return"TIMEOUT: "+t}),2!=this.M&&(Le(),F(17)),L(this),this.m=2,O(this)):ze(this,this.T-r)};var Xe=class{constructor(e,t){this.g=e,this.map=t}};function Ze(e){this.l=e||10,e=A.PerformanceNavigationTiming?0<(e=A.performance.getEntriesByType("navigation")).length&&("hq"==e[0].nextHopProtocol||"h2"==e[0].nextHopProtocol):!!(A.chrome&&A.chrome.loadTimes&&A.chrome.loadTimes()&&A.chrome.loadTimes().wasFetchedViaSpdy),this.j=e?this.l:1,this.g=null,1<this.j&&(this.g=new Set),this.h=null,this.i=[]}function $e(e){return e.h||e.g&&e.g.size>=e.j}function et(e){return e.h?1:e.g?e.g.size:0}function tt(e,t){return e.h?e.h==t:e.g&&e.g.has(t)}function rt(e,t){e.g?e.g.add(t):e.h=t}function nt(e,t){e.h&&e.h==t?e.h=null:e.g&&e.g.has(t)&&e.g.delete(t)}function st(t){if(null!=t.h)return t.i.concat(t.h.G);if(null==t.g||0===t.g.size)return J(t.i);{let e=t.i;for(var r of t.g.values())e=e.concat(r.G);return e}}Ze.prototype.cancel=function(){if(this.i=st(this),this.h)this.h.cancel(),this.h=null;else if(this.g&&0!==this.g.size){for(var e of this.g.values())e.cancel();this.g.clear()}};var it=RegExp("^(?:([^:/?#.]+):)?(?://(?:([^\\\\/?#]*)@)?([^\\\\/?#]*?)(?::([0-9]+))?(?=[\\\\/?#]|$))?([^?#]+)?(?:\\?([^#]*))?(?:#([\\s\\S]*))?$");function d(e){this.g=this.o=this.j="",this.u=null,this.m=this.h="",this.l=!1;let t;e instanceof d?(this.l=e.l,g(this,e.j),this.o=e.o,this.g=e.g,E(this,e.u),this.h=e.h,at(this,Dt(e.i)),this.m=e.m):e&&(t=String(e).match(it))?(this.l=!1,g(this,t[1]||"",!0),this.o=v(t[2]||""),this.g=v(t[3]||"",!0),E(this,t[4]),this.h=v(t[5]||"",!0),at(this,t[6]||"",!0),this.m=v(t[7]||"")):(this.l=!1,this.i=new ft(null,this.l))}function f(e){return new d(e)}function g(e,t,r){e.j=r?v(t,!0):t,e.j&&(e.j=e.j.replace(/:$/,""))}function E(e,t){if(t){if(t=Number(t),isNaN(t)||t<0)throw Error("Bad port number "+t);e.u=t}else e.u=null}function at(e,t,r){var n,s;t instanceof ft?(e.i=t,n=e.i,(s=e.l)&&!n.j&&(w(n),n.i=null,n.g.forEach(function(e,t){var r=t.toLowerCase();t!=r&&(gt(this,t),Et(this,r,e))},n)),n.j=s):(r||(t=ot(t,Ct)),e.i=new ft(t,e.l))}function D(e,t,r){e.i.set(t,r)}function Bt(e){return D(e,"zx",Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^Date.now()).toString(36)),e}function v(e,t){return e?t?decodeURI(e.replace(/%25/g,"%2525")):decodeURIComponent(e):""}function ot(e,t,r){return"string"==typeof e?(e=encodeURI(e).replace(t,ut),e=r?e.replace(/%25([0-9a-fA-F]{2})/g,"%$1"):e):null}function ut(e){return"%"+((e=e.charCodeAt(0))>>4&15).toString(16)+(15&e).toString(16)}d.prototype.toString=function(){var e=[],t=this.j,r=(t&&e.push(ot(t,lt,!0),":"),this.g);return!r&&"file"!=t||(e.push("//"),(t=this.o)&&e.push(ot(t,lt,!0),"@"),e.push(c(r).replace(/%25([0-9a-fA-F]{2})/g,"%$1")),null==(r=this.u))||e.push(":",String(r)),(r=this.h)&&(this.g&&"/"!=r.charAt(0)&&e.push("/"),e.push(ot(r,"/"==r.charAt(0)?ct:ht,!0))),(r=this.i.toString())&&e.push("?",r),(r=this.m)&&e.push("#",ot(r,dt)),e.join("")},d.prototype.resolve=function(e){var t=f(this);let r=!!e.j;r?g(t,e.j):r=!!e.o,r?t.o=e.o:r=!!e.g,r?t.g=e.g:r=null!=e.u;var n=e.h;if(r)E(t,e.u);else if(r=!!e.h)if("/"!=n.charAt(0)&&(this.g&&!this.h?n="/"+n:-1!=(s=t.h.lastIndexOf("/"))&&(n=t.h.slice(0,s+1)+n)),".."==(s=n)||"."==s)n="";else if(-1!=s.indexOf("./")||-1!=s.indexOf("/.")){var n=0==s.lastIndexOf("/",0),s=s.split("/"),i=[];for(let e=0;e<s.length;){var a=s[e++];"."==a?n&&e==s.length&&i.push(""):".."==a?((1<i.length||1==i.length&&""!=i[0])&&i.pop(),n&&e==s.length&&i.push("")):(i.push(a),n=!0)}n=i.join("/")}else n=s;return r?t.h=n:r=""!==e.i.toString(),r?at(t,Dt(e.i)):r=!!e.m,r&&(t.m=e.m),t};var lt=/[#\/\?@]/g,ht=/[#\?:]/g,ct=/[#\?]/g,Ct=/[#\?@]/g,dt=/#/g;function ft(e,t){this.h=this.g=null,this.i=e||null,this.j=!!t}function w(r){if(!r.g&&(r.g=new Map,r.h=0,r.i)){var n=r.i,s=function(e,t){r.add(decodeURIComponent(e.replace(/\+/g," ")),t)};if(n){n=n.split("&");for(let r=0;r<n.length;r++){var i=n[r].indexOf("=");let e,t=null;0<=i?(e=n[r].substring(0,i),t=n[r].substring(i+1)):e=n[r],s(e,t?decodeURIComponent(t.replace(/\+/g," ")):"")}}}}function gt(e,t){w(e),t=y(e,t),e.g.has(t)&&(e.i=null,e.h-=e.g.get(t).length,e.g.delete(t))}function pt(e,t){return w(e),t=y(e,t),e.g.has(t)}function mt(e,t){w(e);let r=[];if("string"==typeof t)pt(e,t)&&(r=r.concat(e.g.get(y(e,t))));else for(e=Array.from(e.g.values()),t=0;t<e.length;t++)r=r.concat(e[t]);return r}function Et(e,t,r){gt(e,t),0<r.length&&(e.i=null,e.g.set(y(e,t),J(r)),e.h+=r.length)}function Dt(e){var t=new ft;return t.i=e.i,e.g&&(t.g=new Map(e.g),t.h=e.h),t}function y(e,t){return t=String(t),t=e.j?t.toLowerCase():t}function _(e,t,r,n,s){try{s&&(s.onload=null,s.onerror=null,s.onabort=null,s.ontimeout=null),n(r)}catch(e){}}function vt(){this.g=new Ie}function wt(e){this.i=e.Sb||null,this.h=e.ab||!1}function yt(e,t){a.call(this),this.H=e,this.o=t,this.m=void 0,this.status=this.readyState=0,this.responseType=this.responseText=this.response=this.statusText="",this.onreadystatechange=null,this.A=new Headers,this.h=null,this.F="GET",this.D="",this.g=!1,this.B=this.j=this.l=null,this.v=new AbortController}function _t(e){e.j.read().then(e.Ma.bind(e)).catch(e.ga.bind(e))}function It(e){e.readyState=4,e.l=null,e.j=null,e.B=null,bt(e)}function bt(e){e.onreadystatechange&&e.onreadystatechange.call(e)}function Tt(e){let r="";return re(e,function(e,t){r=(r=r+t+":")+e+"\r\n"}),r}function Nt(e,t,r){e:{for(n in r){var n=!1;break e}n=!0}n||(r=Tt(r),"string"==typeof e?null!=r&&c(r):D(e,t,r))}function I(e){a.call(this),this.headers=new Map,this.L=e||null,this.h=!1,this.g=null,this.D="",this.o=0,this.l="",this.j=this.B=this.v=this.A=!1,this.m=null,this.F="",this.H=!1}(e=ft.prototype).add=function(e,t){w(this),this.i=null,e=y(this,e);let r=this.g.get(e);return r||this.g.set(e,r=[]),r.push(t),this.h+=1,this},e.forEach=function(r,n){w(this),this.g.forEach(function(e,t){e.forEach(function(e){r.call(n,e,t,this)},this)},this)},e.set=function(e,t){return w(this),this.i=null,pt(this,e=y(this,e))&&(this.h-=this.g.get(e).length),this.g.set(e,[t]),this.h+=1,this},e.get=function(e,t){return e&&0<(e=mt(this,e)).length?String(e[0]):t},e.toString=function(){if(this.i)return this.i;if(!this.g)return"";var r=[],e=Array.from(this.g.keys());for(let i=0;i<e.length;i++){var n=c(s=e[i]),s=mt(this,s);for(let t=0;t<s.length;t++){let e=n;""!==s[t]&&(e+="="+c(s[t])),r.push(e)}}return this.i=r.join("&")},t(wt,be),wt.prototype.g=function(){return new yt(this.i,this.h)},t(yt,a),(e=yt.prototype).open=function(e,t){if(0!=this.readyState)throw this.abort(),Error("Error reopening a connection");this.F=e,this.D=t,this.readyState=1,bt(this)},e.send=function(e){if(1!=this.readyState)throw this.abort(),Error("need to call open() first. ");if(this.v.signal.aborted)throw this.abort(),Error("Request was aborted.");this.g=!0;var t={headers:this.A,method:this.F,credentials:this.m,cache:void 0,signal:this.v.signal};e&&(t.body=e),(this.H||A).fetch(new Request(this.D,t)).then(this.Pa.bind(this),this.ga.bind(this))},e.abort=function(){this.response=this.responseText="",this.A=new Headers,this.status=0,this.v.abort(),this.j&&this.j.cancel("Request was aborted.").catch(()=>{}),1<=this.readyState&&this.g&&4!=this.readyState&&(this.g=!1,It(this)),this.readyState=0},e.Pa=function(e){if(this.g&&(this.l=e,this.h||(this.status=this.l.status,this.statusText=this.l.statusText,this.h=e.headers,this.readyState=2,bt(this)),this.g)&&(this.readyState=3,bt(this),this.g))if("arraybuffer"===this.responseType)e.arrayBuffer().then(this.Na.bind(this),this.ga.bind(this));else if(void 0!==A.ReadableStream&&"body"in e){if(this.j=e.body.getReader(),this.o){if(this.responseType)throw Error('responseType must be empty for "streamBinaryChunks" mode responses.');this.response=[]}else this.response=this.responseText="",this.B=new TextDecoder;_t(this)}else e.text().then(this.Oa.bind(this),this.ga.bind(this))},e.Ma=function(e){var t;this.g&&(this.o&&e.value?this.response.push(e.value):!this.o&&(t=e.value||new Uint8Array(0),t=this.B.decode(t,{stream:!e.done}))&&(this.response=this.responseText+=t),(e.done?It:bt)(this),3==this.readyState)&&_t(this)},e.Oa=function(e){this.g&&(this.response=this.responseText=e,It(this))},e.Na=function(e){this.g&&(this.response=e,It(this))},e.ga=function(){this.g&&It(this)},e.setRequestHeader=function(e,t){this.A.append(e,t)},e.getResponseHeader=function(e){return this.h&&this.h.get(e.toLowerCase())||""},e.getAllResponseHeaders=function(){if(!this.h)return"";for(var e=[],t=this.h.entries(),r=t.next();!r.done;)r=r.value,e.push(r[0]+": "+r[1]),r=t.next();return e.join("\r\n")},Object.defineProperty(yt.prototype,"withCredentials",{get:function(){return"include"===this.m},set:function(e){this.m=e?"include":"same-origin"}}),t(I,a);var At=/^https?$/i,xt=["POST","PUT"];function Ft(e,t){e.h=!1,e.g&&(e.j=!0,e.g.abort(),e.j=!1),e.l=t,e.o=5,St(e),Lt(e)}function St(e){e.A||(e.A=!0,o(e,"complete"),o(e,"error"))}function Ot(t){if(t.h&&void 0!==M)if(t.v&&4==R(t))setTimeout(t.Ca.bind(t),0);else if(o(t,"readystatechange"),4==R(t)){t.h=!1;try{var e,r,n=t.ca();switch(n){case 200:case 201:case 202:case 204:case 206:case 304:case 1223:var s=!0;break;default:s=!1}if(!(e=s)){if(r=0===n){let e=String(t.D).match(it)[1]||null;!e&&A.self&&A.self.location&&(e=A.self.location.protocol.slice(0,-1)),r=!At.test(e?e.toLowerCase():"")}e=r}if(e)o(t,"complete"),o(t,"success");else{t.o=6;try{var i=2<R(t)?t.g.statusText:""}catch(e){i=""}t.l=i+" ["+t.ca()+"]",St(t)}}finally{Lt(t)}}}function Lt(e,t){if(e.g){e.m&&(clearTimeout(e.m),e.m=null);var r=e.g;e.g=null,t||o(e,"ready");try{r.onreadystatechange=null}catch(e){}}}function R(e){return e.g?e.g.readyState:0}function Rt(e){try{if(e.g){if("response"in e.g)return e.g.response;switch(e.F){case"":case"text":return e.g.responseText;case"arraybuffer":if("mozResponseArrayBuffer"in e.g)return e.g.mozResponseArrayBuffer}}return null}catch(e){return null}}function kt(e,t,r){return r&&r.internalChannelParams&&r.internalChannelParams[e]||t}function Gt(e){this.za=0,this.i=[],this.j=new h,this.ba=this.na=this.J=this.W=this.g=this.wa=this.G=this.H=this.u=this.U=this.o=null,this.Ya=this.V=0,this.Sa=kt("failFast",!1,e),this.F=this.C=this.v=this.m=this.l=null,this.X=!0,this.xa=this.K=-1,this.Y=this.A=this.D=0,this.Qa=kt("baseRetryDelayMs",5e3,e),this.Za=kt("retryDelaySeedMs",1e4,e),this.Ta=kt("forwardChannelMaxRetries",2,e),this.va=kt("forwardChannelRequestTimeoutMs",2e4,e),this.ma=e&&e.xmlHttpFactory||void 0,this.Ua=e&&e.Rb||void 0,this.Aa=e&&e.useFetchStreams||!1,this.O=void 0,this.L=e&&e.supportsCrossDomainXhr||!1,this.M="",this.h=new Ze(e&&e.concurrentRequestLimit),this.Ba=new vt,this.S=e&&e.fastHandshake||!1,this.R=e&&e.encodeInitMessageHeaders||!1,this.S&&this.R&&(this.R=!1),this.Ra=e&&e.Pb||!1,e&&e.ua&&this.j.ua(),e&&e.forceLongPolling&&(this.X=!1),this.aa=!this.S&&this.X&&e&&e.detectBufferingProxy||!1,this.ia=void 0,e&&e.longPollingTimeout&&0<e.longPollingTimeout&&(this.ia=e.longPollingTimeout),this.ta=void 0,this.T=0,this.P=!1,this.ja=this.B=null}function Pt(e){if(Vt(e),3==e.I){var t=e.V++,r=f(e.J);if(D(r,"SID",e.M),D(r,"RID",t),D(r,"TYPE","terminate"),qt(e,r),(t=new C(e,e.j,t)).M=2,t.A=Bt(f(r)),r=!1,A.navigator&&A.navigator.sendBeacon)try{r=A.navigator.sendBeacon(t.A.toString(),"")}catch(e){}!r&&A.Image&&((new Image).src=t.A,r=!0),r||(t.g=er(t.j,null),t.g.ea(t.A)),t.F=Date.now(),Qe(t)}Zt(e)}function Mt(e){e.g&&(Qt(e),e.g.cancel(),e.g=null)}function Vt(e){Mt(e),e.v&&(A.clearTimeout(e.v),e.v=null),Yt(e),e.h.cancel(),e.m&&("number"==typeof e.m&&A.clearTimeout(e.m),e.m=null)}function Ht(e){var t;$e(e.h)||e.m||(e.m=!0,t=e.Ea,r||Y(),n||(r(),n=!0),z.add(t,e),e.D=0)}function Ut(e,t){var r=t?t.l:e.V++,n=f(e.J);D(n,"SID",e.M),D(n,"RID",r),D(n,"AID",e.K),qt(e,n),e.u&&e.o&&Nt(n,e.u,e.o),r=new C(e,e.j,r,e.D+1),null===e.u&&(r.J=e.o),t&&(e.i=t.G.concat(e.i)),t=Jt(e,r,1e3),r.H=Math.round(.5*e.va)+Math.round(.5*e.va*Math.random()),rt(e.h,r),Je(r,n,t)}function qt(e,r){e.H&&re(e.H,function(e,t){D(r,t,e)}),e.l&&re({},function(e,t){D(r,t,e)})}function Jt(e,t,s){s=Math.min(e.i.length,s);var i=e.l?p(e.l.Ka,e.l,e):null;e:{let r=e.i,n=-1;for(;;){var a=["count="+s];-1==n?0<s?(n=r[0].g,a.push("ofs="+n)):n=0:a.push("ofs="+n);let e=!0;for(let t=0;t<s;t++){var B=r[t].g,o=r[t].map;if((B-=n)<0)n=Math.max(0,r[t].g-100),e=!1;else try{B="req"+B+"_"||"";try{var u,l,h=o instanceof Map?o:Object.entries(o);for([u,l]of h){let e=l;V(l)&&(e=ye(l)),a.push(B+u+"="+encodeURIComponent(e))}}catch(e){throw a.push(B+"type="+encodeURIComponent("_badmap")),e}}catch(e){i&&i(o)}}if(e){h=a.join("&");break e}}h=void 0}return e=e.i.splice(0,s),t.G=e,h}function Kt(e){var t;e.g||e.v||(e.Y=1,t=e.Da,r||Y(),n||(r(),n=!0),z.add(t,e),e.A=0)}function jt(e){return!(e.g||e.v||3<=e.A)&&(e.Y++,e.v=m(p(e.Da,e),Xt(e,e.A)),e.A++,1)}function Qt(e){null!=e.B&&(A.clearTimeout(e.B),e.B=null)}function zt(e){e.g=new C(e,e.j,"rpc",e.Y),null===e.u&&(e.g.J=e.o),e.g.P=0;var t=f(e.na),r=(D(t,"RID","rpc"),D(t,"SID",e.M),D(t,"AID",e.K),D(t,"CI",e.F?"0":"1"),!e.F&&e.ia&&D(t,"TO",e.ia),D(t,"TYPE","xmlhttp"),qt(e,t),e.u&&e.o&&Nt(t,e.u,e.o),e.O&&(e.g.H=e.O),e.g);e=e.ba,r.M=1,r.A=Bt(f(t)),r.u=null,r.R=!0,Ke(r,e)}function Yt(e){null!=e.C&&(A.clearTimeout(e.C),e.C=null)}function Wt(e,t){var r,n,s,i=null;if(e.g==t){Yt(e),Qt(e),e.g=null;var a=2}else{if(!tt(e.h,t))return;i=t.G,nt(e.h,t),a=1}if(0!=e.I)if(t.o)(1==a?(i=t.u?t.u.length:0,t=Date.now()-t.F,r=e.D,o(a=Se(),new ke(a,i)),Ht):Kt)(e);else if(3==(r=t.m)||0==r&&0<t.X||(1!=a||(s=t,et((n=e).h)>=n.h.j-(n.m?1:0))||(n.m?(n.i=s.G.concat(n.i),0):1==n.I||2==n.I||n.D>=(n.Sa?0:n.Ta)||(n.m=m(p(n.Ea,n,s),Xt(n,n.D)),n.D++,0)))&&(2!=a||!jt(e)))switch(i&&0<i.length&&(t=e.h,t.i=t.i.concat(i)),r){case 1:b(e,5);break;case 4:b(e,10);break;case 3:b(e,6);break;default:b(e,2)}}function Xt(e,t){let r=e.Qa+Math.floor(Math.random()*e.Za);return e.isActive()||(r*=2),r*t}function b(e,t){var r,n,s;e.j.info("Error code "+t),2==t?(r=p(e.bb,e),n=!(s=e.Ua),s=new d(s||"//www.google.com/images/cleardot.gif"),A.location&&"http"==A.location.protocol||g(s,"https"),Bt(s),(n?(t,r)=>{var n=new h;if(A.Image){let e=new Image;e.onload=U(_,n,"TestLoadImage: loaded",!0,r,e),e.onerror=U(_,n,"TestLoadImage: error",!1,r,e),e.onabort=U(_,n,"TestLoadImage: abort",!1,r,e),e.ontimeout=U(_,n,"TestLoadImage: timeout",!1,r,e),A.setTimeout(function(){e.ontimeout&&e.ontimeout()},1e4),e.src=t}else r(!1)}:(e,t)=>{let r=new h,n=new AbortController,s=setTimeout(()=>{n.abort(),_(r,0,!1,t)},1e4);fetch(e,{signal:n.signal}).then(e=>{clearTimeout(s),e.ok?_(r,0,!0,t):_(r,0,!1,t)}).catch(()=>{clearTimeout(s),_(r,0,!1,t)})})(s.toString(),r)):F(2),e.I=0,e.l&&e.l.pa(t),Zt(e),Vt(e)}function Zt(e){var t;e.I=0,e.ja=[],e.l&&(0==(t=st(e.h)).length&&0==e.i.length||(K(e.ja,t),K(e.ja,e.i),e.h.i.length=0,J(e.i),e.i.length=0),e.l.oa())}function $t(e,t,r){var n,s,i=r instanceof d?f(r):new d(r);return""!=i.g?(t&&(i.g=t+"."+i.g),E(i,i.u)):(i=(n=A.location).protocol,t=t?t+"."+n.hostname:n.hostname,n=+n.port,s=new d(null),i&&g(s,i),t&&(s.g=t),n&&E(s,n),r&&(s.h=r),i=s),r=e.G,t=e.wa,r&&t&&D(i,r,t),D(i,"VER",e.ka),qt(e,i),i}function er(e,t,r){if(t&&!e.L)throw Error("Can't create secondary domain capable XhrIo object.");return(t=e.Aa&&!e.ma?new I(new wt({ab:r})):new I(e.ma)).Fa(e.L),t}function tr(){}function rr(){}function T(e,t){a.call(this),this.g=new Gt(t),this.l=e,this.h=t&&t.messageUrlParams||null,e=t&&t.messageHeaders||null,t&&t.clientProtocolHeaderRequired&&(e?e["X-Client-Protocol"]="webchannel":e={"X-Client-Protocol":"webchannel"}),this.g.o=e,e=t&&t.initMessageHeaders||null,t&&t.messageContentType&&(e?e["X-WebChannel-Content-Type"]=t.messageContentType:e={"X-WebChannel-Content-Type":t.messageContentType}),t&&t.sa&&(e?e["X-WebChannel-Client-Profile"]=t.sa:e={"X-WebChannel-Client-Profile":t.sa}),this.g.U=e,(e=t&&t.Qb)&&!x(e)&&(this.g.u=e),this.A=t&&t.supportsCrossDomainXhr||!1,this.v=t&&t.sendRawJson||!1,(t=t&&t.httpSessionIdParam)&&!x(t)&&(this.g.G=t,null!==(e=this.h))&&t in e&&t in(e=this.h)&&delete e[t],this.j=new N(this)}function nr(e){Ae.call(this),e.__headers__&&(this.headers=e.__headers__,this.statusCode=e.__status__,delete e.__headers__,delete e.__status__);var t=e.__sm__;if(t){e:{for(var r in t){e=r;break e}e=void 0}(this.i=e)&&(e=this.i,t=null!==t&&e in t?t[e]:void 0),this.data=t}else this.data=e}function sr(){xe.call(this),this.status=1}function N(e){this.g=e}(e=I.prototype).Fa=function(e){this.H=e},e.ea=function(e,t,r,n){if(this.g)throw Error("[goog.net.XhrIo] Object is active with another request="+this.D+"; newUri="+e);t=t?t.toUpperCase():"GET",this.D=e,this.l="",this.o=0,this.A=!1,this.h=!0,this.g=(this.L||He).g(),this.g.onreadystatechange=q(p(this.Ca,this));try{this.B=!0,this.g.open(t,String(e),!0),this.B=!1}catch(e){return void Ft(this,e)}if(e=r||"",r=new Map(this.headers),n)if(Object.getPrototypeOf(n)===Object.prototype)for(var s in n)r.set(s,n[s]);else{if("function"!=typeof n.keys||"function"!=typeof n.get)throw Error("Unknown input type for opt_headers: "+String(n));for(var i of n.keys())r.set(i,n.get(i))}n=Array.from(r.keys()).find(e=>"content-type"==e.toLowerCase()),s=A.FormData&&e instanceof A.FormData,0<=Array.prototype.indexOf.call(xt,t,void 0)&&!n&&!s&&r.set("Content-Type","application/x-www-form-urlencoded;charset=utf-8");for(var[a,B]of r)this.g.setRequestHeader(a,B);this.F&&(this.g.responseType=this.F),"withCredentials"in this.g&&this.g.withCredentials!==this.H&&(this.g.withCredentials=this.H);try{this.m&&(clearTimeout(this.m),this.m=null),this.v=!0,this.g.send(e),this.v=!1}catch(e){Ft(this,e)}},e.abort=function(e){this.g&&this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1,this.o=e||7,o(this,"complete"),o(this,"abort"),Lt(this))},e.N=function(){this.g&&(this.h&&(this.h=!1,this.j=!0,this.g.abort(),this.j=!1),Lt(this,!0)),I.Z.N.call(this)},e.Ca=function(){this.u||(this.B||this.v||this.j?Ot(this):this.Xa())},e.Xa=function(){Ot(this)},e.isActive=function(){return!!this.g},e.ca=function(){try{return 2<R(this)?this.g.status:-1}catch(e){return-1}},e.la=function(){try{return this.g?this.g.responseText:""}catch(e){return""}},e.La=function(e){var t;if(this.g)return t=this.g.responseText,e&&0==t.indexOf(e)&&(t=t.substring(e.length)),_e(t)},e.ya=function(){return this.o},e.Ha=function(){return"string"==typeof this.l?this.l:String(this.l)},(e=Gt.prototype).ka=8,e.I=1,e.connect=function(e,t,r,n){F(0),this.W=e,this.H=t||{},r&&void 0!==n&&(this.H.OSID=r,this.H.OAID=n),this.F=this.X,this.J=$t(this,null,this.W),Ht(this)},e.Ea=function(t){if(this.m)if(this.m=null,1==this.I){if(!t){this.V=Math.floor(1e5*Math.random()),t=this.V++;var r=new C(this,this.j,t);let e=this.o;if(this.U&&(e?ie(e=ne(e),this.U):e=this.U),null!==this.u||this.R||(r.J=e,e=null),this.S)e:{for(var n=0,s=0;s<this.i.length;s++){var i=this.i[s];if("__data__"in i.map&&"string"==typeof(i=i.map.__data__)?i=i.length:i=void 0,void 0===i)break;if(4096<(n+=i)){n=s;break e}if(4096===n||s===this.i.length-1){n=s+1;break e}}n=1e3}else n=1e3;n=Jt(this,r,n),D(s=f(this.J),"RID",t),D(s,"CVER",22),this.G&&D(s,"X-HTTP-Session-Id",this.G),qt(this,s),e&&(this.R?n="headers="+c(Tt(e))+"&"+n:this.u&&Nt(s,this.u,e)),rt(this.h,r),this.Ra&&D(s,"TYPE","init"),this.S?(D(s,"$req",n),D(s,"SID","null"),r.U=!0,Je(r,s,null)):Je(r,s,n),this.I=2}}else 3==this.I&&(t?Ut(this,t):0==this.i.length||$e(this.h)||Ut(this))},e.Da=function(){var e;this.v=null,zt(this),this.aa&&!(this.P||null==this.g||this.T<=0)&&(e=4*this.T,this.j.info("BP detection timer enabled: "+e),this.B=m(p(this.Wa,this),e))},e.Wa=function(){this.B&&(this.B=null,this.j.info("BP detection timeout reached."),this.j.info("Buffering proxy detected and switch to long-polling!"),this.F=!1,this.P=!0,F(10),Mt(this),zt(this))},e.Va=function(){null!=this.C&&(this.C=null,Mt(this),jt(this),F(19))},e.bb=function(e){e?(this.j.info("Successfully pinged google.com"),F(2)):(this.j.info("Failed to ping google.com"),F(1))},e.isActive=function(){return!!this.l&&this.l.isActive(this)},(e=tr.prototype).ra=function(){},e.qa=function(){},e.pa=function(){},e.oa=function(){},e.isActive=function(){return!0},e.Ka=function(){},rr.prototype.g=function(e,t){return new T(e,t)},t(T,a),T.prototype.m=function(){this.g.l=this.j,this.A&&(this.g.L=!0),this.g.connect(this.l,this.h||void 0)},T.prototype.close=function(){Pt(this.g)},T.prototype.o=function(e){var t,r=this.g;"string"==typeof e?((t={}).__data__=e,e=t):this.v&&((t={}).__data__=ye(e),e=t),r.i.push(new Xe(r.Ya++,e)),3==r.I&&Ht(r)},T.prototype.N=function(){this.g.l=null,delete this.j,Pt(this.g),delete this.g,T.Z.N.call(this)},t(nr,Ae),t(sr,xe),t(N,tr),N.prototype.ra=function(){o(this.g,"a")},N.prototype.qa=function(e){o(this.g,new nr(e))},N.prototype.pa=function(e){o(this.g,new sr)},N.prototype.oa=function(){o(this.g,"b")},rr.prototype.createWebChannel=rr.prototype.g,T.prototype.send=T.prototype.o,T.prototype.open=T.prototype.m,cr=function(){return new rr},hr=Se,lr=l,ur={jb:0,mb:1,nb:2,Hb:3,Mb:4,Jb:5,Kb:6,Ib:7,Gb:8,Lb:9,PROXY:10,NOPROXY:11,Eb:12,Ab:13,Bb:14,zb:15,Cb:16,Db:17,fb:18,eb:19,gb:20},Ge.NO_ERROR=0,Ge.TIMEOUT=8,Ge.HTTP_ERROR=6,or=Ge,Pe.COMPLETE="complete",Br=Pe,(Te.EventType=Ne).OPEN="a",Ne.CLOSE="b",Ne.ERROR="c",Ne.MESSAGE="d",a.prototype.listen=a.prototype.J,ar=Te,I.prototype.listenOnce=I.prototype.K,I.prototype.getLastError=I.prototype.Ha,I.prototype.getLastErrorCode=I.prototype.ya,I.prototype.getStatus=I.prototype.ca,I.prototype.getResponseJson=I.prototype.La,I.prototype.getResponseText=I.prototype.la,I.prototype.send=I.prototype.ea,I.prototype.setWithCredentials=I.prototype.Fa,ir=I}).apply(void 0!==Cr?Cr:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{}),(e=class{}).FOLD_CASE=1,e.LITERAL=2,e.CLASS_NL=4,e.DOT_NL=8,e.ONE_LINE=16,e.NON_GREEDY=32,e.PERL_X=64,e.UNICODE_GROUPS=128,e.WAS_DOLLAR=256,e.LOOKBEHIND=512,e.MATCH_NL=e.CLASS_NL|e.DOT_NL,e.PERL=e.CLASS_NL|e.ONE_LINE|e.PERL_X|e.UNICODE_GROUPS,e.POSIX=0,e.UNANCHORED=0,e.ANCHOR_START=1,e.ANCHOR_BOTH=2,e);let we={CASE_INSENSITIVE:1,DOTALL:2,MULTILINE:4,DISABLE_UNICODE_GROUPS:8,LONGEST_MATCH:16,LOOKBEHINDS:512},ye=new Int32Array(128),_e=new Int32Array(128),Ie=65535;for(let Lm=0;Lm<128;Lm++)97<=Lm&&Lm<=122?ye[Lm]=Lm-32:ye[Lm]=Lm,65<=Lm&&Lm<=90?_e[Lm]=Lm+32:_e[Lm]=Lm;he(e=class{static toUpperCase(e){var t,r,n;return e<128?ye[e]:(r=(t=String.fromCodePoint(e).toUpperCase()).codePointAt(0)>Ie?2:1,t.length>r||(n=(r=String.fromCodePoint(t.codePointAt(0)).toLowerCase()).codePointAt(0)>Ie?2:1,r.length>n)||r.codePointAt(0)!==e?e:t.codePointAt(0))}static toLowerCase(e){var t,r,n;return e<128?_e[e]:(r=(t=String.fromCodePoint(e).toLowerCase()).codePointAt(0)>Ie?2:1,t.length>r||(n=(r=String.fromCodePoint(t.codePointAt(0)).toUpperCase()).codePointAt(0)>Ie?2:1,r.length>n)||r.codePointAt(0)!==e?e:t.codePointAt(0))}},"Codepoint"),e.CODES=new Map([["",7],["\b",8],["\t",9],["\n",10],["\v",11],["\f",12],["\r",13],[" ",32],['"',34],["$",36],["&",38],["'",39],["(",40],[")",41],["*",42],["+",43],["-",45],[".",46],["0",48],["1",49],["2",50],["3",51],["4",52],["5",53],["6",54],["7",55],["8",56],["9",57],[":",58],["<",60],[">",62],["?",63],["A",65],["B",66],["C",67],["F",70],["P",80],["Q",81],["U",85],["Z",90],["[",91],["\\",92],["]",93],["^",94],["_",95],["`",96],["a",97],["b",98],["f",102],["i",105],["m",109],["n",110],["r",114],["s",115],["t",116],["v",118],["x",120],["z",122],["{",123],["|",124],["}",125]]);var E=e,t=class{constructor(e,t=!1){this.data=e,this.isStride1=t,this.SIZE=t?2:3}getLo(e){return this.data[e*this.SIZE]}getHi(e){return this.data[e*this.SIZE+1]}getStride(e){return this.isStride1?1:this.data[e*this.SIZE+2]}get length(){return this.data.length/this.SIZE}};let be=new Uint8Array(256);for(let Rm=0;Rm<64;Rm++)be["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-".charCodeAt(Rm)]=Rm;let Te=e=>{var t=[];let r=0,n=0;for(let i=0;i<e.length;i++){var s=be[e.charCodeAt(i)];r|=(31&s)<<n,0==(32&s)?(t.push(r),r=0,n=0):n+=5}return t},r=(e,t)=>{var r=Te(e),n=t?r.length/2:r.length/3,s=new Uint32Array(3*n);let i=0,a=0;for(let B=0;B<n;B++)i+=r[a++],s[3*B]=i,i+=r[a++],s[3*B+1]=i,s[3*B+2]=t?1:r[a++];return s},Ne=class{constructor(e){this.initializer=e,this.cache=new Map}has(e){return e in this.initializer}get(e){var t;return this.cache.has(e)?this.cache.get(e):(t=(t=this.initializer[e])?t():null,this.cache.set(e,t),t)}};he(e=class{static get CASE_ORBIT(){return this._CASE_ORBIT||(this._CASE_ORBIT=(e=>{var t=Te(e),r=new Map;let n=0;for(let i=0;i<t.length;i+=2){n+=t[i];var s=t[i+1];r.set(n,n+(s>>>1^-(1&s)))}return r})("rCgCIgCY+rQI4QiCuuBLgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCCgCBgCBgCBgCBgCBgCBgCB+7OB-BB-BB-BB-BB-BBskQB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BC-BB-BB-BB-BB-BB-BB-BByHBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBDCBBBCBBBCBBCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBxHBCBBBCBBBCBBB3SBmMBkNBCBBBCBBB8MBCBBB6MB6MBCBBC+EB0MB2MBCBBB6MB+MBiGBmNBiNBCBBBmKBikzCBmNBqNBkIBsNBCBBBCBBBCBBB0NBCBBB0NDCBBB0NBCBBByNByNBCBBBCBBB2NBCBBDCBBCwDFCBCBDBCBCBDBCBCBDBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBB9EBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCCBCBDBCBBBhGBvDBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBjICCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBH2iVBCBBBlKBwiVB+jVB+jVBCBBBlMBqEBuEBCBBBCBBBCBBBCBBBCBBB+hVB4hVB8hVBjNB7MC5MB5MCzMC1MB+0yCE5MB20yCC9MBu2yCBwyyCBo0yCChNBlNBo0yCBu-UBi0yCDlNC6-UBpNDrNIu+UDzNCm0yCBzNE0yyCBzNBpEBxNBxNBtEG1NLqxyCBkxyCnFoFrBCBBBCBBDCBBEkIBkIBkICoHHsCCqCBqCBqCCgEC+DB+DBmkOBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCC+BBgCBgCBgCBgCBgCBgCBgCBgCBrCBpCBpCBpCBmjOB-BB8BB-BB-BBgEB-BB-BByBBqgOBsDB-BBtwBB-BB-BB-BBsBBgDBCB-BB-BB-BBeB-BB-BB61OB-BB-BB-DB9DB9DBQB7DBmCE9CBrDBPBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBrFB-EBOBnHB3FB-FCCBBBNBCBBCjIBjIBjIBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgFBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB8kMB-BB6kMB-BB-BB-BB-BB-BB-BB-BB-BB-BBokMB-BB-BBkkMBkkMB-BB-BB-BB-BB-BB-BB-BB4jMB-BB-BB-BB-BB-BB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EB-EBCBBBCBoiMBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBJCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBeBCBBBCBBBCBBBCBBBCBBBCBBBCBBBdBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBCgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDL-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-C64CgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOBgmOCgmOGgmODg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FBg8FDg8FBg8FBg8FhVg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBg9rCBQBQBQBQBQBQDPBPBPBPBPBPjkC7mMB5mMBnmMBjmMBCBlmMB3lMBpiMBk8kCBCBBG-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FB-7FD-7FB-7FB-7F6FoglCEsuHRwjlCyDCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCB0DBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBG1DD97OCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQDPBPBPBPBPBPDQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQDPBPBPBPBPBPEQCQCQCQCPCPCPCPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPB0EB0EBsFBsFBsFBsFBoGBoGBgIBgIBgHBgHB8HB8HDQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQBQBQBQBQBQBQBPBPBPBPBPBPBPBPBQBQCSFPBPBzEBzEBRCxnOFSFrFBrFBrFBrFBREQBQClkOFPBPBnGBnGFQBQCljOCODPBPB-GB-GBNHSF-HB-HB7HB7HBRqJ53OE9tQBrmQH4Bc3BSgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBgBBfBfBfBfBfBfBfBfBfBfBfBfBfBfBfBfECBByZ0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BB0BBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzBBzB34BgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDBgDB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CB-CBCBBBt-UBruHBt+UB1iVBviVBCBBBCBBBCBBB3hVB5-UB9hVB7hVCCBBCCBBI9jVB9jVBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBICBBBCBBECBBN-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOB-lOC-lOG-lOzoeCBBBCBBBCBBBCBBBCBBBCBl8kCBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBTCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBnECBBBCBBBCBBBCBBBCBBBCBBBCBBDCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBKCBBBCBBBnglCBCBBBCBBBCBBBCBBBCBBECBBBvyyCDCBBBCBBBgDCCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBn0yCB90yCB10yCBh0yCBn0yCCjxyCBzyyCBpxyCBg6BBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBB-CBl0yCBvjlCBCBBBCBBBt2yCBCBBBCBBBCBBBCBBBCBBBCBBBCBBBCBBBhkzCZCBB9a-5Bd-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCB-8rCm6TCBB7gBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCH-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BmlBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvChDwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCBwCFvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvCBvC1DuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCCuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCBuCCuCBuCBuCBuCBuCBuCBuCCuCBuCCtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCCtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCBtCCtCBtCBtCBtCBtCBtCBtCCtCBtCk2BgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEBgEO-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-DB-D+CgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCL-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-B74CgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BhrVgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCBgCB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BB-BhB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BB2BD1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BB1BtxekCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBkCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjCBjC")),this._CASE_ORBIT}static get Print(){return this._Print||(this._Print=new t(r("hB9CBjBLBCpWBDFBFGBCCCBSBCsMBClBBDxBBDCBC2BBJaBFFBSVBC-FBCvBBD6BBDkDBP6BBDwBBDOBCbBDCCBJBGfBIqCBCgFBCHBDBBDVBCGBCEEBCBDIBDBBDDBJFFBCCBDBDYBDCBCFBFBBDVBCGBCBBCBBCBBDCCBDBFBBDCBEIIBCBCIIBPBLCBCIBCCBCVBCGBCBBCEBDJBCCBCCBDQQBCBDLBIGBCCBCHBDBBDVBCGBCBBCEBDIBDBBDCBICBFBBCEBDRBLBBCFBECBCDBEBBCCCBEEBEEBBBELBFEBECBCDBDHHPUBGMBCCBCWBCPBDIBCCBCDBIBBCCBCBBDDBDJBIVBCCBCWBCJBCEBDIBCCBCDBIBBGCBCDBDJBCCBNMBCCBCyBBCCBCFBFPBDZBCCBCRBEXBCIBCDDBFBEFFBEBCCCBGBHJBDCBN5BBFcBmBBBCCCBDBCXBCCCBVBDEBCCCBFBCJBDDBhBnCBCjBBFmBBCjBBCOBCMBmBlGBCGGD4LBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBDfBEZBH1CBDFBD-TBCbBE4CBIVBKXBKTBNMBCCBCBBN9CBDJBHJBHNBCKBH4CBIqBBGlCBLeBCLBFLBFEEBoBBDEBMrBBFZBHKBE9BBDgCBCcBDKBHJBHNBDtBBDLBVsCBClFBJ7BBEOBE9BBGqBBDKBJqBBG1QBDFBDlBBDFBDHBCGCBdBD0BBCOBCNBDFBCSBDCBCIBSXBJuBBSBBDaBCMBEhBBPgBBQrEBF5UBXKBWz4BBD9LBGsBBCGGD3BBIBBPXBKGBCGBCGBCGBCGBCGBCGBCGBC9DBjBZBC4CBN1GBbPBC+BBC1CBDmDBGqBBC9CBC1CBKvBBCszcBE2BBK7KBV3FBJ8GBV7BBEJBH3BBJlCBJLBHzDBMdBEtCBCKBFgBBC2BBKNBDJBDmDBZbBLFBDFBDFBKGBCGBC7BBF9DBDJBHj9KBNWBFwBBloItLBDpDBnBGBNEBGZBCEBCCCBCCBCCBoUBhBpBBHyBBCSBCDBFEBCmEBF9FBEFBDFBDFBDCBEGBCGBOBBDLBCZBCSBCBBCOBDNBjB6DBGCBFsBBE3CBCMBEwBwBBsBBjEcBEwBBQbBFjBBKdBGqBBGdBCkBBFNBrB9EBDJBHjBBFjBBFnBBJzBBMLBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBCnCBJIBxBSBCBBGgBBEaBGaBnB3BBFTBDxBBCBBGHBCCBCcBDCBFJBIIBI-BBhBmBBFLBK1BBEcBDaBGZBIDBNGBxCoCB4ByBBOyBBItBBJJBHlBBEcBJBBxGeBCpBBCCBDBBRFBJIBiBtBBJpBBXZBnBbBVWBKtCBFjBBK9BBCEBOYBIJBH0BBCRBJmBBK-CBCTBMRBCuBB-BGBCCCBCBCOBCKBH6BBGJBHDBCHBDBBDVBCGBCBBCEBCJBDBBDCBDHHGGBDGBEEBMJBCDDClBBCJBCDDCDBCJBCBBJBBe7CBCEBfnCBJJBnF1BBDlBBjBkCBMJBHMBU5BBHJBHTBdaBDOBFWB6F7BBlDyCBNHBDDDBGBCBBCdBCBBDLBKJBnCHBDtBBDKBcnCBJyCBOoCBIJB3CHB5ChBBPJBHIBCsBBCNBLcBEfBDVBCNBqCGBCBBCrBBECCBCCBHBJJBHFBCBBCkBBCBBCFBIJBHrBBFJB3HYBIQBCoBBEcB2CQQBwBBO6cBnDuDBCEBMjGBtyCiDBOvhBBRVBL68DBGmSB61G5BBn2B4RBIeBCJBFwCBCJBHdBDFBLlCBLJBCGBCUBGSBxN5BBnG6CBGYBDYBtBqCBF4BBIQBhCEBMGBK1mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBDDBh7D8HBEzNBHWBQQBQtBBDWBKzDB9B1HBLmBBDpCBJvDBWlCB7DTBNTBN2CBKYBoE0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBD9VBQEBCOBxiBeBHFB2GGBCQBDGBCBBCEBG9BBiBxDxDBrBBENBDJBFBBhKeBS5BBGxOxOBoBB3GqBBFhGhGBdBCVBJBBhHGBCDBCBBCOBCkGBDPBqBrCBFJBFBByYjCBtC8BBjGDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBBvIrBBFjDBNOBDOBCOBCkBBLtFB5BcBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBCmDBmgB-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIBnkzVvHB",!1))),this._Print}static get Upper(){return this.CATEGORIES.get("Lu")}},"UnicodeTables"),e._CASE_ORBIT=null,e._Print=null,e.CATEGORIES=new Ne({C:()=>new t(r("AfBgDgBBOrWrWBHHBCBICCVuMuMnBBBzBBBE4B4BBGBcDBHQBXhGhGxBBB8BBBmDNB8BBByBBBQddBCCMEBhBGBsCiFiFJBBDBBXIICCBFBBKBBDBBFHBCDBDGGBaaBEEHDBDBBXIIDGDBCCGDBDBBECBCGBFCCBFBSJBEKKEXXIDDGBBLIEBCCBNBFBBNGBIEEJBBDBBXIIDGGBKKBDDBEEBFBEDBDGGBTTBIBDHHBBBEFFBBBDCCDCBDCBECBNDBGCBEFFBCCBEBCNBWEBOEEYRRBKKEFFBFBDEEDBBFBBLGBXEEYLLGBBKEEFGBDEBEFFBLLELBOEE0BEEHDBRBBbEETCBZKKCBBICBCDBHCCJFBLBBELB7BDBekBBDCCGZZCYYBGGCIILBBFfBpClBlBBCBoBlBlBQOOBjBBnGCCBDBCBB6LFFBIICFFBqBqBFBBiBFFBIICFFBQQ6BFFBkCkCBhBhBBBBbFB3CBBHBB+UCB6CGBXIBZIBVLBOEEDLB-CBBLFBLFBPMMBEB6CGBsBEBnCJBgBNNBCBNDBCCBrBBBGKBtBDBbFBMCB-BBBiCeeBMMBEBLFBPBBvBBBNTBuCnFnFBGB9BCBQCB-BEBsBBBMHBsBEB3QBBHBBnBBBHBBJGCgBBB2BQQPBBHUUBEEKMMBDBbEByBPBDBBcOOBBBjBNBiBOBtEDB7UVBMUB14BBB-LEBuBCCBDBCBB5BGBDNBZIBI4BI-DhBBb6C6CBKB3GZBxC3C3CBoDoDBDBsB-C-C3CIBxBuzcuzcBBB4BIB9KTB5FHB+GTB9BCBLFB5BHBnCHBNFB1DKBfCBvCMMBCBiB4B4BBHBPBBLBBoDXBdJBHBBHBBHIBIII9BDB-DBBLFBl9KLBYDByBjoIBvLBBrDlBBILBGEBbGGCGDrUfBrBFB0BUUFDBGoEoEBCB-FCBHBBHBBHBBECBIIIBLBDBBNbbUDDQBBPhBB8DEBEDBuBCB5COOBBBCuBBvBhEBeCByBOBdDBlBIBfEBsBEBfmBmBBCBPpBB-EBBLFBlBDBlBDBpBHB1BKBNQQIDDMQQIDDBBB1BLB4JIBXJBJXBHrBrBKkCBHBBCtBtBDCBCBBYpCpCBGBKvBBUDDBDBiBCBcEBclBB5BDBVBBzBDDBDBJEEeBBEDBLGBKGBhCfBoBDBNIB3BCBeBBcEBbGBFLBIvCBqC2BB0BMB0BGBvBHBLFBnBCBeHBDvGBgBrBrBEBBDPBHHBKgBBvBHBrBVBblBBdTBYIBvCDBlBIB-BGGBLBaGBLFB2BTTBGBoBIBhDVVBJBTwBwBB8BBICCFQQMFB8BEBLFBFJJBDDBXXIDDGLLBDDBEEBCCBEBCEBIBBICBGKBLCCBCCnBLLCBBCFFLDDBGBDcB9CGGBcBpCHBLlFB3BBBnBhBBmCKBLFBOSB7BFBLFBVbBcBBQDBY4FB9BjDB0CLBJBBCBBJDDfDDBNNBHBLlCBJBBvBBBMaBpCHB0CMBqCGBL1CBJ3CBjBNBLFBKuBuBPJBeCBhBBBXPPBnCBIDDtBCBCDDKHBLFBHDDmBDDHGBLFBtBDBL1HBaGBSqBqBBBBe0CBCOBzBMB8clDBwDGGBJBlGryCBkDMBxhBPBXJB88DEBoS41GB7Bl2BB6RGBgBLLBCByCLLBEBfBBHJBnCJBLIIWEBUvNB7BlGB8CEBaBBarBBsCDB6BGBS-BBGKBIIB3mHoBBhBgDB0D8vIBFIIDkJkJBNBCcBEBBCNBFHBtMjoCBsDEBOCBKGBLBBF-6DB+HCB1NFBYOBSOBvBBBYIB1D7BB3HJBoBBBrCHBxDUBnC5DBVLBVLB4CIBamEB2CoCoCDBBCBBDBBFNNCIIiCFFBJJIddFGGCCBI1K1KBlJlJB-V-VBNBGQQBuiBBgBFBH0GBISSBIIDGGBDB-BgBBCvDBuBCBPBBLDBD-JBgBQB7BEBCvOBrB1GBsBDBC-FBgBXXBGBD-GBIFFDQQmGBBRoBBtCDBLDBDwYBlCrCB+BhGBFccDCCBCCLFFCCCBEBCDBCECEDDCBBCICDCCBFFIKFCLLSEBEGGSzBBDtIBtBDBlDLBQBBQQQmBJBvF3BBeMBtBDBKGBDNBH5EB6eCBSCBOCB7GFBNDBCOBNDB5BHBLFBpBHBfBBNDBDNBKmBB5KHBPBBOCBMCB6BCCBCBRBBNDBLGB0EoDoDBjgBBh3pBfB-oEBBv0FBBypHOBvThtCB-QhvBBs6EEBrpIlkzVBxHvw-FB",!1)),Cc:()=>new t(r("AfgDgB",!0)),Cf:()=>new t(r("tFzqBzqBBEBXhGhGyBhMhMBxCxCs5D9-B9-BBDBbEByBEBCJBw03B6H6HBBBimEQQj7IPBhjiBDBwmFHBn0rYffB+CB",!1)),Cn:()=>new t(r("4bBBHDBICCVuMuMnBBBzBBBE4B4BBGBcDBHKBvI9B9BBmDmDBMB8BBByBBBQddBCCMEBjBEBuHJJBDDBXXICCBBBFBBKBBDBBFHBCDBDGGBaaBEEHDBDBBXIIDGDBCCGDBDBBECBCGBFCCBFBSJBEKKEXXIDDGBBLIEBCCBNBFBBNGBIEEJBBDBBXIIDGGBKKBDDBEEBFBEDBDGGBTTBIBDHHBBBEFFBBBDCCDCBDCBECBNDBGCBEFFBCCBEBCNBWEBOEEYRRBKKEFFBFBDEEDBBFBBLGBXEEYLLGBBKEEFGBDEBEFFBLLELBOEE0BEEHDBRBBbEETCBZKKCBBICBCDBHCCJFBLBBELB7BDBekBBDCCGZZCYYBGGCIILBBFfBpClBlBBCBoBlBlBQOOBjBBnGCCBDBCBB6LFFBIICFFBqBqBFBBiBFFBIICFFBQQ6BFFBkCkCBhBhBBBBbFB3CBBHBB+UCB6CGBXIBZIBVLBOEEDLB-CBBLFBLFBbFB6CGBsBEBnCJBgBNNBCBNDBCCBrBBBGKBtBDBbFBMCB-BBBiCeeBMMBEBLFBPBBvBBBNTBuCnFnFBGB9BCBQCB-BEBsBBBMHBsBEB3QBBHBBnBBBHBBJGCgBBB2BQQPBBHUUBEEKmDmDNBBcOOBBBjBNBiBOBtEDB7UVBMUB14BBB-LEBuBCCBDBCBB5BGBDNBZIBI4BI-DhBBb6C6CBKB3GZBxC3C3CBoDoDBDBsB-C-C3CIBxBuzcuzcBBB4BIB9KTB5FHB+GTB9BCBLFB5BHBnCHBNFB1DKBfCBvCMMBCBiB4B4BBHBPBBLBBoDXBdJBHBBHBBHIBIII9BDB-DBBLFBl9KLBYDByBDBvzIBBrDlBBILBGEBbGGCGDrUfBrBFB0BUUFDBGoEoEBCC-FCBHBBHBBHBBECBIIIBIBGBBNbbUDDQBBPhBB8DEBEDBuBCB5COOBBBCuBBvBhEBeCByBOBdDBlBIBfEBsBEBfmBmBBCBPpBB-EBBLFBlBDBlBDBpBHB1BKBNQQIDDMQQIDDBBB1BLB4JIBXJBJXBHrBrBKkCBHBBCtBtBDCBCBBYpCpCBGBKvBBUDDBDBiBCBcEBclBB5BDBVBBzBDDBDBJEEeBBEDBLGBKGBhCfBoBDBNIB3BCBeBBcEBbGBFLBIvCBqC2BB0BMB0BGBvBHBLFBnBCBeHBDvGBgBrBrBEBBDPBHHBKgBBvBHBrBVBblBBdTBYIBvCDBlBIBlCJBCBBaGBLFB2BTTBGBoBIBhDVVBJBTwBwBB8BBICCFQQMFB8BEBLFBFJJBDDBXXIDDGLLBDDBEEBCCBEBCEBIBBICBGKBLCCBCCnBLLCBBCFFLDDBGBDcB9CGGBcBpCHBLlFB3BBBnBhBBmCKBLFBOSB7BFBLFBVbBcBBQDBY4FB9BjDB0CLBJBBCBBJDDfDDBNNBHBLlCBJBBvBBBMaBpCHB0CMBqCGBL1CBJ3CBjBNBLFBKuBuBPJBeCBhBBBXPPBnCBIDDtBCBCDDKHBLFBHDDmBDDHGBLFBtBDBL1HBaGBSqBqBBBBe0CBCOBzBMB8clDBwDGGBJBlGryCBkDMB3iBJB88DEBoS41GB7Bl2BB6RGBgBLLBCByCLLBEBfBBHJBnCJBLIIWEBUvNB7BlGB8CEBaBBarBBsCDB6BGBS-BBGKBIIB3mHoBBhBgDB0D8vIBFIIDkJkJBNBCcBEBBCNBFHBtMjoCBsDEBOCBKGBLBBJ76DB+HCB1NFBYOBSOBvBBBYIB1D7BB3HJBoBBBjGUBnC5DBVLBVLB4CIBamEB2CoCoCDBBCBBDBBFNNCIIiCFFBJJIddFGGCCBI1K1KBlJlJB-V-VBNBGQQBuiBBgBFBH0GBISSBIIDGGBDB-BgBBCvDBuBCBPBBLDBD-JBgBQB7BEBCvOBrB1GBsBDBC-FBgBXXBGBD-GBIFFDQQmGBBRoBBtCDBLDBDwYBlCrCB+BhGBFccDCCBCCLFFCCCBEBCDBCECEDDCBBCICDCCBFFIKFCLLSEBEGGSzBBDtIBtBDBlDLBQBBQQQmBJBvF3BBeMBtBDBKGBDNBH5EB6eCBSCBOCB7GFBNDBCOBNDB5BHBLFBpBHBfBBNDBDNBKmBB5KHBPBBOCBMCB6BCCBCBRBBNDBLGB0EoDoDBjgBBh3pBfB-oEBBv0FBBypHOBvThtCB-QhvBBs6EEBrpIm8yVBCdBhD-DBxHvw-BB---BBB---BBB",!1)),Co:()=>new t(r("gg4B-nGh4hc9--BD9--B",!0)),Cs:()=>new t(r("gg2B--B",!0)),L:()=>new t(r("hCZBHZBwBLLFGGBVBCeBCpOBFLBPEBICCiEEBCBBDDBCHHCCBCCCBSBCyCBCqEBJlFBClBBDHHBnBBoCaBFDBuBqBBkBBBCiDBCQQBIIBLLBBBDRRCdBe4CBMZZBfBKBBFGGBUBFKKEYYBXBIKBGXBCGBRpBB7B1BBETTIJBQPBFHBDBBDVBCGBCEEBCBERROBBCCBPBBLJJBEBFBBDVBCGBCBBCBBCBBgBDBCUUBBBRIBCCBCVBCGBCBBCEBETTQBBYMMBGBDBBDVBCGBCBBCEBEffBCCBBBQSSCFBECBCDBEBBCCCBEEBEEBBBELBX1B1BBGBCCBCWBCPBEbbBBBCBBDBBfFFBGBCCBCWBCJBCEBEffBBBCBBQBBSIBCCBCoBBDRRGCBJCBZFBGRBEXBCIBCDDBFB7BvBBCBBNGB7BBBCCCBDBCXBCCCBIBCBBKDDBDBCWWBCBhBgCgCBGBCjBBcEB0DqBBVRRBEBFDBEEEBIIBBBFMBNSSBkBBCGGDqBBCsKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPBR1CBDFBErTBDQBCZBGqCBHHBIRBOSBPRBPMBCCBQzBBkBFFkC4CBIEBDhBBCGGBkCBLeByBdBDEBMrBBFZB3BWBK0BBzC+C+CBtBBSHB3BdBOBBLrBBbjBBqBCBLjBBDKBGqBBDCBqBDBCFBCBBEGGB+FBhC1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGB1DOORMBmDFFDJBCEEBDBHGCBCBCKBDDBGEBF1B1BB8zC8zCBjHBHDBEBBNlBBCGGD3BBIRRBVBKGBCGBCGBCGBCGBCGBCGBCGBxC2O2OBrBrBBDBGBBF1CBHCBC5CBCDBGqBBC9CBSfBxBPBhQ-tGBhCs0VBkCtBBDsIBEPBLBBVuBBReBDlCByBIBDmDBDxCBVQBCCBCDBCWBezBBPxBB-BFBECCBMMBaBLWBacBIuBBdRRBDBCJBLEBCoBBYCBCHBVWBEEEBwBBCEEBDDBDBDCCZCBDKBICBNFBDFBDFBKGBCGBCqBBCNBHyDBej9KBNWBFwBBloItLBDpDBnBGBNEBGCCBIBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBlBZBHZBM4CBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmMcBEwBBwBfBOTBCHBHlBBLdBDjBBFHBxB9EBTjBBFjBBFnBBJzBBNKBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCQQBCBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4ByBBOyBBOjBBnBbBKWB7HpBBHBBRFB5BcBLJJBUBrBRBvBUBcWBN0BB6BBBDOOBrBBhBYBbjBBeDDJiBBENNBuBBPDBWCCkBRBCYBUBBgCGBCCCBCBCOBCJBIuBBnBHBDBBDVBCGBCBBCEBETTNEBfJBCDDClBBCaaCtBtBBzBBTDBVCBfvBBVBBC5F5FBtBBqBDBlBvBBV8B8BBpBBOoCoCBZBmBGB6FrBB1D-BBgBHBDDDBGBCBBCXBQCC-CHBDmBBRCCdLLBmBBIWWMtBBUTTBnCBoGgBBgBIBCkBBSyByBBcBxDGBCBBClBBWaaBEBCBBCfBPYYBqBBlISBQCCBLBChBB9DwCwCB4cBnHjGBtyCgDBQvhBBSFBa68DBGmSB61GdBj3B4RBIeBSuCBSdBTvBBRDBgBUBGSBxNsBB0G-BBhBYBDYBtBqCBGjCjCBLBhCBBCPPBNNB0mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBn7F0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BeBHFBmI9BBzEsBBLGBRiKiKBcBTrBBlPbBlHdBDwGwGBdBCCBCBBCGBDEBKBBhHGBCDBCBBCOBCkGB8BjCBI1lB1lBBCBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQBlqE-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),LC:()=>new t(r("hCZBHZB7BLLBVBCeBCiGBCDBFvGBDZBhGDBDBBECBCHHCCBCCCBSBCyCBCqEBJlFBClBBKoBB44ClBBCGGDqBBDCBhV1CBDFBjkCKBGqBBDCBhCrBBgCMBChBBmD1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGBmIFFDJBCEEBDBHGCBCBCFBFDDBCBGEBF1B1BB8zC8zCB6DBDmDBHDBEBBNlBBCGGzoetBBTbBnEtCBCWBEDBCsCBZBBE2Z2ZBpBBGIBIvCBh6TGBNEBqgBZBHZBmlBvCBhDjBBFjBB1DKBCOBCGBCBBCKBCOBCGBCBBk2ByBBOyBB+CVBLVB74C-BBhrV-BBhBYBDYBtpZ0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BJBCTBHFB2uCjCB",!1)),Ll:()=>new t(r("hDZB7BqBqBBWBCHBC2BCBQCBuBCDECBBBDCCDEEBFFDEEBBBDDDCCCDCCBCCDEECDDBDDBBBHGDCOCBSCBDDCEEC4BCBFBDDDBCCFICBjCBDZBiGCCEEEBBBTccBhBBCBBECBCWCBDBCGDB0B0BBuBBCgBCK0BCDMCBgDCxBoBBo6CqBBDCB5XFBjkCIBC2D2DBqBBgCMBChBBnD0ECBHBCgDCBHBJFBLHBJHBJFBLHBJHBJNBDHBJHBJHBJEBCBBHEEBBBCBBJDBDBBJHBLCBCBBzIEEBEEcKFDBBJDBF2B2Bs1CvBBCEEBGCFCCBCCBEBGiDCBIICFFNlBBCGG0oesBCUaCoEMCBBBC+BCBGBCCCDICFCCDCCBBBCSCGGGCMCFCCDOCbEE2ZqBBGIBIvCBh6TGBNEBqhBZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBnqZZBbGBCRBbZBbDBCCCBFBCKBbZBbZBbZBbZBbZBbZBbZBbZBbbBdYBCFBbYBCFBbYBCFBbYBCFBbYBCFBC15B15BBIBCTBHFB4vChBB",!1)),Lm:()=>new t(r("wVRBFLBPEBICCmEGG-OnHnHlFBBuIBBFgBgBKEEhFoFoF1mBgEgE2R72B72BsDkTkTxOFBvF+BBOjBjBBjBByVOORMBg-CBByHgGgG2OsBsBBDBGiDiDB+C+CBBB34bjnBjnBBEBvIzDzDdBB6DIBxCYYpDDBEBB2OXXqEtDtDWBBoDDBKngVngVuBBBh-BFBCpBBCIB0sBhBhB2K04D04DnrTDB9PCBpBBBnRMBhCBBCPPB9-P9-PBCBCGBCBByhM9BBqGGBud0Q0QsSAB",!1)),Lo:()=>new t(r("qFQQhIFFBCBxGBB7ZaBFDBuBfBCJBkBBBCiDBCZZBLLBBBDRRCdBe4CBMZZBfBWVBrBYBIKBGXBCGBRoBB8B1BBETTIJBROBFHBDBBDVBCGBCEEBCBERROBBCCBPBBLJJBEBFBBDVBCGBCBBCBBCBBgBDBCUUBBBRIBCCBCVBCGBCBBCEBETTQBBYMMBGBDBBDVBCGBCBBCEBEffBCCBBBQSSCFBECBCDBEBBCCCBEEBEEBBBELBX1B1BBGBCCBCWBCPBEbbBBBCBBDBBfFFBGBCCBCWBCJBCEBEffBBBCBBQBBSIBCCBCoBBDRRGCBJCBZFBGRBEXBCIBCDDBFB7BvBBCBBNFB8BBBCCCBDBCXBCCCBIBCBBKDDBDBYDBhBgCgCBGBCjBBcEB0DqBBVRRBEBFDBEEEBIIBBBFMBNyDyDBnKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPByDrTBDQBCZBGqCBHHBIRBOSBPRBPMBCCBQzBBpBkCkCBhBBC0BBIEBDhBBCGGBkCBLeByBdBDEBMrBBFZB3BWBK0BBxFuBBSHB3BdBOBBLrBBbjBBqBCBLdByDDBCFBCBBE7hB7hBBCB4-C3BBZWBKGBCGBCGBCGBCGBCGBCGBCGBoR2B2BF1CBJCCB4CBFGGBpBBC9CBSfBxBPBhQ-tGBhC0wUBC2jBBkCnBBJrIBFPBLBBjCyByBBkCBqFoDoDEGBCCBCDBCWBezBBPxBB-BFBECCBMMBaBLWBacBIuBBuBEBDIBLEBCoBBYCBCHBVPBCFBEEEBwBBCEEBDDBDBDCCZBBEKBIPPBEBDFBDFBKGBCGByEiBBej9KBNWBFwBBloItLBDpDBkCCCBIBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBqDJBCsBBDeBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmMcBEwBBwBfBOTBCHBHlBBLdBDjBBFHBhEtCBjDnBBJzBB9CzBBN2JBKVBLHB5EFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCQQBCBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4FjBBnBDBCxJxJBoBBHBBRCBCBB5BcBLJJBUBrBRBvBUBcWBN0BB6BBBDOOBrBBhBYBbjBBeDDJiBBENNBuBBPDBWCCkBRBCYBUBBgCGBCCCBCBCOBCJBIuBBnBHBDBBDVBCGBCBBCEBETTNEBfJBCDDClBBCaaCtBtBBzBBTDBVCBfvBBVBBC5F5FBtBBqBDBlBvBBV8B8BBpBBOoCoCBZBmBGB6FrBB0GHBDDDBGBCBBCXBQCC-CHBDmBBRCCdLLBmBBIWWMtBBUTTBnCBoGgBBgBIBCkBBSyByBBcBxDGBCBBClBBWaaBEBCBBCfBPYYBnBBCBBlISBQCCBLBChBB9DwCwCB4cBnHjGBtyCgDBQvhBBSFBa68DBGmSB61GdBj3B4RBIeBSuCBSdBTvBB0BUBGSB0NnBB2MqCBGwFwFB0mHBqBfBiDyDBuwIiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBxzI2P2PBrBBiBiKiKBcBTrBBlPaBmHdBDwGwGBdBCCBCBBCGBDEBKiHiHBFBCDBCBBCOBCkGB8pBDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQBlqE-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Lt:()=>new t(r("lOGDnB2sH2sHBGBJHBJHBNQQwBAB",!1)),Lu:()=>new t(r("hCZBmDWBCGBiB2BCDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIJDCMCDQCDDDCCBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBDDBBBEWCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBpCDBNDBNDBNEBMDBnIFFECBDCBDEEBDBHGCBCBDDBLBBG+B+B9zCvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoqZZBbZBbZBbCCBGDBDDBCBCHBbZBbBBCDBDHBCGBcBBCDBCEBCEEBFBcZBbZBbZBbZBbZBbZBfYBiBYBiBYBiBYBiBYBiB2pE2pEBgBB",!1)),M:()=>new t(r("gYvDB0IGBoIsBBCCCBCCBCCpCKBxBUBRmDmDBFBDFBDBBCDBkBffBZB8CKB7BIBKZZBCBCIBCCBCEBsBCB8BIBrBXBCgBB3BCBCRBCGBLBBeCB5BCCBFBDBBDCBKLLBbbDCB5BCCBDBFBBDCBEffBEEMCB5BCCBGBCCBCCBVBBXFBCCB5BCCBFBDBBDCBICBLBBf8B8BBDBECBCDBKpBpBBDB4BCCBFBCCBCDBIBBMBBeCB5BCCBFBCCBCDBIBBMBBQNNBCB4BBBCGBCCBCDBKLLBeeBBBnCFFBEBCCCBGBTBB+BDDBFBNHBjDDDBHBMGBqCBBcECFBByBTBCBBGKBCjBBKlDlDBSBYDBFCBCCBDGBEDBOLBCLLBCBgWCBzdDBdCBeBBfBBhCfBKuBuBBBBC2D2DBjBjB3DLBFLB8GEB6BJBCcBDxBxBBsBBDLBVEBwBQBnBIBNCBfMB5BNBxBTB5ECBCUBFHHDCBnG-BBxWgBB--CCBuEhDhDBeBrRFBqDBB1udDBCJBhBBBxCBBxIEEFYYBDBF0C0CBzBzBBQBbRBOnBnBBGBaMBtBDBwBNBlBkCkCBMBNJJBuBuBBBBzBCCBBBDBBGBBCqBqBBDBGBBtHHBCBBx5TiXiXBOBRPBuejHjH2EEBn0BCBCBBGDBpBCBFmFmFB+R+RBCBiCEB+JBBuCFBnCKByBDB7DCB2BOBqBDDBLLBCBuBKBI+B+BBBBlBNBRBBtBNNBBBxBNBJDBCBB9CLBHDD+ELBWDB4BBBCGBDBBDCBKLLBDDBFBEEBkCIBCDDCDBCEBCPPBzCzCBQBYyCyCBSBsHGBDIBcBBzCQBrDMBmDOBhIOB2HFBCBBDDBCCCBuEuEBFBDGBEddBIBpBGBCDBJKKBJBvBPBnGHBoGHBCHBzCVBCNB7DFBECCBCCBFBCjCjCBDBCBBCEB8KDBKBBCxBxBBFBEEBYmnFmnFHOBpmLRBhuCEB8BGB5gBCCB1BBIDByCMMBslTslTBizEizEBsBBDWB-QEBEFBJHBDGBfDB1ECB89B2BBFxBBJPPXEBCOBxqBGBCQBDGBCBBCEBlDhFhFBFB4L+B+BBCB9PDB-HBB0HDDIBBG7O7OBFBuDGB29lYvHB",!1)),Mc:()=>new t(r("joC4B4BDCBJDBCBBzBBB7BCBHBBDBBLsBsB7BCBjC7B7BBBBJCCB2B2BB7B7BCHHBDDBLLnDBBCBBECBCCBLqBqBBBB+BDB+BBB7BCCBDBDBBCBBKBBdPPB7B7BBBBGCBCCBLrBrBBsCsCBBBHHBTBBrKBBgCsFsFBFFHDDBaaBLLBBBDGBWBBDFBDLLBBB5zBffiEIIBGBCBB7KDBDCBFBBCFBhHBB7BCCKCCBJJBEByExBxBGCCBDBCBB+BffFBBD9B9BDCBCEEBxBxBBGBJBBsFWW35EBB0-dBBD5C5CBzBzBBOBvEBBwBxBxBBFFBDDBBBvDBBDBBZuBuBCuDuDDBBGuHuHBCCBCCBCC0gZCCgEuBuBBBBFBB0DZZB8B8BxBCBKBBO+C+CBBBEBBCrFrFBBBgBBB7BBBCDBDBBDCBKLLB1C1CBBBIDDCDBCBBCmDmDBBBJBBErDrDBBBHCCBCBDuHuHBBBHDBDyDyDBBBJBBCuDuDCBBHoDoDCBBFmImIBBBK4H4HBEBCBBFDDCvEvEBBBJDBF1C1CeBB-BqGqGECCoGPPrDIID2G2GBDBFBBC-K-KBNNxBBBJBBCpvQpvQBBBlxD2BBpDBB0rYBBHFB",!1)),Me:()=>new t(r("okBBB1xF-wB-wBBCBCCBsshBCB",!1)),Mn:()=>new t(r("gYvDB0IEBqIsBBCCCBCCBCCpCKBxBUBRmDmDBFBDFBDBBCDBkBffBZB8CKB7BIBKZZBCBCIBCCBCEBsBCB8BIBrBXBCfB4BCCFHBFEEBFBLBBe7B7BFDBJVVBbbDBB6BFFBFFBDDBBBEffBEEMBB6BFFBDBCBBFVVBXXBEBC7B7BDCCBCBJIIBMMBff+BNNzBEE4BCCBBBGCBCDBIBBMBBe7B7BDHHGBBVBBdBB6BBBFDBJVVBeepCIIBBBC7C7CDGBNHBjDDDBHBMGBqCBBcEC4BNBCEBCBBGKBCjBBKnDnDBCBCFBCBBDBBaBBFCBRDBODDBHHQgWgWBBBzdCBeBBfBBfBBhCBBCGBJDDBJBKuBuBBBBC2D2DBjBjB3DCBFBBKHHBBB8GBBD7B7BCGBCCCDHBHJBDxBxBBMBCeBDLBVDBxBCCBDBCGGpBIBNBBhBDBDBBCCB5BCCBEECCB7BHBDBB5ECBCMBCGBFHHEBBnG-BBxWMBFEEBKB--CCBuEhDhDBeBrRDBsDBB1udFFBIBhBBBxCBBxIEEFaaBGG4EBBbRBOnBnBBGBaKBvBCBxBDDBCBDBBoBkCkCBEBDBBDBBNJJwB0B0BCCBDBBGBBCrBrBBJJvHDDFx5Tx5TiXPBRPBuejHjH2EEBn0BCBCBBGDBpBCBFmFmFB+R+RBCBiCEB+JBBuCFBnCKByBDB8D3B3BBNBqBDDBLLBBByBDBDBBI+B+BBBBlBEBCHB-BNNB1B1BBHBLDBDgDgDBBBDCCBHHD+E+EEHBWBB6BBBEmBmBBFBEEBnCFBOECPBB2CHBDCBCYY1CFBCFFBCCBvHvHBCBHBBCBBcBB2CHBDCCBrDrDCDDBEBCmDmDCDDBCBCEBkIIBCBBhIBBCFFxEDBDBBFhBhBBIBpBFBDDBJKKBEBDCBvBMBCBBnGCCBBBCqGqGBFBCFBCzCzCBUBDGBCBBCBB7DFBECCBCCBFBCpCpCBEEC8K8KBMMB1B1BBDBGCCYmnFmnFHOBpmLLBECBhuCEB8BGB5gBgCgCBCByC5lT5lTBizEizEBsBBDWBhRCBSHBDGBfDB1ECB89B2BBFxBBJPPXEBCOBxqBGBCQBDGBCBBCEBlDhFhFBFB4L+B+BBCB9PDB-HBB0HDDIBBG7O7OBFBuDGB29lYvHB",!1)),N:()=>new t(r("wBJB5DBBGDDBBBitBJBnEJBnGJB9MJB3DJBFFBtDJB3DJB3DJBDFBvDMB0DJBJGBoDJBpDGBISBuDJBhDJB3DJBnCTBtIJBnCJBwWTBybCBwHJBHJBXJBtJJBhEKBmFJBHJB3FJB3CJBnEJBHJB3gBEEBEBHJBnGyBBDEB3W7BBvCVB3TdBqrBqYqYaIBPCB4KDBrEJBfHBCOBhBJBoBOBh7cJB9FJBhKFB7EJBnBJBnGJBXJB3CJB3MJB34UJBuPsBBN4BBSBB2KaBlBDBeJJnEEBrGJBvdHBaGBoBIBsCEBXFBhFBBDPBDtBBhCIB1BBBfCBsCEBpDHBZHBqBGBrKFBxBJBHJB3IeB-EJBrBDBxDGBnEdBhEJB9BJBxEJBITB8HJB3KJB3DJB3LJBnDJBHTBtCLBlNSB+CJB3UJB3CcBkHJBnCJB3BJBnLJBnDUBshBuDBimPJBnpCJB3CJBnEJBCGBvQJBnIWB+KCB6nXJBnuBTBNTBtDYB2iBxBBhqCJBnNJB3PJB4HJBtWIBhEJB4Y6BBCCBCDBtCsBBCOBjeMBk3CJB",!1)),Nd:()=>new t(r("wBJnxBJnEJnGJ9MJ3DJ3DJ3DJ3DJ3DJ3DJ3DJ3DJ3DJhDJ3DJnCJ3IJnCJn6BJnBJtJJhEJnFJHJ3FJ3CJnEJHJnuiBJnVJnBJnGJXJ3CJ3MJ34UJnsBJnkCJHJ9YJhEJ9BJxEJ3IJ3KJ3DJ3LJnDJHTtCJnNJnDJ3UJ3CJ3HJnCJ3BJnLJ3uQJnpCJ3CJnEJ3QJ37XJ12CxBhqCJnNJ3PJ4HJ2aJ30EJ",!0)),Nl:()=>new t(r("u3FCBwzCiBBDDB-zDaaBHBPCBs1dJBxyW0BBtOJJnEEBrhIuDBm8SCB",!1)),No:()=>new t(r("yFBBGDDBBB2pCFB5LFB5DCBmEGB6GGBSIByNJB2hBTB0jBJBhP20B20BEFBHJBnGPBqB3W3WB6BBvCVB3TdBqrB1kB1kBBCBrEJBfHBCOBhBJBoBOBxrdFBymWsBBiCDBSBB2KaBlBDB1pBHBaGBoBIBsCEBXFBhFBBDPBDtBBhCIB1BBBfCBsCEBpDHBZHBqBGBrKFBhLeB-EJBrBDBxDGBnETB8LTBmqBBBvNIBobSB0aUBn8SGB-YWBqhZTBNTBtDYBvqFIBid6BBCCBCDBtCsBBCOBjeMB",!1)),P:()=>new t(r("hBCBCFBCDBLBBEBBbCBCccCkBkBGEELBBEEE-VJJzOFBqBBB0BCCDDDtBBBVBBCBBOCCBBBrCDBnDsBsBBMBqHCB3BOBgBmImIBLLtE5D5D6DnMnMNwLwL7CLLBpFpFBNBCmBmBBCBoCrCrCBDBFBBwDFBsFlTlTBHB4EuTuTtBBBvCCBoCBB+ECBCCBmBKB6JBB5GBBhEGBCFBhFBBLGBdCB9DDB8BEB-BBBhCHBM9Z9ZBWBJTBCMBCLBfBBPBB6TDBeBB+hBNBwCBBgBJB0MVBgCDBhBBB8XDBCBBxDwEwEBtBBCfBDLBkNCBFJBDLBRNNjD7C7CjgdBBuICBkDLL0DFB9LDB3CBBpBCBCyByBBwBwBiDMBRBB9DDB-DBBRBB6HzqUzqUBxGxGBIBXiBBCNBCFFCBB2ECBCFBCDBLBBEBBbCBCccCCCBFB7MCB9UxBxB-MoXoXoGgBgBxIIBnBxDxDBFBjCGB6CDByO-J-JjBlElEBDBtBDB+FGBuDBBCDB-DDBxBBBwCDBFOOCCB5CFBsDrJrJBCCBzDzDBDBLBBCpDpD7HWBqDCBdMBtCjEjEBBB9HpIpIBBB8E9C9CBGB0CCBCEB+CJB4GgDgDBDBrBBBmUBBrCMBwFxjBxjBBDB97CBB8zOBBmEiCiCBDBJpRpRBBBoJDBoK9lT9lTovHEB07C-a-aBAB",!1)),Pc:()=>new t(r("-Cg-Hg-HBUU-u3BBBZCBwHAB",!1)),Pd:()=>new t(r("tB9qB9qB0BiyDiyDmgBqgCqgCBEBiwDDDgBBBFdd-NUUwDxszBxszBBmBmBLqFqFhzD-J-J",!1)),Pe:()=>new t(r("pB0B0BgB+1D+1DC-6B-6BqtC4B4BQ7T7TCff-hBMCxChBhBCGC1MUChCCCiBmhBmhBCECtBGCtNICEGCDBB-ozB6G6GeOCESSCCCrF0B0BgBGD",!1)),Pf:()=>new t(r("7F+6H+6HEddpuDCCFDDQEE",!1)),Pi:()=>new t(r("rFt7Ht7HDBBDaapuDCCFDDQEE",!1)),Po:()=>new t(r("hBCBCCBDECBLLBEEBcclCGGPBBI-V-VJzOzOBEBqB3B3BDDDtBBBVBBCBBOCCBBBrCDBnDsBsBBMBqHCB3BOBgBmImIBLLtE5D5D6DnMnMNwLwL7CLLBpFpFBNBCxDxDrCEBFBBwDFBsFlTlTBHBmY9D9DBBBoCBB+ECBCCBmBFBCDB6JBB5GBBhEGBCFBhFBBLGBdCB9DDB8BEB-BBBhCHBMjajaBJJBGBJIBDDBDCBEKBCCCBIB7kDDBCBBxDwEwEBFFBBBDDDBHBCBBCDDBLLBDBCJBDDBCCCBLBDCBtNCB6B+F+FjgdBBuICBkDLL0DFB9LDB3CBBpBCBCyByBBwBwBiDMBRBB9DDB-DBBRBB6HlxUlxUBFBDXXVBBDDBECBCDBICBHCCB2E2EBBBCCBDECBLLBEEBcclBDDB7M7MBBB9UxBxB-MoXoXoGgBgBxIIBnBxDxDBFBjCGB6CDB0ZlElEBDBtBDB+FGBuDBBCDB-DDBxBBBwCDBFOOCCB5CFBsDrJrJBCCBzDzDBDBLBBCpDpD7HWBqDCBdMBtCjEjEBBB9HpIpIBBB8E9C9CBGB0CCBCEB+CJB4GgDgDBDBrBBBmUBBrCMBwFxjBxjBBDB97CBB8zOBBmEiCiCBDBJpRpRBBBoJDBoK9lT9lTovHEB07C-a-aBAB",!1)),Ps:()=>new t(r("oBzBzBgB-1D-1DC-6B-6B-rCEEnB4B4BQ7T7TCff-hBMCxChBhBCGC1MUChCCCiBmhBmhBCECaTTCECtNICEGCDipzBipzB4GeeCMCESSCCCrFzBzBgBEEDAB",!1)),S:()=>new t(r("kBHHRCBgBCCcCCkBEBCBBDCCBCBDEEfgBgBrODBNNBGGBCCCBPB2DPPBxDxDsErIrIBBB3DCBDDDBvGvGLUUB4H4HIBBpEqLqLBHHB2H2H-DjEjEBGBlEwGwGqBmGmGiGCBQCCBBBDFBVECmEHBCFBCBBGDBmGBBxXJB0WuLuLlL+E+EBgBBiLJBKIBhiBCCBBBMCBOCBOCBOBBmCOOoBCBOCBUhBB-BBBCDBCBBLCCBBBGFBCECFMMBFFBDBGDBC7B7BBFFB2LBFcBD+HBXKByCtCBXnTBtBwBBDeBLyMBX+BBFfBD1LBDpEBmHFBmLBBvBZBC4CBN1GBbPBFOOBNNWBBHBB8CBB0HBBFJBhBlBBKRRBdBMdBJQQBeBLmBBQ-JBhuG-BBx0V2BB6RWBKBBoDBB+EDBLDB+RCBiHPPB+9T+9TpEgBBuLPBhCBB3BHBtBDBjDCCBBBD7E7EHRRBBBgBCCcCCiEGBCGBOBB6JIB6BQBDCBCMBEwBwBBrBB7zBBBwSmWmWBiKiKBGBnjC2kC2kCBbBr6SDBG3qU3qUk7DvHBLCBEzNBHWBQQBgDzDB9B1HBLmBBD7BBGCBXBBIdBF8BBWhCBE7F7FB1CBrbaagBaagBaagBaagBaa9B-PB4BDBzBHBCNBCBBp2BwNwNttCEE+DiOiOBvIvIBqBBFjDBNOBDOBCOBCkBBYgFB5BcBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBC7CBLAB",!1)),Sc:()=>new t(r("kB+D+DBCBqnB8D8DzPBBzPBBI2H2HoImSmS8sClmClmCBgBB37hBkuVkuVtD7E7E8GBBEBB3-HDB-4wBxtCxtC",!1)),Sk:()=>new t(r("+CCCoCHHFEEqQDBNNBGGBCCCBPB2DPPBjoBjoB15FCCBBBMCBOCBOCBOBB9kEBBkzdWBKBBoDBBxePPBniUniUBPB8bCCjF4g9B4g9BBDB",!1)),Sm:()=>new t(r("rBRRBBB+BCCuBFFmBgBgB-XwQwQBBB8xGOOoBCBOCBsEoBoBBDBHlClCBDBGBBFGDIgBgBBDDCgBgBBqIBhBBB7CffBXBpBFB2OKK3BHBwDxKxKBDBDeBLPBhIiEBX+BBFfBDhIBxBUBDFB9+zB5Z5ZCCBlFRRBBB+BCCkEHHBCBitDBBhrwBx+Bx+BagBgBagBgBagBgBagBgBat5Ft5FB-uC-uCBHB",!1)),So:()=>new t(r("mFDDFCCyerIrIBgEgEBvGvGLUUB4H4HkQ2L2LjEFBClElEwGqBqBoMCBQCCBBBDFBVECmEHBCFBCBBGDBmGBBxXJB0WzWzW+EhBBiLJBKIBksBBBCDBCBBLCCBHHBEBCECFMMBPPCBBC7B7BBKKBDBDDBCBBCBBCGBCeBDBBCCCBdBtIHBFTBDGBDwCBCdBanBBHnCBXKByCtCBX2FBCIBC1BBJuDBC3HBtBrBBhC-HBhQvBBWBBHmBBDpEBmHFBmLBBvBZBC4CBN1GBbPBFOOBNNWBBHBBxKBBFJBhBlBBKRRBdBMdBJQQBeBLmBBQ-JBhuG-BBx0V2BBibDBLBBC+R+RBBBqqUPBuLPBhCBB3BHBuBCBlPEEFBBOBB6JIB6BQBDCBCMBEwBwBBrBB7zBBBwSpgBpgBBGBnjC2kC2kCBGBFQBr6SDBG3qU3qUk7DvHBLCBEzNBHWBQPBhDzDB9B1HBLmBBD7BBGCBXBBIdBF8BBWhCBE7F7FB1CBqlB-PB4BDBzBHBCNBCBBp2B96C96CiEyWyWBqBBFjDBNOBDOBCOBCkBBYgFB5BcBOrBBFIBIBBPFB7E6HBG4WBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBB-B3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBC7CBLAB",!1)),Z:()=>new t(r("gBgEgEgvFgsCgsCBJBeBBGwBwBh9DAB",!1)),Zl:()=>new t(r("ohIA",!0)),Zp:()=>new t(r("phIA",!0)),Zs:()=>new t(r("gBgEgEgvFgsCgsCBJBlBwBwBh9DAB",!1)),ASCII_Hex_Digit:()=>new t(r("wBJIFbF",!0)),Alphabetic:()=>new t(r("hCZBHZBwBLLFGGBVBCeBCpOBFLBPEBICC3CeeBQBCBBDDBCHHCCBCCCBSBCyCBCqEBJlFBClBBDHHBnBBoBNBCCCBCCBCCJaBFDBeKBG3BBCGBPlDBCHBFHBFCBLCBDRRBuBBOkDBZgBBKBBFGGBWBDSBUYBIKBGXBCGBIJJBoBBLLBEGBHrCBCPBCCBFOBOSBCHBDBBDVBCGBCEEBCBEHBDBBDBBCJJFBBCEBNBBLFFBBBCFBFBBDVBCGBCBBCBBCBBFEBFBBDBBFIIBCBCSSBEBMCBCIBCCBCVBCGBCBBCEBEIBCCBCBBEQQBCBWDBFCBCHBDBBDVBCGBCBBCEBEHBDBBDBBKBBFBBCEBORRBCCBEBECBCDBEBBCCCBEEBEEBBBELBFEBECBCCBEHHpBMBCCBCWBCPBEHBCCBCCBJBBCCBCBBDDBdDBCHBCCBCWBCJBCEBEHBCCBCCBJBBGCBCDBOCBNMBCCBCoBBDHBCCBCCBCGGBCBIEBXFBCCBCRBEXBCIBCDDBFBJFBCCCBGBTBBO5BBGGBH0B0BBECBDBCXBCCCBRBCCBDEBCHHPDBhBgCgCBGBCjBBFSBFPBCjBBkC2BBCDDBDBR-BBLDBDlBBCGGDqBBCsKBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBmBPBR1CBDFBErTBDQBCZBGqCBEKBITBMUBNTBNMBCCBCBBNzBBDSBPFFkC4CBIqBBGlCBLeBCLBFIBYdBDEBMrBBFZB3BbBF+BBDTBzBYYBMMBBByBzBBCOBCHB0BpBBDDBLrBBCKBP2BBXCBLjBBDKBGqBBDCBqBDBCFBCBBEGGB+FBUhBBM1IBDFBDlBBDFBDHBCGCBdBD0BBCGBCEEBBBCGBEDBDFBFMBGCBCGB1DOORMBmDFFDJBCEEBDBHGCBCBCKBDDBGEBFSSBnBBuZzBB34BkHBHDBEBBNlBBCGGD3BBIRRBVBKGBCGBCGBCGBCGBCGBCGBCGBCfBwB2O2OBBBaIBIEBDEBF1CBHCBC5CBCDBGqBBC9CBSfBxBPBhQ-tGBhCs0VBkCtBBDsIBEPBLBBVuBBGHBEwDBoBIBDmDBDxCBVUBCgBBZzBBNjCBCtBtBBEBECCBBBLgBBGiBBOcBEyBBCLBQRRBOBLEBC2BBKNBTWBEkCBCCCZCBDPBDDBMFBDFBDFBKGBCGBCqBBCNBH6DBWj9KBNWBFwBBloItLBDpDBnBGBNEBGLBCMBCEBCCCBCCBCCBqDBiBqLBT-BBD1BBpBLB1DEBCmEBlBZBHZBM4CBEFBDFBDFBDCBkBLBCZBCSBCBBCOBDNBjB6DBmC0BBsIcBEwBBwBfBOdBGqBBGdBDjBBFHBCEBrB9EBTjBBFjBBFnBBJzBBNKBCOBCGBCBBCKBCOBCGBCBBEzBBN2JBKVBLHBZFBCpBBCIBmCFBDCCBqBBCBBEDDBVBLWBKeBiCSBCBBLVBLZBHZBnB3BBHBBhCDBCBBGHBCCBCcBrBcBEcBkBHBCbBc1BBLVBLSBORBvDoCB4ByBBOyBBOnBBjBbBEGGBVB7HpBBCBBEBBRFBzBCBEcBLJJBUBrBRBvBUBcWBKlCBsBEBL4BBKOOBXBYyBBSDBJiBBEKKB+BBCDBKBBLCCkBRBChBBDHHBCB-BGBCCCBCBCOBCJBI4BBYDBCHBDBBDVBCGBCBBCEBEHBDBBDBBEHHGGBdJBCDDClBBCJBCDDCDBCBBECCtBhCBCCBCDBVCBfhCBDBBC5F5FB0BBDGBaFBjB+BBCEE8B1BBDoCoCBZBDNBWGB6F4BBoD-BBgBHBDDDBGBCBBCdBCBBDBBDDB+CHBDtBBDFBCCCBccBxBBDJBSnCBGTTBnCBoDHB5CgBBgBIBCsBBCGBCyByBBcBDVBCNBqCGBCBBCrBBECCBCCBBBCDDBZZBEBCBBCkBBCBBCDBCYYBqBBlIWBKQBCoBBECBwDwCwCB4cBnDuDBSjGBtyCgDBQvhBBSFBa68DBGmSB61GuBBy2B4RBIeBSuCBSdBTvBBRDBgBUBGSBxNsBB0G-BBhBYBDYBtBqCBF4BBIQBhCBBCNNBFBK1mHBqBfBiDyDB+vIDBCGBCBBCiJBQeeBBBDPPBCBJrMBloCqDBGMBEIBIJBFi7Fi7FBzCBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDYBCYBCeBCYBCeBCYBCeBCYBCeBCYBCHB15BeBHFB2GGBCQBDGBCBBCEBG9BBiBxDxDBrBBLGBRiKiKBcBTrBBlPbBlHdBDwGwGBdBCVBJBBhHGBCDBCBBCOBCkGB8BjCBEEE1lBDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1TZBHZBHZB3zD-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Dash:()=>new t(r("tB9qB9qB0BiyDiyDmgBqgCqgCBEB+BoBoBQnMnMlgDDDgBBBFdd-NUUwDxszBxszBBmBmBLqFqFhzD-J-J",!1)),Emoji:()=>new t(r("jBHHGJBwDFFu8HNN5GXX7CFBQBBwLBBNnFnFaKBFCBoGoHoHBLLK7B7BBCBCEBKGDBDDFDDCBBDIEBJJBBBGCCGLBMBBDCCBCCTDDBTTBEBCCCBEEBGGDBBFBBMBBGBBDGGBECBVVBGGBEBCDBDFFDDDBEBCDDCCCHEEHLLBQQDFFCFFBBBCMMBxBxBBBBKeP1LBBwOCBUBB0BFF7mBNN6SCCrrvDrGrGhFBBNBBPDDBIBsCZBCBBYVVDIBWBBvFhBBDvDBDBBCCBDyCBDCBCmIBC+BBMFBCXBIBBDHBNDDBCBDFFBOOBDDJBBKGGBBBNCBJCBDCCFHHEHHB0CBxBlCBGHBDDBEJBECCBEEDJBkHLBF8I8IBtBBCJBC4FBxDMBEKBE4BBCFFBOBDLBFJB",!1)),Emoji_Component:()=>new t(r("jBHHGJB0+H2G2Gsp3B3+8B3+8BBYB8PEBxtBDBtzhY-CB",!1)),Emoji_Modifier:()=>new t(r("7-8DE",!0)),Emoji_Modifier_Base:()=>new t(r("9wJ8G8GRDB4jzD9B9BBBBDDDBBB2DBBDKBWSBEFFBBBCCBICCZqGqGBFFWFFBvFvFBBBEEB0CRRBBBKMMgSDDJHBHKKBIBDCB5B+B+BBCCBCCSCBCMBmHCBrBIB",!1)),Emoji_Presentation:()=>new t(r("64IBBuGDBEDDqQBBWBBzBLBsBUUOJJBSSBGGBJJGWWIBBCFFDIIFBBdkBkBCFFBBBC+B+BBBBZPP8aBB0BFFvlxDrGrG-FDDBIBsCZBCZZVDDBDBCCBWBBvFgBBNIBClCBCVBNqBBFEBNQBEEEBlCBCCCB5FBD+BBODBCXBTbbBOO3C0CBxBlCBHEEBBBDDBEDBMBBIIBkHLBF8I8IBtBBCJBC4FBxDMBEKBE4BBCFFBOBDLBFJB",!1)),Extended_Pictographic:()=>new t(r("pFFFu8HNN5GXX7CFBQBBwLBBNnFnFaKBFCBoGoHoHBLLK7B7BBCBCEBKGDBDDFDDCBBDIEBJJBBBGCCGLBMBBDCCBCCTDDBTTBEBCCCBEEBGGDBBFBBMBBGBBDGGBECBVVBGGBEBCDBDFFDDDBEBCDDCCCHEEHLLBQQDFFCFFBBBCMMBxBxBBBBKeP1LBBwOCBUBB0BFF7mBNN6SCCrrvDoBoBBCBlDLBQBBQPPBmBmBBIBxDBBNBBPDDBIBU3BBcOBLVVDIBCDBKWBH7FBDvDBDBBCCBDyCBDCBCDBG9HBC+BBMFBCXBIBBDHBNDDBCBDFFBOOBDDJBBKGGBBBNCBJCBDCCFHHEHHB0CBxBlCBGHBDQBECCBEBDMB7GlBBNDB5BHBLFBpBHBfBBNDBDNBKmBBNuBBCJBC4FB5CHBPxEBhI9fB",!1)),Hex_Digit:()=>new t(r("wBJIFbFq1-BJIFbF",!0)),Lowercase:()=>new t(r("hDZBwBLLFlBlBBWBCHBC2BCBQCBuBCDECBBBDCCDEEBFFDEEBBBDDDCCCDCCBCCDEECDDBDDBBBHGDCOCBSCBDDCEEC4BCBFBDDDBCCFICBjCBDiBBIBBfEBhDsBsBCEEDDBTccBhBBCBBECBCWCBDBCGDB0B0BBuBBCgBCK0BCDMCBgDCxBoBBo6CqBBCDB5XFBjkCIBC2D2DB+FBiC0ECBHBCgDCBHBJFBLHBJHBJFBLHBJHBJNBDHBJHBJHBJEBCBBHEEBBBCBBJDBDBBJHBLCBCBB6DOORMBuDEEBEEcKFDBBJDBFiBiBBOBFsasaBYBn6BvBBCEEBGCFCCBCCBGBEiDCBIICFFNlBBCGG0oesBCUaCBBBmEMCBBBC8BCBIBCCCDICFCCDCCBBBCSCGGGCMCFCCDOCWDBCCCBBB2ZqBBCNBHvCBh6TGBNEBqhBZBumBnBBpEjBB8EKBCOBCGBCBBkODDBBBCpBBCIBmoByBB+DVB75CfBhsVfB8BYBnqZZBbGBCRBbZBbDBCCCBFBCKBbZBbZBbZBbZBbZBbZBbZBbZBbbBdYBCFBbYBCFBbYBCFBbYBCFBbYBCFBC15B15BBIBCTBHFBmI9BB1lChBB",!1)),Math:()=>new t(r("rBRRBBBgBeeCuBuBFmBmBgB5W5WBBBDbbBDDBBBwQCBuwGccBBBMEEOPPBCBWEBMEBiCMBFEEBFFBDBTFFDJBCDDBEBHEEBDDBCCBBBCFBENBClClCBWBCFBCBBFBBFfBCHHBPPBqIBJDBVBB7CffBZBCZZMGB+NBBNJBFFBFBBDBBEEBPCCDFBMHBGBB6BCCeDBKCBxK-BBhI-PBxBUBDFB9+zB4Z4ZBEBCjFjFRCBeCCeCCkEHHBCBitDBBhrwBwoBwoBBzCBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBDxBBhwFDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBB-uCIB",!1)),Quotation_Mark:()=>new t(r("iBFFkEQQ96HHBaBBowDqOqOBCBOCBixzBDB+FFF7CBB",!1)),Terminal_Punctuation:()=>new t(r("hBLLCMMBEE-ZJJiQ6B6BpCPPCCB1FsBsBBJBCsHsHB3B3BBEBCHBgBmImIB1nB1nBBtFtFFFB4JBB2YHBmY9D9DBBBoCBB+ECBEoBoBBCBDBB7JBBjLDBjFBBLBBCCBeCB8FEB-BBBldYYBKKBBBwlDCBzJOOFLLCBBEBBtNBB8ndBBuICBkHEB-LBB3CBBgD4E4EBBB0ECBgERRB6H6HnxUDDB6B6BBBBCDBqFLLCMMBEEiCDD7hBxBxBnkBoGoG3JBB5EFBlCFB6CDB5dEBtBDB+FGBxDDBgECBiEBBHRRB5C5CBDBtDrJrJB2D2DBBBNBBnLDBEOBqDBB6HCBmQCC8HBB4CBBFBB-MCBuBmUmUBrCrCBspBspBBDB6vRBBmEiCiCBBBLqRqRBoJoJBnwTnwTovHDB",!1)),Uppercase:()=>new t(r("hCZBmDWBCGBiB2BCDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIJDCMCDQCDDDCCBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBDDBBBEWCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBpCDBNDBNDBNEBMDBnIFFECBDCBDEEBDBHGCBCBDDBLBBGbbBOBUzZzZBYBx5BvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoqZZBbZBbZBbCCBGDBDDBCBCHBbZBbBBCDBDHBCGBcBBCDBCEBCEEBFBcZBbZBbZBbZBbZBbZBfYBiBYBiBYBiBYBiBYBiB2pE2pEBgBBvgCZBHZBHZB",!1)),White_Space:()=>new t(r("JEBTlDlDbgvFgvFgsCKBeBBGwBwBh9DAB",!1))}),e.SCRIPTS=new Ne({Adlam:()=>new t(r("go6DrCFJFB",!0)),Ahom:()=>new t(r("g4lCaDOFW",!0)),Anatolian_Hieroglyphs:()=>new t(r("ggxCmS",!0)),Arabic:()=>new t(r("gwBEBCFBCNBCCBCfBCJBMZBCrDBChBBxCvBBxHhBBGqCBCcBxy8BtPBDvEBhBPBxDEBCmEBk7DeBkCFBJIBiBFBh43BDBCaBCBBCDDCJBCDBCCCHFFCECBBBCBBCDDCICBCCDDBCGBCDBCDBCCCBIBCQBGCBCEBCQB1BBB",!1)),Armenian:()=>new t(r("xpBlBDxBDCks9BE",!0)),Avestan:()=>new t(r("g4iC1BEG",!0)),Balinese:()=>new t(r("g4GsCCxB",!0)),Bamum:()=>new t(r("g1pB3CpowB4R",!0)),Bassa_Vah:()=>new t(r("w26CdDF",!0)),Batak:()=>new t(r("g+GzBJD",!0)),Bengali:()=>new t(r("gsCDBCHBDBBDVBCGBCEEBCBDIBDBBDDBJFFBCCBDBDYB",!1)),Beria_Erfe:()=>new t(r("g17CYDY",!0)),Bhaiksuki:()=>new t(r("ggnCICsBCNLc",!0)),Bopomofo:()=>new t(r("qXB6wLqBxDf",!0)),Brahmi:()=>new t(r("ggkCtCFjBKA",!0)),Braille:()=>new t(r("ggK-H",!0)),Buginese:()=>new t(r("gwGbDB",!0)),Buhid:()=>new t(r("g6FT",!0)),Canadian_Aboriginal:()=>new t(r("ggF-TxRlC7tgCP",!0)),Carian:()=>new t(r("g1gCwB",!0)),Caucasian_Albanian:()=>new t(r("wphCzBMA",!0)),Chakma:()=>new t(r("gokC0BCR",!0)),Cham:()=>new t(r("gwqB2BKNDJDD",!0)),Cherokee:()=>new t(r("g9E1CDFz7lBvC",!0)),Chorasmian:()=>new t(r("w9jCb",!0)),Common:()=>new t(r("AgCBbFBbuBBCOBCEBYgBgBiOmBBGEBDTB1DKKHCC+THHPEEhB9E9ElQiEiEB6mB6mB2MDBjJwvBwvBBBBoCBBsGBBCumBumBOIIBCBCFBCCBDmYmYBKBD2CBCKBEKBCOBShBB-BlBBCCBDFBCaBCQBqBCBF5UBXKBW-cBhIzTBDpEBhQ9CBzMUBCCCBXBQHBFDB8CBBE7C7CB0E0EBOBhBlBBKxBxBB+BBgBwCBwB5C5CBmFBhuG-BBhoWhBBnDCBmFJB1HhFhFsMPPBzuUzuUBxGxGBIBXiBBCSBCDB0ECCBeBbFBbKBLuBuBBhChCBFBCGBLEBjICBFsBBEIBxCMB0BsBBlHaBltuBDB96D8HBEzNBHWBQQBgDzDB9B1HBLmBBD9BBEQBJBBIdBF8BB2GTBNTBN2CBKYBoE0CBCmCBCBBDDDBDDBCBCLBCCCBFBCgCBCDBDHBCGBCbBCDBCEBCEEBFBCzKBDjJBDxBByjFjCBtC8BBjWrBBFjDBNOBDOBCOBCkBBLtFB5BZBCBBOrBBFIBIBBPFB7E4eBEQBEMBE5GBHLBFQQBKBF3BBJJBHnBBJdBDLBFBBPIBoB3KBJNBDMBEKBE4BBCFFBOBDLBFJBIyEBCmDBnghYffB+CB",!1)),Coptic:()=>new t(r("ifNxkKzDGG",!0)),Cuneiform:()=>new t(r("ggoC5cnDuDCEMjG",!0)),Cypriot:()=>new t(r("ggiCFBDCCBqBBCBBEDD",!1)),Cypro_Minoan:()=>new t(r("w8rCiD",!0)),Cyrillic:()=>new t(r("ggBkEBDoFBx6FKBhFtCtCojEfBhie-CBv8VBBhw4B9BBiBAB",!1)),Deseret:()=>new t(r("gghCvC",!0)),Devanagari:()=>new t(r("goCwCFODZh7nBfhwcJ",!0)),Dives_Akuru:()=>new t(r("gomCGBDDDBGBCBBCdBCBBDLBKJB",!1)),Dogra:()=>new t(r("ggmC7B",!0)),Duployan:()=>new t(r("ggvDqDGMEIIJDD",!0)),Egyptian_Hieroglyphs:()=>new t(r("ggsC1iBL68D",!0)),Elbasan:()=>new t(r("gohCnB",!0)),Elymaic:()=>new t(r("g-jCW",!0)),Ethiopic:()=>new t(r("gwEoCBCDBDGBCCCBCBDoBBCDBDgBBCDBDGBCCCBCBDOBC4BBCDBDiCBDfBEZBnvGWBKGBCGBCGBCGBCGBCGBCGBCGBjpfFBDFBDFBKGBCGBylvCGBCDBCBBCOB",!1)),Garay:()=>new t(r("gqjClBEcJB",!0)),Georgian:()=>new t(r("glElBBCGGDqBBCDBx8CqBBDCBhiElBBCGG",!1)),Glagolitic:()=>new t(r("ggL-Ch9sDGCQDGCBCE",!0)),Gothic:()=>new t(r("w5gCa",!0)),Grantha:()=>new t(r("g4kCDBCHBDBBDVBCGBCBBCEBDIBDBBDCBDHHGGBDGBEEB",!1)),Greek:()=>new t(r("wbDBCCBDDBCFFCCCBBBCCCBSBC+BBPPBnpGEBzBEBFEB1ChKhKBUBDFBDlBBDFBDHBCGCBdBD0BBCOBCNBDFBCSBDCBCIBoJ-xiB-xiB7uVuCBSgj0Bgj0BBkCB",!1)),Gujarati:()=>new t(r("h0CCBCIBCCBCVBCGBCBBCEBDJBCCBCCBDQQBCBDLBIGB",!1)),Gunjala_Gondi:()=>new t(r("grnCFCBCkBCBCFIJ",!0)),Gurmukhi:()=>new t(r("hwCCBCFBFBBDVBCGBCBBCBBCBBDCCBDBFBBDCBEIIBCBCIIBPB",!1)),Gurung_Khema:()=>new t(r("go4C5B",!0)),Han:()=>new t(r("g0LZBC4CBN1GBwBCCaIBPDBle-tGBhC-vUBhoWtLBDpDBpodBBNGBqgkB-2pBBhB9oEBDt0FBDwpHBQtTBjtC9QBjvBq6EBGppIB",!1)),Hangul:()=>new t(r("goE-HvxHBiI9CyDeiCei3dckUj9KNWFwBl9JeEFDFDFDC",!0)),Hanifi_Rohingya:()=>new t(r("gojCnBJJ",!0)),Hanunoo:()=>new t(r("g5FU",!0)),Hatran:()=>new t(r("gniCSCBGE",!0)),Hebrew:()=>new t(r("xsB2BBJaBFFBpp9BZBCEBCCCBCCBCCBIB",!1)),Hiragana:()=>new t(r("hiM1CBHCBi7-C+IBTeeBBBulQAB",!1)),Imperial_Aramaic:()=>new t(r("giiCVCI",!0)),Inherited:()=>new t(r("gYvDB2IBBlOKBbhXhXBCB8qEtBBDLBlPCBCMBCGBFHHEBBnG-BBtQBBjGgBB65DDBsDBBmrzBPBRNBwejHjH7iEl+uBl+uBBsBBDWBhRCBSHBDGBfDBz6rYvHB",!1)),Inscriptional_Pahlavi:()=>new t(r("g7iCSGH",!0)),Inscriptional_Parthian:()=>new t(r("g6iCVDH",!0)),Javanese:()=>new t(r("gsqBtCDJFB",!0)),Kaithi:()=>new t(r("gkkCiCLA",!0)),Kannada:()=>new t(r("gkDMCCCWCJCEDICCCDIBGCCDDJCC",!0)),Katakana:()=>new t(r("hlM5CBDCBxHPBxGuBBC3CBvgzBJBCsBBzisBDBCGBCBBCgJgJBBBzBPPBCB",!1)),Kawi:()=>new t(r("g4nCQCoBEc",!0)),Kayah_Li:()=>new t(r("goqBtBCA",!0)),Kharoshthi:()=>new t(r("gwiCDCBGHCCCcDCFJII",!0)),Khitan_Small_Script:()=>new t(r("k-7C84G84GB0OBqBAB",!1)),Khmer:()=>new t(r("g8F9CDJHJnPf",!0)),Khojki:()=>new t(r("gwkCRCuB",!0)),Khudawadi:()=>new t(r("w1kC6BGJ",!0)),Kirat_Rai:()=>new t(r("gq7C5B",!0)),Lao:()=>new t(r("h0DBBCCCBDBCXBCCCBVBDEBCCCBFBCJBDDB",!1)),Latin:()=>new t(r("hCZBHZBwBQQGWBCeBCgOBoBEB8wGlBBHwBBGDBGMBClCBiC-HByLOORMBuEBBHccSoBB42CfBj1elDBExCBVOBxZqBBCIBCDB38TGB7gBZBHZBmhCFBCpBBCIBm61BeBHFB",!1)),Lepcha:()=>new t(r("ggH3BEOEC",!0)),Limbu:()=>new t(r("goGeBCLBFLBFEEBKB",!1)),Linear_A:()=>new t(r("gwhC2JKVLH",!0)),Linear_B:()=>new t(r("gggCLCZCSCBCODNjB6D",!0)),Lisu:()=>new t(r("wmpBvBx1eA",!0)),Lycian:()=>new t(r("g0gCc",!0)),Lydian:()=>new t(r("gpiCZGA",!0)),Mahajani:()=>new t(r("wqkCmB",!0)),Makasar:()=>new t(r("g3nCY",!0)),Malayalam:()=>new t(r("goDMCCCyBCCCFFPDZ",!0)),Mandaic:()=>new t(r("giCbDA",!0)),Manichaean:()=>new t(r("g2iCmBFL",!0)),Marchen:()=>new t(r("wjnCfDVCN",!0)),Masaram_Gondi:()=>new t(r("gonCGBCBBCrBBECCBCCBHBJJB",!1)),Medefaidrin:()=>new t(r("gy7C6C",!0)),Meetei_Mayek:()=>new t(r("g3qBWqGtBDJ",!0)),Mende_Kikakui:()=>new t(r("gg6DkGDP",!0)),Meroitic_Cursive:()=>new t(r("gtiCXFTDtB",!0)),Meroitic_Hieroglyphs:()=>new t(r("gsiCf",!0)),Miao:()=>new t(r("g47CqCF4BIQ",!0)),Modi:()=>new t(r("gwlCkCMJ",!0)),Mongolian:()=>new t(r("ggGBBDCCBSBH4CBIqBB2t-BMB",!1)),Mro:()=>new t(r("gy6CeCJFB",!0)),Multani:()=>new t(r("g0kCGBCCCBCBCOBCKB",!1)),Myanmar:()=>new t(r("ggE-EhqmBeiDfxibT",!0)),Nabataean:()=>new t(r("gkiCeJI",!0)),Nag_Mundari:()=>new t(r("wm5DpB",!0)),Nandinagari:()=>new t(r("gtmCHDtBDK",!0)),New_Tai_Lue:()=>new t(r("gsGrBFZHKEB",!0)),Newa:()=>new t(r("gglC7CCE",!0)),Nko:()=>new t(r("g+B6BDC",!0)),Nushu:()=>new t(r("h-7CvsQvsQBqMB",!1)),Nyiakeng_Puachue_Hmong:()=>new t(r("go4DsBENDJFB",!0)),Ogham:()=>new t(r("g0Fc",!0)),Ol_Chiki:()=>new t(r("wiHvB",!0)),Ol_Onal:()=>new t(r("wu5DqBFA",!0)),Old_Hungarian:()=>new t(r("gkjCyBOyBIF",!0)),Old_Italic:()=>new t(r("g4gCjBKC",!0)),Old_North_Arabian:()=>new t(r("g0iCf",!0)),Old_Permic:()=>new t(r("w6gCqB",!0)),Old_Persian:()=>new t(r("g9gCjBFN",!0)),Old_Sogdian:()=>new t(r("g4jCnB",!0)),Old_South_Arabian:()=>new t(r("gziCf",!0)),Old_Turkic:()=>new t(r("ggjCoC",!0)),Old_Uyghur:()=>new t(r("w7jCZ",!0)),Oriya:()=>new t(r("h4CCCHDBDVCGCBCEDIDBDCICFBCEDR",!0)),Osage:()=>new t(r("wlhCjBFjB",!0)),Osmanya:()=>new t(r("gkhCdDJ",!0)),Pahawh_Hmong:()=>new t(r("g46ClCLJCGCUGS",!0)),Palmyrene:()=>new t(r("gjiCf",!0)),Pau_Cin_Hau:()=>new t(r("g2mC4B",!0)),Phags_Pa:()=>new t(r("giqB3B",!0)),Phoenician:()=>new t(r("goiCbEA",!0)),Psalter_Pahlavi:()=>new t(r("g8iCRIDNG",!0)),Rejang:()=>new t(r("wpqBjBMA",!0)),Runic:()=>new t(r("g1FqCEK",!0)),Samaritan:()=>new t(r("ggCtBDO",!0)),Saurashtra:()=>new t(r("gkqBlCJL",!0)),Sharada:()=>new t(r("gskC-ChsCH",!0)),Shavian:()=>new t(r("wihCvB",!0)),Siddham:()=>new t(r("gslC1BDlB",!0)),Sidetic:()=>new t(r("gqiCZ",!0)),SignWriting:()=>new t(r("gg2DrUQECO",!0)),Sinhala:()=>new t(r("hsDCBCRBEXBCIBCDDBFBEFFBEBCCCBGBHJBDCBt-gCTB",!1)),Sogdian:()=>new t(r("w5jCpB",!0)),Sora_Sompeng:()=>new t(r("wmkCYIJ",!0)),Soyombo:()=>new t(r("wymCyC",!0)),Sundanese:()=>new t(r("g8G-BhIH",!0)),Sunuwar:()=>new t(r("g+mChBPJ",!0)),Syloti_Nagri:()=>new t(r("ggqBsB",!0)),Syriac:()=>new t(r("g4BNC7BDCxIK",!0)),Tagalog:()=>new t(r("g4FVKA",!0)),Tagbanwa:()=>new t(r("g7FMCCCB",!0)),Tai_Le:()=>new t(r("wqGdDE",!0)),Tai_Tham:()=>new t(r("gxG+BCcDKHJHN",!0)),Tai_Viet:()=>new t(r("g0qBiCZE",!0)),Tai_Yo:()=>new t(r("g25DeCVJB",!0)),Takri:()=>new t(r("g0lC5BHJ",!0)),Tamil:()=>new t(r("i8CBBCFBECBCDBEBBCCCBEEBEEBBBELBFEBECBCDBDHHPUBm+kCxBBOAB",!1)),Tangsa:()=>new t(r("wz6CuCCJ",!0)),Tangut:()=>new t(r("g-7CgBgBB+3GBhQeBiDyDB",!1)),Telugu:()=>new t(r("ggDMCCCWCPDICCCDIBCCCBDDDJII",!0)),Thaana:()=>new t(r("g8BxB",!0)),Thai:()=>new t(r("hwD5BGb",!0)),Tibetan:()=>new t(r("g4DnCCjBFmBCjBCOCGFB",!0)),Tifinagh:()=>new t(r("wpL3BIBPA",!0)),Tirhuta:()=>new t(r("gklCnCJJ",!0)),Todhri:()=>new t(r("guhCzB",!0)),Tolong_Siki:()=>new t(r("wtnCrBFJ",!0)),Toto:()=>new t(r("w04De",!0)),Tulu_Tigalari:()=>new t(r("g8kCJBCDDClBBCJBCDDCDBCJBCBBJBB",!1)),Ugaritic:()=>new t(r("g8gCdCA",!0)),Unknown:()=>new t(r("4bBBHDBICCVuMuMnBBBzBBBE4B4BBGBcDBHKBvI9B9BBmDmDBMB8BBByBBBQddBCCMEBjBEBuHJJBDDBXXICCBBBFBBKBBDBBFHBCDBDGGBaaBEEHDBDBBXIIDGDBCCGDBDBBECBCGBFCCBFBSJBEKKEXXIDDGBBLIEBCCBNBFBBNGBIEEJBBDBBXIIDGGBKKBDDBEEBFBEDBDGGBTTBIBDHHBBBEFFBBBDCCDCBDCBECBNDBGCBEFFBCCBEBCNBWEBOEEYRRBKKEFFBFBDEEDBBFBBLGBXEEYLLGBBKEEFGBDEBEFFBLLELBOEE0BEEHDBRBBbEETCBZKKCBBICBCDBHCCJFBLBBELB7BDBekBBDCCGZZCYYBGGCIILBBFfBpClBlBBCBoBlBlBQOOBjBBnGCCBDBCBB6LFFBIICFFBqBqBFBBiBFFBIICFFBQQ6BFFBkCkCBhBhBBBBbFB3CBBHBB+UCB6CGBXIBZIBVLBOEEDLB-CBBLFBLFBbFB6CGBsBEBnCJBgBNNBCBNDBCCBrBBBGKBtBDBbFBMCB-BBBiCeeBMMBEBLFBPBBvBBBNTBuCnFnFBGB9BCBQCB-BEBsBBBMHBsBEB3QBBHBBnBBBHBBJGCgBBB2BQQPBBHUUBEEKmDmDNBBcOOBBBjBNBiBOBtEDB7UVBMUB14BBB-LEBuBCCBDBCBB5BGBDNBZIBI4BI-DhBBb6C6CBKB3GZBxC3C3CBoDoDBDBsB-C-C3CIBxBuzcuzcBBB4BIB9KTB5FHB+GTB9BCBLFB5BHBnCHBNFB1DKBfCBvCMMBCBiB4B4BBHBPBBLBBoDXBdJBHBBHBBHIBIII9BDB-DBBLFBl9KLBYDByBjoIBvLBBrDlBBILBGEBbGGCGDrUfBrBFB0BUUFDBGoEoEBCC-FCBHBBHBBHBBECBIIIBIBGBBNbbUDDQBBPhBB8DEBEDBuBCB5COOBBBCuBBvBhEBeCByBOBdDBlBIBfEBsBEBfmBmBBCBPpBB-EBBLFBlBDBlBDBpBHB1BKBNQQIDDMQQIDDBBB1BLB4JIBXJBJXBHrBrBKkCBHBBCtBtBDCBCBBYpCpCBGBKvBBUDDBDBiBCBcEBclBB5BDBVBBzBDDBDBJEEeBBEDBLGBKGBhCfBoBDBNIB3BCBeBBcEBbGBFLBIvCBqC2BB0BMB0BGBvBHBLFBnBCBeHBDvGBgBrBrBEBBDPBHHBKgBBvBHBrBVBblBBdTBYIBvCDBlBIBlCJBCBBaGBLFB2BTTBGBoBIBhDVVBJBTwBwBB8BBICCFQQMFB8BEBLFBFJJBDDBXXIDDGLLBDDBEEBCCBEBCEBIBBICBGKBLCCBCCnBLLCBBCFFLDDBGBDcB9CGGBcBpCHBLlFB3BBBnBhBBmCKBLFBOSB7BFBLFBVbBcBBQDBY4FB9BjDB0CLBJBBCBBJDDfDDBNNBHBLlCBJBBvBBBMaBpCHB0CMBqCGBL1CBJ3CBjBNBLFBKuBuBPJBeCBhBBBXPPBnCBIDDtBCBCDDKHBLFBHDDmBDDHGBLFBtBDBL1HBaGBSqBqBBBBe0CBCOBzBMB8clDBwDGGBJBlGryCBkDMB3iBJB88DEBoS41GB7Bl2BB6RGBgBLLBCByCLLBEBfBBHJBnCJBLIIWEBUvNB7BlGB8CEBaBBarBBsCDB6BGBS-BBGKBIIB3mHoBBhBgDB0D8vIBFIIDkJkJBNBCcBEBBCNBFHBtMjoCBsDEBOCBKGBLBBJ76DB+HCB1NFBYOBSOBvBBBYIB1D7BB3HJBoBBBjGUBnC5DBVLBVLB4CIBamEB2CoCoCDBBCBBDBBFNNCIIiCFFBJJIddFGGCCBI1K1KBlJlJB-V-VBNBGQQBuiBBgBFBH0GBISSBIIDGGBDB-BgBBCvDBuBCBPBBLDBD-JBgBQB7BEBCvOBrB1GBsBDBC-FBgBXXBGBD-GBIFFDQQmGBBRoBBtCDBLDBDwYBlCrCB+BhGBFccDCCBCCLFFCCCBEBCDBCECEDDCBBCICDCCBFFIKFCLLSEBEGGSzBBDtIBtBDBlDLBQBBQQQmBJBvF3BBeMBtBDBKGBDNBH5EB6eCBSCBOCB7GFBNDBCOBNDB5BHBLFBpBHBfBBNDBDNBKmBB5KHBPBBOCBMCB6BCCBCBRBBNDBLGB0EoDoDBjgBBh3pBfB-oEBBv0FBBypHOBvThtCB-QhvBBs6EEBrpIm8yVBCdBhD-DBxHvw-FB",!1)),Vai:()=>new t(r("gopBrJ",!0)),Vithkuqi:()=>new t(r("wrhCKCOCGCBCKCOCGCB",!0)),Wancho:()=>new t(r("g24D5BGA",!0)),Warang_Citi:()=>new t(r("glmCyCNA",!0)),Yezidi:()=>new t(r("g0jCpBCCDB",!0)),Yi:()=>new t(r("ggoBskBE2B",!0)),Zanabazar_Square:()=>new t(r("gwmCnC",!0))}),e.FOLD_CATEGORIES=new Ne({L:()=>new t(r("laA",!0)),LC:()=>new t(r("laA",!0)),Ll:()=>new t(r("hCZBmDWBCGBiBuBCEECDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIBBCBBCBBCOCDQCDBBCCCBBBC4BCIBBCBBDCCBCBCGC3HrBrBCEEJHHCCBCCCBCCBPBCIBkBJJCUCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBZHBJHBJHBJEBMEBMDBNEBMEBqJEEBHHxC9zC9zCBuBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoyehBB",!1)),Lt:()=>new t(r("kOCCBCCBCClBCCtsHHBJHBJHBMQQwBAB",!1)),Lu:()=>new t(r("hDZB7BqBqBBWBCHBCuBCEECDOCDsBCDECBBBDCCDEEGDDECBDDDCCCDFFDEECDDECCGBBCBBCBBCOCBSCDBBCEECkBCEQCJDDBCCFICBEBCBBCCCBEEBCCBCBCEBDCCBDDIDDCBBEFBGLLBnFnFsBCCEEEBBBvBDBCdBCBBECBCWCBDBCGD1BvBBCgBCK0BCDMCBgDCyBlBBq6CqBBDCB5XFBjkCIBCvHvHERRzD0ECGGGC8CCBHBJFBLHBJHBJFBMGCJHBJNBzBBBNSSBPPBEEpL2B2Bs1CvBBCEEBGCHDDLiDCJCCFNNBkBBCGG0oesBCUaCoEMCE8BCLCCDICFFFCBBDSCMOCFCCDOCb9a9advCBi8UZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBvyehBB",!1)),M:()=>new t(r("5cgBgBlgHAB",!1)),Mn:()=>new t(r("5cgBgBlgHAB",!1)),Emoji:()=>new t(r("8mJA",!0)),Extended_Pictographic:()=>new t(r("8mJA",!0)),Lowercase:()=>new t(r("hCZBmDWBCGBiBuBCEECDOCDuBCBECEBBCCCBCCBBBDDBCBBCCBEBBCBBCECBCCDCCBCCBBBCCCBEEIBBCBBCBBCOCDQCDBBCCCBBBC4BCIBBCBBDCCBCBCGCiJCCEJJHCCBBBCCCBCCBPBCIBkBJJCUCGDDCBBDyBBxBgBCK2BCBMCD+CCDlBBq6ClBBCGGzW1CB0kCHHBpBBDCBhK0ECKgDCKHBJFBLHBJHBJFBMGCJHBZHBJHBJHBJEBMEBMDBNEBMEBqJEEBHHuBPBUzZzZBYBx5BvBBxBCCBBBDGCBCBCDDJCBCgDCJCCFuqeuqeCqBCUaCoEMCE8BCLECBICFCCDCCEUCBDBCEBCOCBCBCCCBQCZs5Vs5VBYBmmBnBBpEjBB9EKBCOBCGBCBBr3ByBB+EVB75CfBhsVfBhCYBoyehBB",!1)),Math:()=>new t(r("ycGDCHHFMMDDDCHHFAB",!1)),Uppercase:()=>new t(r("hDZB7BqBqBBWBCHBCuBCEECDOCDsBCDECBBBDCCDEEGDDECBDDDCCCDFFDEECDDECCGBBCBBCBBCOCBSCDBBCEECkBCEQCJDDBCCFICBEBCBBCCCBEEBCCBCBCEBDCCBDDIDDCBBEFBGLLBnFnFsBCCEEEBBBvBDBCdBCBBECBCWCBDBCGD1BvBBCgBCK0BCDMCBgDCyBlBBq6CqBBDCB5XFBjkCIBCvHvHERRzD0ECGGGC8CCBHBJFBLHBJHBJFBMGCJHBJNBzBBBNSSBPPBEEpLiBiBBOBFsasaBYBn6BvBBCEEBGCHDDLiDCJCCFNNBkBBCGG0oesBCUaCoEMCE8BCLCCDICFFFCBBDSCMOCFCCDOCb9a9advCBi8UZBumBnBBpEjBB8EKBCOBCGBCBBk4ByBB+DVB75CfBhsVfB8BYBvyehBB",!1))}),e.FOLD_SCRIPT=new Ne({Common:()=>new t(r("8cgBgB",!1)),Greek:()=>new t(r("1FwUwU",!1)),Inherited:()=>new t(r("5cgBgBlgHAB",!1))});var Ae=e,f=((Ce=class{static is32(e,t){let r=0,n=e.length;for(;r<n;){var s=r+Math.floor((n-r)/2),i=e.getLo(s),a=e.getHi(s);if(i<=t&&t<=a)return(t-i)%e.getStride(s)==0;t<i?n=s:r=s+1}return!1}static is(t,r){if(r<=Ce.MAX_LATIN1){for(let e=0;e<t.length;e++){var n;if(!(r>t.getHi(e)))return!(r<(n=t.getLo(e)))&&(r-n)%t.getStride(e)==0}return!1}return 0<t.length&&r>=t.getLo(0)&&Ce.is32(t,r)}static isUpper(e){var t;return e<=Ce.MAX_LATIN1?(t=String.fromCodePoint(e)).toUpperCase()===t&&t.toLowerCase()!==t:Ce.is(Ae.Upper,e)}static isPrint(e){return e<=Ce.MAX_LATIN1?32<=e&&e<Ce.MAX_ASCII||161<=e&&173!==e:Ce.is(Ae.Print,e)}static simpleFold(e){var t;return Ae.CASE_ORBIT.has(e)?Ae.CASE_ORBIT.get(e):(t=E.toLowerCase(e))!==e?t:E.toUpperCase(e)}static equalsIgnoreCase(t,r){if(t===r)return!0;if(!(t<0||r<0)){if(t<=Ce.MAX_ASCII&&r<=Ce.MAX_ASCII)return 65<=t&&t<=90&&(t|=32),65<=r&&r<=90&&(r|=32),t===r;for(let e=Ce.simpleFold(t);e!==t;e=Ce.simpleFold(e))if(e===r)return!0}return!1}}).MAX_RUNE=1114111,Ce.MAX_ASCII=127,Ce.MAX_LATIN1=255,Ce.MAX_BMP=65535,Ce.MIN_FOLD=65,Ce.MAX_FOLD=125251,Ce.MIN_HIGH_SURROGATE=55296,Ce.MAX_HIGH_SURROGATE=56319,Ce.MIN_LOW_SURROGATE=56320,Ce.MAX_LOW_SURROGATE=57343,Ce.MIN_SUPPLEMENTARY_CODE_POINT=65536,Ce);let xe=new Uint8Array(256);for(let km=0;km<256;km++)xe[km]=97<=km&&km<=122||65<=km&&km<=90||48<=km&&km<=57||95===km?1:0;let Fe=null,Se=null;(de=class{static emptyInts(){return[]}static isByteArray(e){return Array.isArray(e)||e instanceof Uint8Array}static isalnum(e){return E.CODES.get("0")<=e&&e<=E.CODES.get("9")||E.CODES.get("a")<=e&&e<=E.CODES.get("z")||E.CODES.get("A")<=e&&e<=E.CODES.get("Z")}static unhex(e){return E.CODES.get("0")<=e&&e<=E.CODES.get("9")?e-E.CODES.get("0"):E.CODES.get("a")<=e&&e<=E.CODES.get("f")?e-E.CODES.get("a")+10:E.CODES.get("A")<=e&&e<=E.CODES.get("F")?e-E.CODES.get("A")+10:-1}static escapeRune(e){let t="";if(f.isPrint(e))0<=de.METACHARACTERS.indexOf(String.fromCodePoint(e))&&(t+="\\"),t+=String.fromCodePoint(e);else switch(e){case E.CODES.get('"'):t+='\\"';break;case E.CODES.get("\\"):t+="\\\\";break;case E.CODES.get("\t"):t+="\\t";break;case E.CODES.get("\n"):t+="\\n";break;case E.CODES.get("\r"):t+="\\r";break;case E.CODES.get("\b"):t+="\\b";break;case E.CODES.get("\f"):t+="\\f";break;default:var r=e.toString(16);e<256?(t+="\\x",1===r.length&&(t+="0"),t+=r):t+=`\\x{${r}}`}return t}static stringToRunes(e){var t=String(e),r=[];let n=0;for(;n<t.length;){var s=t.codePointAt(n);r.push(s),n+=s>f.MAX_BMP?2:1}return r}static runeToString(e){return String.fromCodePoint(e)}static isWordRune(e){return e<256&&1===xe[e]}static emptyOpContext(e,t){let r=0;return e<0&&(r|=de.EMPTY_BEGIN_TEXT|de.EMPTY_BEGIN_LINE),10===e&&(r|=de.EMPTY_BEGIN_LINE),t<0&&(r|=de.EMPTY_END_TEXT|de.EMPTY_END_LINE),10===t&&(r|=de.EMPTY_END_LINE),de.isWordRune(e)!==de.isWordRune(t)?r|=de.EMPTY_WORD_BOUNDARY:r|=de.EMPTY_NO_WORD_BOUNDARY,r}static quoteMeta(e){return e.split("").map(e=>0<=de.METACHARACTERS.indexOf(e)?"\\"+e:e).join("")}static charCount(e){return e>f.MAX_BMP?2:1}static toArray(e){var t=e.length,r=new Array(t);for(let n=0;n<t;n++)r[n]=e[n];return r}static stringToUtf8ByteArray(s){if(globalThis.TextEncoder)return Fe=Fe||new TextEncoder,de.toArray(Fe.encode(s));{let t=[],r=0;for(let n=0;n<s.length;n++){let e=s.charCodeAt(n);e<128?t[r++]=e:(e<2048?t[r++]=e>>6|192:((64512&e)===f.MIN_HIGH_SURROGATE&&n+1<s.length&&(64512&s.charCodeAt(n+1))===f.MIN_LOW_SURROGATE?(e=f.MIN_SUPPLEMENTARY_CODE_POINT+((1023&e)<<10)+(1023&s.charCodeAt(++n)),t[r++]=e>>18|240,t[r++]=e>>12&63|128):t[r++]=e>>12|224,t[r++]=e>>6&63|128),t[r++]=63&e|128)}return t}}static utf8ByteArrayToString(n){var e;if(globalThis.TextDecoder)return Se=Se||new TextDecoder("utf-8"),e=n instanceof Uint8Array?n:new Uint8Array(n),Se.decode(e);{let e=[],t=0,r=0;for(;t<n.length;){var s,i,a,B=n[t++];B<128?e[r++]=String.fromCharCode(B):191<B&&B<224?(s=n[t++],e[r++]=String.fromCharCode((31&B)<<6|63&s)):239<B&&B<365?(s=((7&B)<<18|(63&n[t++])<<12|(63&n[t++])<<6|63&n[t++])-f.MIN_SUPPLEMENTARY_CODE_POINT,e[r++]=String.fromCharCode(f.MIN_HIGH_SURROGATE+(s>>10)),e[r++]=String.fromCharCode(f.MIN_LOW_SURROGATE+(1023&s))):(i=n[t++],a=n[t++],e[r++]=String.fromCharCode((15&B)<<12|(63&i)<<6|63&a))}return e.join("")}}}).METACHARACTERS="\\.+*?()|[]{}^$",de.EMPTY_BEGIN_LINE=1,de.EMPTY_END_LINE=2,de.EMPTY_BEGIN_TEXT=4,de.EMPTY_END_TEXT=8,de.EMPTY_WORD_BOUNDARY=16,de.EMPTY_NO_WORD_BOUNDARY=32,de.EMPTY_ALL=-1;var D=de,e=(e=[],t=0)=>{var r=Object.create(null);for(let i=0;i<e.length;i++){var n=e[i],s=t+i;r[n]=s,r[s]=n}return Object.freeze(r)},Oe=((fe=class{getEncoding(){throw Error("not implemented")}asCharSequence(){throw Error("not implemented")}asBytes(){throw Error("not implemented")}length(){throw Error("not implemented")}isUTF8Encoding(){return this.getEncoding()===fe.Encoding.UTF_8}isUTF16Encoding(){return this.getEncoding()===fe.Encoding.UTF_16}}).Encoding=e(["UTF_16","UTF_8"]),fe),Le=class extends Oe{constructor(e=null){super(),this.bytes=e}getEncoding(){return Oe.Encoding.UTF_8}asCharSequence(){return D.utf8ByteArrayToString(this.bytes)}asBytes(){return this.bytes}length(){return this.bytes.length}},Re=class extends Oe{constructor(e=null){super(),this.charSequence=e}getEncoding(){return Oe.Encoding.UTF_16}asCharSequence(){return this.charSequence}asBytes(){return D.stringToUtf8ByteArray(this.charSequence.toString())}length(){return this.charSequence.length}},ke=class{static utf16(e){return new Re(e)}static utf8(e){return D.isByteArray(e)?new Le(e):new Le(D.stringToUtf8ByteArray(e))}},Ge=class{static EOF(){return-8}constructor(){this.end=0}canCheckPrefix(){return!0}endPos(){return this.end}hasString(){return!1}hasAnyString(){return!1}prefixLength(){return 0}},Pe=class extends Ge{constructor(e,t=0,r=e.length){super(),this.bytes=e,this.start=t,this.end=r}hasString(e,t){var r,n=e.bytes;return 0===n.length||-1!==(r=this.indexOf(this.bytes,n,this.start+t))&&r<=this.end-n.length}hasAnyString(e,t){return!!e.ac8&&e.ac8.searchUTF8(this.bytes,this.start+t,this.end)}step(e){var t,r,n,s;return(e+=this.start)>=this.end?Ge.EOF():(t=255&this.bytes[e])<128?t<<3|1:194<=t&&t<=223&&e+1<this.end?128!=(192&(r=255&this.bytes[e+1]))?t<<3|1:((31&t)<<6|63&r)<<3|2:224<=t&&t<=239&&e+2<this.end?128!=(192&(r=255&this.bytes[e+1]))||128!=(192&(n=255&this.bytes[e+2]))?t<<3|1:((15&t)<<12|(63&r)<<6|63&n)<<3|3:!(240<=t&&t<=244&&e+3<this.end)||128!=(192&(r=255&this.bytes[e+1]))||128!=(192&(n=255&this.bytes[e+2]))||128!=(192&(s=255&this.bytes[e+3]))?t<<3|1:((7&t)<<18|(63&r)<<12|(63&n)<<6|63&s)<<3|4}index(e,t){t+=this.start;var r=this.indexOf(this.bytes,e.prefixUTF8,t);return r<0?r:r-t}context(r){let n=-1;if((r+=this.start)>this.start&&r<=this.end){let t=r-1;if(128<=(n=this.bytes[t--])){let e=r-4;for(e<this.start&&(e=this.start);t>=e&&128==(192&this.bytes[t]);)t--;t<this.start&&(t=this.start),n=this.step(t-this.start)>>3}}var e=r<this.end?this.step(r-this.start)>>3:-1;return D.emptyOpContext(n,e)}indexOf(r,n,e=0){var s=n.length;if(0===s)return e<=this.end?e:-1;var i=n[0],a=this.end-s,B="function"==typeof r.indexOf;let o=e;for(;o<=a;){if(B){if(-1===(o=r.indexOf(i,o))||o>a)return-1}else{for(;o<=a&&r[o]!==i;)o++;if(o>a)return-1}let e=!0;for(let t=1;t<s;t++)if(r[o+t]!==n[t]){e=!1;break}if(e)return o;o++}return-1}prefixLength(e){return e.prefixUTF8.length}},Me=class extends Ge{constructor(e,t=0,r=e.length){super(),this.charSequence=e,this.start=t,this.end=r}hasString(e,t){var r=this.charSequence.indexOf(e.str,this.start+t);return-1!==r&&r<=this.end-e.str.length}hasAnyString(e,t){return!!e.ac16&&e.ac16.searchUTF16(this.charSequence,this.start+t,this.end)}step(e){var t,r;return(e+=this.start)>=this.end?Ge.EOF():!((t=this.charSequence.charCodeAt(e))<f.MIN_HIGH_SURROGATE||t>f.MAX_HIGH_SURROGATE||e+1>=this.end)&&(r=this.charSequence.charCodeAt(e+1))>=f.MIN_LOW_SURROGATE&&r<=f.MAX_LOW_SURROGATE?1024*(t-f.MIN_HIGH_SURROGATE)+(r-f.MIN_LOW_SURROGATE)+f.MIN_SUPPLEMENTARY_CODE_POINT<<3|2:t<<3|1}index(e,t){t+=this.start;var r=this.charSequence.indexOf(e.prefix,t);return r<0||r>this.end-e.prefix.length?-1:r-t}context(e){var t=(e+=this.start)>this.start&&e<=this.end?this.charSequence.charCodeAt(e-1):-1,r=e<this.end?this.charSequence.charCodeAt(e):-1;return D.emptyOpContext(t,r)}prefixLength(e){return e.prefix.length}},Ve=class{static fromUTF8(e,t=0,r=e.length){return new Pe(e,t,r)}static fromUTF16(e,t=0,r=e.length){return new Me(e,t,r)}},n=class extends Error{constructor(e){super(e),this.name="RE2JSException"}},He=class extends n{constructor(e,t=null){let r="error parsing regexp: "+e;t&&(r+=`: \`${t}\``),super(r),this.name="RE2JSSyntaxException",this.message=r,this.error=e,this.input=t}getDescription(){return this.error}getPattern(){return this.input}},Ue=class extends n{constructor(e){super(e),this.name="RE2JSCompileException"}},qe=class extends n{constructor(e){super(e),this.name="RE2JSGroupException"}},Je=class extends n{constructor(e){super(e),this.name="RE2JSFlagsException"}},Ke=class extends n{constructor(e){super(e),this.name="RE2JSInternalException"}},je=((ge=class{static quoteReplacement(e,t=!1){return t?e.indexOf("\\")<0&&e.indexOf("$")<0?e:e.split("").map(e=>{var t=e.codePointAt(0);return t===E.CODES.get("\\")||t===E.CODES.get("$")?"\\"+e:e}).join(""):e.indexOf("$")<0?e:e.split("").map(e=>e.codePointAt(0)===E.CODES.get("$")?"$$":e).join("")}constructor(e,t){if(null===e)throw new Error("pattern is null");this.patternInput=e;var r=this.patternInput.re2();this.patternGroupCount=r.numberOfCapturingGroups(),this.groups=[],this.namedGroups=r.namedGroups,this.numberOfInstructions=r.numberOfInstructions(),t instanceof Oe?this.resetMatcherInput(t):D.isByteArray(t)?this.resetMatcherInput(ke.utf8(t)):this.resetMatcherInput(ke.utf16(t))}pattern(){return this.patternInput}reset(){return this.matcherInputLength=this.matcherInput.length(),this.appendPos=0,this.hasMatch=!1,this.hasGroups=!1,this.anchorFlag=0,this}resetMatcherInput(e){if(null===e)throw new Error("input is null");return this.matcherInput=e,this.reset(),this}start(e=0){if("string"==typeof e){var t=this.namedGroups[e];if(!Number.isFinite(t))throw new qe(`group '${e}' not found`);e=t}return this.loadGroup(e),this.groups[2*e]}end(e=0){if("string"==typeof e){var t=this.namedGroups[e];if(!Number.isFinite(t))throw new qe(`group '${e}' not found`);e=t}return this.loadGroup(e),this.groups[2*e+1]}programSize(){return this.numberOfInstructions}group(e=0){if("string"==typeof e){var t=this.namedGroups[e];if(!Number.isFinite(t))throw new qe(`group '${e}' not found`);e=t}var t=this.start(e),r=this.end(e);return t<0&&r<0?null:this.substring(t,r)}getNamedGroups(){if(!this.hasMatch)throw new qe("perhaps no match attempted");var e,t=Object.create(null);for(e of Object.keys(this.namedGroups))t[e]=this.group(e);return t}groupCount(){return this.patternGroupCount}loadGroup(e){if(e<0||e>this.patternGroupCount)throw new qe("Group index out of bounds: "+e);if(!this.hasMatch)throw new qe("perhaps no match attempted");if(0!==e&&!this.hasGroups){var t=this.matcherInputLength,t=this.patternInput.re2().matchMachineInput(this.matcherInput,this.groups[0],t,this.anchorFlag,1+this.patternGroupCount);if(!t[0])throw new qe("inconsistency in matching group data");this.groups=t[1],this.hasGroups=!0}}matches(){return this.genMatch(0,_.ANCHOR_BOTH)}lookingAt(){return this.genMatch(0,_.ANCHOR_START)}find(e=null){if(null!==e){if(e<0||e>this.matcherInputLength)throw new qe("start index out of bounds: "+e);return this.reset(),this.genMatch(e,0)}var t;return e=0,this.hasMatch&&(e=this.groups[1],this.groups[0]===this.groups[1])&&((t=(this.matcherInput.isUTF16Encoding()?Ve.fromUTF16(this.matcherInput.asCharSequence(),0,this.matcherInputLength):Ve.fromUTF8(this.matcherInput.asBytes(),0,this.matcherInputLength)).step(e))<0?e++:e+=7&t),this.genMatch(e,_.UNANCHORED)}genMatch(e,t){var r=this.patternInput.re2().matchMachineInput(this.matcherInput,e,this.matcherInputLength,t,1);return!!r[0]&&(this.groups=r[1],this.hasMatch=!0,this.hasGroups=0===this.patternGroupCount,this.anchorFlag=t,!0)}substring(e,t){return this.matcherInput.isUTF8Encoding()?D.utf8ByteArrayToString(this.matcherInput.asBytes().slice(e,t)):this.matcherInput.asCharSequence().substring(e,t).toString()}inputLength(){return this.matcherInputLength}appendReplacement(e,t=!1){let r="";var n=this.start(),s=this.end();return this.appendPos<n&&(r+=this.substring(this.appendPos,n)),this.appendPos=s,r+=t?this.appendReplacementInternalJava(e):this.appendReplacementInternalJs(e)}appendReplacementInternalJava(r){let n="",s=0;var i=r.length;for(let o=0;o<i-1;o++)if(r.codePointAt(o)===E.CODES.get("\\"))s<o&&(n+=r.substring(s,o)),o++,s=o;else if(r.codePointAt(o)===E.CODES.get("$")){let t=r.codePointAt(o+1);if(E.CODES.get("0")<=t&&t<=E.CODES.get("9")){let e=t-E.CODES.get("0");for(s<o&&(n+=r.substring(s,o)),o+=2;o<i&&!((t=r.codePointAt(o))<E.CODES.get("0")||t>E.CODES.get("9")||10*e+t-E.CODES.get("0")>this.patternGroupCount);o++)e=10*e+t-E.CODES.get("0");if(e>this.patternGroupCount)throw new qe("n > number of groups: "+e);var a=this.group(e);null!==a&&(n+=a),s=o,o--}else if(t===E.CODES.get("{")){s<o&&(n+=r.substring(s,o));let e=++o+1;for(;e<r.length&&r.codePointAt(e)!==E.CODES.get("}")&&r.codePointAt(e)!==E.CODES.get(" ");)e++;if(e===r.length||r.codePointAt(e)!==E.CODES.get("}"))throw new qe("named capture group is missing trailing '}'");var a=r.substring(o+1,e),B=this.group(a);null!==B&&(n+=B),s=e+1,o=e}}return s<i&&(n+=r.substring(s,i)),n}appendReplacementInternalJs(r){let n="",s=0;var i=r.length;for(let u=0;u<i-1;u++)if(r.codePointAt(u)===E.CODES.get("$")){let t=r.codePointAt(u+1);if(E.CODES.get("$")===t){s<u&&(n+=r.substring(s,u)),n+="$",u++,s=u+1;continue}if(E.CODES.get("&")===t){s<u&&(n+=r.substring(s,u));var a=this.group(0);n+=null!==a?a:"$&",u++,s=u+1;continue}if(E.CODES.get("`")===t){s<u&&(n+=r.substring(s,u)),n+=this.substring(0,this.start(0)),u++,s=u+1;continue}if(E.CODES.get("'")===t){s<u&&(n+=r.substring(s,u)),n+=this.substring(this.end(0),this.matcherInputLength),u++,s=u+1;continue}if(E.CODES.get("1")<=t&&t<=E.CODES.get("9")){let e=t-E.CODES.get("0");for(s<u&&(n+=r.substring(s,u)),u+=2;u<i&&!((t=r.codePointAt(u))<E.CODES.get("0")||t>E.CODES.get("9")||10*e+t-E.CODES.get("0")>this.patternGroupCount);u++)e=10*e+t-E.CODES.get("0");if(e>this.patternGroupCount){n+="$"+e,s=u,u--;continue}a=this.group(e);null!==a&&(n+=a),s=u,u--;continue}if(t===E.CODES.get("<")){s<u&&(n+=r.substring(s,u));let e=++u+1;for(;e<r.length&&r.codePointAt(e)!==E.CODES.get(">")&&r.codePointAt(e)!==E.CODES.get(" ");)e++;if(e===r.length||r.codePointAt(e)!==E.CODES.get(">")){n+=r.substring(u-1,e+1),s=e+1,u=e;continue}var B,o=r.substring(u+1,e);Object.prototype.hasOwnProperty.call(this.namedGroups,o)?null!==(B=this.group(o))&&(n+=B):n+=`$<${o}>`,s=e+1,u=e;continue}}return s<i&&(n+=r.substring(s,i)),n}appendTail(){return this.substring(this.appendPos,this.matcherInputLength)}replaceAll(e,t=!1){return this.replace(e,!0,t)}replaceFirst(e,t=!1){return this.replace(e,!1,t)}replace(e,t=!0,r=!1){let n="";this.reset();var s="function"==typeof e,i=0<Object.keys(this.namedGroups).length;let a=null;if(s){if(this.groupCount()>=ge.MAX_REPLACER_ARGS)throw new qe("Too many capture groups to safely invoke replacer function");a=this.matcherInput.isUTF8Encoding()?this.matcherInput.asBytes():this.matcherInput.asCharSequence()}for(;this.find()&&(n+=s?this.appendReplacementFunc(e,i,a):this.appendReplacement(e,r),t););return n+=this.appendTail()}appendReplacementFunc(e,t,r){let n="";var s=this.start(),i=this.end(),i=(this.appendPos<s&&(n+=this.substring(this.appendPos,s)),this.appendPos=i,this.buildReplacerArgs(s,t,r));return n+=String(e(...i))}buildReplacerArgs(e,t,r){var n=[this.group(0)],s=this.groupCount();for(let o=1;o<=s;o++){var i=this.start(o);n.push(i<0?void 0:this.substring(i,this.end(o)))}if(n.push(e),n.push(r),t){var a,B=this.getNamedGroups();for(a in B)null===B[a]&&(B[a]=void 0);n.push(B)}return n}}).MAX_REPLACER_ARGS=65535,ge),v=((pe=class{static isRuneOp(e){return pe.RUNE<=e&&e<=pe.RUNE_ANY_NOT_NL}static escapeRunes(e){let t='"';for(var r of e)t+=D.escapeRune(r);return t+='"'}constructor(e){this.op=e,this.out=0,this.arg=0,this.runes=[],this.next=null}matchRune(t){if(1===this.runes.length)return i=this.runes[0],0!=(this.arg&_.FOLD_CASE)?f.equalsIgnoreCase(i,t):t===i;var r=this.runes.length;if(0===r)return!1;if(2===r||4===r||6===r||8===r){for(let e=0;e<r;e+=2){if(t<this.runes[e])return!1;if(t<=this.runes[e+1])return!0}return!1}let e=0,n=r>>1;for(;1<n;){var s=n>>1;e+=this.runes[e+s<<1]<=t?s:0,n-=s}var i=(e+=this.runes[e<<1]<=t?1:0)-1;return 0<=i&&t<=this.runes[i<<1|1]}matchRunePos(t){if(1===this.runes.length)return i=this.runes[0],0!=(this.arg&_.FOLD_CASE)?f.equalsIgnoreCase(i,t)?0:-1:t===i?0:-1;var r=this.runes.length;if(0===r)return-1;if(2===r||4===r||6===r||8===r){for(let e=0;e<r;e+=2){if(t<this.runes[e])return-1;if(t<=this.runes[e+1])return Math.floor(e/2)}return-1}let e=0,n=r>>1;for(;1<n;){var s=n>>1;e+=this.runes[e+s<<1]<=t?s:0,n-=s}var i=(e+=this.runes[e<<1]<=t?1:0)-1;return 0<=i&&t<=this.runes[i<<1|1]?i:-1}toString(){switch(this.op){case pe.ALT:return`alt -> ${this.out}, `+this.arg;case pe.ALT_MATCH:return`altmatch -> ${this.out}, `+this.arg;case pe.CAPTURE:return`cap ${this.arg} -> `+this.out;case pe.EMPTY_WIDTH:return`empty ${this.arg} -> `+this.out;case pe.MATCH:return"match"+(0!==this.arg?" "+this.arg:"");case pe.FAIL:return"fail";case pe.NOP:return"nop -> "+this.out;case pe.LB_WRITE:return`lbwrite ${this.arg} -> `+this.out;case pe.LB_CHECK:return`lbcheck ${this.arg} -> `+this.out;case pe.RUNE:return null===this.runes?"rune <null>":["rune ",pe.escapeRunes(this.runes),0!=(this.arg&_.FOLD_CASE)?"/i":""," -> ",this.out].join("");case pe.RUNE1:return`rune1 ${pe.escapeRunes(this.runes)} -> `+this.out;case pe.RUNE_ANY:return"any -> "+this.out;case pe.RUNE_ANY_NOT_NL:return"anynotnl -> "+this.out;default:throw new Error("unhandled case in Inst.toString")}}}).ALT=1,pe.ALT_MATCH=2,pe.CAPTURE=3,pe.EMPTY_WIDTH=4,pe.FAIL=5,pe.MATCH=6,pe.NOP=7,pe.RUNE=8,pe.RUNE1=9,pe.RUNE_ANY=10,pe.RUNE_ANY_NOT_NL=11,pe.LB_WRITE=12,pe.LB_CHECK=13,pe),Qe=class{constructor(){this.inst=null,this.cap=null}},ze=class{constructor(e){this.sparse=new Int32Array(e),this.densePcs=new Int32Array(e),this.denseThreads=new Array(e),this.size=0}contains(e){var t=this.sparse[e];return t<this.size&&this.densePcs[t]===e}isEmpty(){return 0===this.size}add(e){var t=this.size++;return this.sparse[e]=t,this.denseThreads[t]=null,this.densePcs[t]=e,t}clear(){for(let e=0;e<this.size;e++)this.denseThreads[e]=null;this.size=0}toString(){let e="{";for(let t=0;t<this.size;t++)0!==t&&(e+=", "),e+=this.densePcs[t];return e+="}"}},Ye=((me=class{static fromRE2(e){var t=new me;return t.prog=e.prog,t.re2=e,t.q0=new ze(t.prog.numInst()),t.q1=new ze(t.prog.numInst()),t.pool=[],t.poolSize=0,t.matched=!1,t.matchcap=new Int32Array(t.prog.numCap<2?2:t.prog.numCap),t.ncap=0,t}static fromMachine(e){return me.fromRE2(e.re2)}constructor(){this.prog=null,this.re2=null,this.q0=null,this.q1=null,this.pool=[],this.poolSize=0,this.matched=!1,this.matchcap=null,this.ncap=0,this.lbTable=null}init(e){(this.ncap=e)>this.matchcap.length?this.initNewCap(e):this.resetCap(),0<this.prog.numLb&&((!this.lbTable||this.lbTable.length<this.prog.numLb+1)&&(this.lbTable=new Int32Array(this.prog.numLb+1)),this.lbTable.fill(-1))}resetCap(){for(let e=0;e<this.poolSize;e++)this.pool[e].cap.fill(-1)}initNewCap(e){for(let t=0;t<this.poolSize;t++)this.pool[t].cap=new Int32Array(e).fill(-1);this.matchcap=new Int32Array(e).fill(-1)}submatches(){return 0===this.ncap?D.emptyInts():D.toArray(this.matchcap.subarray(0,this.ncap))}alloc(e){if(0===this.poolSize){var t=this.matchcap.length;for(let e=0;e<me.THREADS_CHUNK_SIZE;e++){let e=new Qe;e.cap=new Int32Array(t),this.pool[this.poolSize++]=e}}this.poolSize--;let r=this.pool[this.poolSize];return r.inst=e,r}freeQueue(e,t=0){for(let n=t;n<e.size;n++){var r=e.denseThreads[n];null!==r&&(this.pool[this.poolSize++]=r)}e.clear()}freeThread(e){this.pool[this.poolSize++]=e}match(e,t,r){var n=this.re2.cond;if(n===D.EMPTY_ALL)return!1;if((r===_.ANCHOR_START||r===_.ANCHOR_BOTH)&&0!==t)return!1;this.matched=!1,this.matchcap.fill(-1);let s=0<this.prog.numLb?0:t;var i=t;let a=this.q0,B=this.q1,o=e.step(s),u=o>>3,l=7&o,h=-1,c=0;o!==Ge.EOF()&&(o=e.step(s+l),h=o>>3,c=7&o);let C;for(C=0===s?D.emptyOpContext(-1,u):e.context(s);;){if(a.isEmpty()){if(0!=(n&D.EMPTY_BEGIN_TEXT)&&0!==s)break;if((r===_.ANCHOR_START||r===_.ANCHOR_BOTH)&&0!==s)break;if(this.matched)break;if(0===this.prog.numLb&&0!==this.re2.prefix.length&&h!==this.re2.prefixRune&&e.canCheckPrefix()){var d=e.index(this.re2,s);if(d<0)break;s+=d,o=e.step(s),u=o>>3,l=7&o,o=e.step(s+l),h=o>>3,c=7&o}}if(0===s&&0<this.prog.numLb)for(let e=0;e<this.prog.lbStarts.length;e++)this.add(a,this.prog.lbStarts[e],s,this.matchcap,C,null);this.matched||0!==s&&r!==_.UNANCHORED||s>=i&&(0<this.ncap&&(this.matchcap[0]=s),this.add(a,this.prog.start,s,this.matchcap,C,null));d=s+l;if(C=e.context(d),this.step(a,B,s,d,u,C,r,s===e.endPos()),0===l)break;if(0===this.ncap&&this.matched)break;s+=l,u=h,l=c,-1!==u&&(o=e.step(s+l),h=o>>3,c=7&o);var f=a;a=B,B=f}return this.freeQueue(B),this.matched}matchSet(n,e,s){var t=this.re2.cond;if(t===D.EMPTY_ALL)return[];if((s===_.ANCHOR_START||s===_.ANCHOR_BOTH)&&0!==e)return[];let i=0<this.prog.numLb?0:e;var a=e;let B=this.q0,o=this.q1,u=n.step(i),l=u>>3,h=7&u,c=-1,C=0,d=(u!==Ge.EOF()&&(u=n.step(i+h),c=u>>3,C=7&u),0===i?D.emptyOpContext(-1,l):n.context(i));for(var f=new Set;;){if(B.isEmpty()){if(0!=(t&D.EMPTY_BEGIN_TEXT)&&0!==i)break;if((s===_.ANCHOR_START||s===_.ANCHOR_BOTH)&&0!==i)break}if(0===i&&0<this.prog.numLb)for(let e=0;e<this.prog.lbStarts.length;e++)this.add(B,this.prog.lbStarts[e],i,this.matchcap,d,null);0!==i&&s!==_.UNANCHORED||i>=a&&this.add(B,this.prog.start,i,this.matchcap,d,null);var g=i+h;d=n.context(g);for(let r=0;r<B.size;r++){let t=B.denseThreads[r];if(null!==t){var p=t.inst;let e=!1;switch(p.op){case v.MATCH:s===_.ANCHOR_BOTH&&i!==n.endPos()||f.add(p.arg);break;case v.RUNE:e=p.matchRune(l);break;case v.RUNE1:e=l===p.runes[0];break;case v.RUNE_ANY:e=!0;break;case v.RUNE_ANY_NOT_NL:e=l!==E.CODES.get("\n");break;default:throw new Ke("bad inst")}null!==(t=e?this.add(o,p.out,g,t.cap,d,t):t)&&(this.freeThread(t),B.denseThreads[r]=null)}}if(B.clear(),0===h)break;i+=h,l=c,h=C,-1!==l&&(u=n.step(i+h),c=u>>3,C=7&u);var m=B;B=o,o=m}return this.freeQueue(o),Array.from(f).sort((e,t)=>e-t)}step(r,n,s,i,a,B,o,u){var l=this.re2.longest;for(let c=0;c<r.size;c++){let t=r.denseThreads[c];if(null!==t)if(l&&this.matched&&0<this.ncap&&this.matchcap[0]<t.cap[0])this.freeThread(t);else{var h=t.inst;let e=!1;switch(h.op){case v.MATCH:o===_.ANCHOR_BOTH&&!u||(0<this.ncap&&(!l||!this.matched||this.matchcap[1]<s)&&(t.cap[1]=s,this.matchcap.set(t.cap.subarray(0,this.ncap))),l||this.freeQueue(r,c+1),this.matched=!0);break;case v.RUNE:e=h.matchRune(a);break;case v.RUNE1:e=a===h.runes[0];break;case v.RUNE_ANY:e=!0;break;case v.RUNE_ANY_NOT_NL:e=a!==E.CODES.get("\n");break;default:throw new Ke("bad inst")}null!==(t=e?this.add(n,h.out,i,t.cap,B,t):t)&&(this.freeThread(t),r.denseThreads[c]=null)}}r.clear()}add(e,t,r,n,s,i){for(;;){if(0===t)return i;if(e.contains(t))return i;var a,B=e.add(t),o=this.prog.inst[t];switch(o.op){case v.FAIL:return i;case v.ALT:case v.ALT_MATCH:i=this.add(e,o.out,r,n,s,i),t=o.arg;continue;case v.EMPTY_WIDTH:if(0!=(o.arg&~s))return i;t=o.out;continue;case v.NOP:t=o.out;continue;case v.CAPTURE:if(o.arg<this.ncap)return a=n[o.arg],n[o.arg]=r,this.add(e,o.out,r,n,s,null),n[o.arg]=a,i;t=o.out;continue;case v.LB_WRITE:this.lbTable[Math.abs(o.arg)]=r,t=o.out;continue;case v.LB_CHECK:if(0<o.arg){if(this.lbTable[o.arg]===r){t=o.out;continue}}else if(this.lbTable[-o.arg]!==r){t=o.out;continue}return i;case v.MATCH:case v.RUNE:case v.RUNE1:case v.RUNE_ANY:case v.RUNE_ANY_NOT_NL:if(null===i?i=this.alloc(o):i.inst=o,0<this.ncap&&i.cap!==n)for(let e=0;e<this.ncap;e++)i.cap[e]=n[e];return e.denseThreads[B]=i,i=null;default:throw new Error("unhandled")}}}}).THREADS_CHUNK_SIZE=128,me);let We=e=>{let t=-2128831035;for(let r=0;r<e.length;r++)t^=e[r],t=Math.imul(t,16777619);return t};var Xe=class{constructor(e,t,r=[]){this.nfaStates=e,this.isMatch=t,this.matchIDs=r,this.nextLatin1=new Array(f.MAX_LATIN1+1).fill(null),this.nextLatin1Anchored=new Array(f.MAX_LATIN1+1).fill(null),this.transKeys=[],this.transVals=[],this.lastSeen=0}},Ze=((Ee=class{constructor(e,t=8388608){this.prog=e,this.stateCache=new Map,this.stateCount=0,this.startState=null,this.stateLimit=Math.max(1,Math.floor(t/Ee.STATE_MEMORY_ESTIMATE)),this.cacheClears=0,this.failed=!1,this.clock=0}computeClosure(e){var t=new Set,r=[...e];let n=!1;for(var s=[];0<r.length;){var i=r.pop();if(!t.has(i)){t.add(i);var a=this.prog.getInst(i);switch(a.op){case v.MATCH:n=!0,s.includes(a.arg)||s.push(a.arg);break;case v.ALT:case v.ALT_MATCH:r.push(a.out),r.push(a.arg);break;case v.NOP:case v.CAPTURE:r.push(a.out);break;case v.EMPTY_WIDTH:case v.LB_WRITE:case v.LB_CHECK:return null}}}var B=Int32Array.from(t).sort();return s.sort((e,t)=>e-t),{pcs:B,isMatch:n,matchIDs:s}}getState(e){var t=this.computeClosure(e);if(!t)return null;var r=t.pcs,n=We(r);let s=this.stateCache.get(n);if(s)for(let t=0;t<s.length;t++){let e=s[t];if(((e,t)=>{if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0})(e.nfaStates,r))return e.lastSeen=++this.clock,e}else s=[],this.stateCache.set(n,s);if(this.failed)return null;if(this.stateCount>=this.stateLimit){if(this.cacheClears++,this.cacheClears>=Ee.MAX_CACHE_CLEARS)return this.failed=!0,this.stateCache.clear(),this.stateCount=0,this.startState=null;this.evictCache(),(s=this.stateCache.get(n))||(s=[],this.stateCache.set(n,s))}let i=new Xe(r,t.isMatch,t.matchIDs);return i.lastSeen=++this.clock,s.push(i),this.stateCount++,i}evictCache(){var t,r=[];for(t of this.stateCache.values())for(let e=0;e<t.length;e++)r.push(t[e]);r.sort((e,t)=>e.lastSeen-t.lastSeen);var e=Math.max(1,Math.floor(this.stateLimit/2)),n=r.slice(r.length-e),e=new Set(n);this.stateCache.clear();for(let a=this.stateCount=0;a<n.length;a++){var s=n[a],i=(s.nextLatin1.fill(null),s.nextLatin1Anchored.fill(null),s.transKeys.length=0,s.transVals.length=0,We(s.nfaStates));let e=this.stateCache.get(i);e||(e=[],this.stateCache.set(i,e)),e.push(s),this.stateCount++}this.startState&&!e.has(this.startState)&&(this.startState=null)}step(t,r,n){if(r<=f.MAX_LATIN1)if(n===_.UNANCHORED){var e=t.nextLatin1[r];if(null!==e)return e}else{e=t.nextLatin1Anchored[r];if(null!==e)return e}else{var s=r+(n===_.UNANCHORED?0:f.MAX_RUNE+1),i=t.transKeys,a=i.length;for(let e=0;e<a;e++)if(i[e]===s)return t.transVals[e]}var B=[];for(let l=0;l<t.nfaStates.length;l++){var o=t.nfaStates[l],o=this.prog.getInst(o);v.isRuneOp(o.op)&&o.matchRune(r)&&B.push(o.out)}n===_.UNANCHORED&&B.push(this.prog.start);var u,e=this.getState(B);return r<=f.MAX_LATIN1?n===_.UNANCHORED?t.nextLatin1[r]=e:t.nextLatin1Anchored[r]=e:(u=r+(n===_.UNANCHORED?0:f.MAX_RUNE+1),t.transKeys.push(u),t.transVals.push(e)),e}match(r,n,s){if(s!==_.ANCHOR_START&&s!==_.ANCHOR_BOTH||0===n){if(!this.startState&&(this.startState=this.getState([this.prog.start]),!this.startState))return null;var i=r.endPos();let e=this.startState;if(e.isMatch){if(s!==_.ANCHOR_BOTH)return!0;if(n===i)return!0}let t=n;for(;t<i;){var a=r.step(t),B=a>>3,a=7&a;if(0==a)break;if(null===(e=s===_.UNANCHORED&&B<=f.MAX_LATIN1&&e.nextLatin1[B]||this.step(e,B,s)))return null;if(e.lastSeen=++this.clock,e.isMatch){if(s!==_.ANCHOR_BOTH)return!0;if(t+a===i)return!0}if(0===e.nfaStates.length&&s!==_.UNANCHORED)return!1;t+=a}}return!1}matchSet(e,t,r){if((r===_.ANCHOR_START||r===_.ANCHOR_BOTH)&&0!==t)return[];if(!this.startState&&(this.startState=this.getState([this.prog.start]),!this.startState))return null;let n=e.endPos(),s=this.startState,i=new Set;var a=(e,t)=>{e.isMatch&&(r===_.ANCHOR_BOTH?t===n&&e.matchIDs.forEach(e=>i.add(e)):e.matchIDs.forEach(e=>i.add(e)))};a(s,t);let B=t;for(;B<n;){var o=e.step(B),u=o>>3,o=7&o;if(0==o)break;if(null===(s=r===_.UNANCHORED&&u<=f.MAX_LATIN1&&s.nextLatin1[u]||this.step(s,u,r)))return null;if(s.lastSeen=++this.clock,B+=o,a(s,B),0===s.nfaStates.length&&r!==_.UNANCHORED)break}return Array.from(i).sort((e,t)=>e-t)}}).MAX_CACHE_CLEARS=5,Ee.STATE_MEMORY_ESTIMATE=838,Ee);var $e=class{constructor(){this.end=0,this.cap=new Int32Array(0),this.matchcap=new Int32Array(0),this.ncap=0,this.jobPc=new Int32Array(256),this.jobArg=new Uint8Array(256),this.jobPos=new Int32Array(256),this.jobLen=0,this.visited=new Uint32Array(0)}reset(e,t,r){this.end=t,this.jobLen=0,this.ncap=r;var n=e.numInst()*(t+1)+32-1>>>5;this.visited.length<n?this.visited=new Uint32Array(n):this.visited.fill(0,0,n),this.cap.length<r?this.cap=new Int32Array(r).fill(-1):this.cap.fill(-1,0,r),this.matchcap.length<r?this.matchcap=new Int32Array(r).fill(-1):this.matchcap.fill(-1,0,r)}shouldVisit(e,t){var r=e*(this.end+1)+t,n=r>>>5,r=1<<(31&r);return 0==(this.visited[n]&r)&&(this.visited[n]|=r,!0)}push(e,t,r,n){var s,i;e.prog.getInst(t).op!==v.FAIL&&(n||this.shouldVisit(t,r))&&(this.jobLen>=this.jobPc.length&&(s=2*this.jobPc.length,(i=new Int32Array(s)).set(this.jobPc),this.jobPc=i,(i=new Uint8Array(s)).set(this.jobArg),this.jobArg=i,(i=new Int32Array(s)).set(this.jobPos),this.jobPos=i),this.jobPc[this.jobLen]=t,this.jobArg[this.jobLen]=n?1:0,this.jobPos[this.jobLen]=r,this.jobLen++)}tryBacktrack(s,i,e,t,a){var B=s.longest;for(this.push(s,e,t,!1);0<this.jobLen;){this.jobLen--;let e=this.jobPc[this.jobLen],t=1===this.jobArg[this.jobLen],r=this.jobPos[this.jobLen],n=!0;for(;;){if(!n&&!this.shouldVisit(e,r))break;n=!1;var o=s.prog.getInst(e);switch(o.op){case v.FAIL:throw new Ke("unexpected InstFail");case v.ALT:if(t){t=!1,e=o.arg;continue}this.push(s,e,r,!0),e=o.out;continue;case v.ALT_MATCH:var u=s.prog.getInst(o.out);if(v.isRuneOp(u.op)){this.push(s,o.arg,r,!1),e=o.arg,r=this.end;continue}this.push(s,o.out,this.end,!1),e=o.out;continue;case v.RUNE:u=i.step(r);if(u===Ge.EOF())break;if(!o.matchRune(u>>3))break;r+=7&u,e=o.out;continue;case v.RUNE1:var l=i.step(r);if(l===Ge.EOF())break;if(l>>3!==o.runes[0])break;r+=7&l,e=o.out;continue;case v.RUNE_ANY_NOT_NL:l=i.step(r);if(l===Ge.EOF())break;if(l>>3==10)break;r+=7&l,e=o.out;continue;case v.RUNE_ANY:var h=i.step(r);if(h===Ge.EOF())break;r+=7&h,e=o.out;continue;case v.CAPTURE:if(t){this.cap[o.arg]=r;break}o.arg<this.ncap&&(this.push(s,e,this.cap[o.arg],!0),this.cap[o.arg]=r),e=o.out;continue;case v.EMPTY_WIDTH:h=i.context(r);if(0!=(o.arg&~h))break;e=o.out;continue;case v.NOP:e=o.out;continue;case v.MATCH:if(a!==_.ANCHOR_BOTH||r===this.end){if(0===this.ncap)return!0;1<this.ncap&&(this.cap[1]=r);var c=this.matchcap[1];if((-1===c||B&&0<r&&r>c)&&this.matchcap.set(this.cap),!B)return!0;if(r===this.end)return!0}break;case v.LB_WRITE:case v.LB_CHECK:throw new Ke("Backtracker cannot evaluate Lookbehind instructions");default:throw new Ke("bad inst")}break}}return B&&1<this.matchcap.length&&0<=this.matchcap[1]}};let et=[];var tt=class tt{static shouldBacktrack(e){return e.numInst()<=500}static maxBitStateLen(e){return tt.shouldBacktrack(e)?Math.floor(262144/e.numInst()):0}static execute(t,r,n,s,e){var i=t.cond;if(i===D.EMPTY_ALL)return null;if((s===_.ANCHOR_START||s===_.ANCHOR_BOTH)&&0!==n)return null;if(0!=(i&D.EMPTY_BEGIN_TEXT)&&0!==n)return null;var a=0<et.length?et.pop():new $e,B=r.endPos();a.reset(t.prog,B,e);let o=!1;if(0!=(i&D.EMPTY_BEGIN_TEXT)||s===_.ANCHOR_START||s===_.ANCHOR_BOTH)0<a.ncap&&(a.cap[0]=n),a.tryBacktrack(t,r,t.prog.start,n,s)&&(o=!0);else{let e=-1;for(;n<=B&&0!==e;n+=e){if(0<t.prefix.length){var u=r.index(t,n);if(u<0)break;n+=u}if(0<a.ncap&&(a.cap[0]=n),a.tryBacktrack(t,r,t.prog.start,n,s)){o=!0;break}u=r.step(n);e=u===Ge.EOF()?0:7&u}}return o?(i=0===e?[]:D.toArray(a.matchcap.subarray(0,e)),et.push(a),i):(et.push(a),null)}},rt=class{constructor(e){this.sparse=new Uint32Array(e),this.dense=new Uint32Array(e),this.size=0,this.nextIndex=0}empty(){return this.nextIndex>=this.size}next(){return this.dense[this.nextIndex++]}clear(){this.size=0,this.nextIndex=0}contains(e){return e<this.sparse.length&&this.sparse[e]<this.size&&this.dense[this.sparse[e]]===e}insert(e){this.contains(e)||this.insertNew(e)}insertNew(e){e>=this.sparse.length||(this.sparse[e]=this.size,this.dense[this.size]=e,this.size++)}};var nt=class{constructor(e){this.start=e.start,this.numCap=e.numCap,this.inst=new Array(e.inst.length);for(let n=0;n<e.inst.length;n++){var t=e.inst[n],r=new v(t.op);r.out=t.out,r.arg=t.arg,r.runes=t.runes?t.runes.slice():[],r.next=null,this.inst[n]=r}}};var st=class st{static compile(e){if(0===e.start)return null;if(0<e.numLb)return null;var t=e.inst[e.start];if(t.op!==v.EMPTY_WIDTH||0==(t.arg&D.EMPTY_BEGIN_TEXT))return null;let r=!1;for(let i=0;i<e.inst.length;i++)if(e.inst[i].op===v.ALT||e.inst[i].op===v.ALT_MATCH){r=!0;break}for(let a=0;a<e.inst.length;a++){var n=e.inst[a],s=e.inst[n.out].op;switch(n.op){case v.ALT:case v.ALT_MATCH:if(s===v.MATCH||e.inst[n.arg].op===v.MATCH)return null;break;case v.EMPTY_WIDTH:if(s!==v.MATCH)break;if((n.arg&D.EMPTY_END_TEXT)===D.EMPTY_END_TEXT)continue;return null;default:if(s===v.MATCH&&r)return null}}return null!==(t=(e=>{if(1e3<=e.inst.length)return null;let l=new rt(e.inst.length),h=new rt(e.inst.length),c=new Array(e.inst.length),C=new Array(e.inst.length).fill(!1),d=t=>{let r=!0;var n=e.inst[t];if(h.contains(t))return!0;switch(h.insert(t),n.op){case v.ALT:case v.ALT_MATCH:{r=d(n.out)&&d(n.arg);let e=C[n.out];var s=C[n.arg];if(e&&s)return!1;s&&(i=n.out,n.out=n.arg,n.arg=i,e,e=s,0),e&&(C[t]=!0,n.op=v.ALT_MATCH);var i=((s,i,a,B)=>{var e=s.length,t=i.length;let o=0,u=0,l=[],h=[],r=!0,c=-1;for(var n=e=>{var t=e?s:i,r=e?o:u,n=e?a:B;return!(0<c&&t[r]<=l[c]||(l.push(t[r],t[r+1]),e?o+=2:u+=2,c+=2,h.push(n),0))};o<e||u<t;)if(!(r=!(u>=t)&&(o>=e||i[u]<s[o])?n(!1):n(!0)))return null;return{merged:l,next:h}})(c[n.out]||[],c[n.arg]||[],n.out,n.arg);if(!i)return!1;c[t]=i.merged,n.next=new Uint32Array(i.next);break}case v.CAPTURE:case v.EMPTY_WIDTH:case v.NOP:r=d(n.out),C[t]=C[n.out],c[t]=c[n.out]?c[n.out].slice():[],n.next=new Uint32Array(Math.floor(c[t].length/2)+1).fill(n.out);break;case v.MATCH:case v.FAIL:C[t]=n.op===v.MATCH;break;case v.RUNE:if(C[t]=!1,!(n.next&&0<n.next.length))if(l.insert(n.out),n.runes&&0!==n.runes.length){var a=[];if(1===n.runes.length&&0!=(n.arg&_.FOLD_CASE)){var B=n.runes[0];a.push(B,B);for(let e=f.simpleFold(B);e!==B;e=f.simpleFold(e))a.push(e,e);a.sort((e,t)=>e-t)}else for(let e=0;e<n.runes.length;e++)a.push(n.runes[e]);c[t]=a,n.next=new Uint32Array(Math.floor(a.length/2)+1).fill(n.out),n.op=v.RUNE}else c[t]=[],n.next=new Uint32Array([n.out]);break;case v.RUNE1:if(C[t]=!1,!(n.next&&0<n.next.length)){l.insert(n.out);var o=[];if(0!=(n.arg&_.FOLD_CASE)){var u=n.runes[0];o.push(u,u);for(let e=f.simpleFold(u);e!==u;e=f.simpleFold(e))o.push(e,e);o.sort((e,t)=>e-t)}else o.push(n.runes[0],n.runes[0]);c[t]=o,n.next=new Uint32Array(Math.floor(o.length/2)+1).fill(n.out),n.op=v.RUNE}break;case v.RUNE_ANY:C[t]=!1,n.next&&0<n.next.length||(l.insert(n.out),c[t]=[0,f.MAX_RUNE],n.next=new Uint32Array([n.out]));break;case v.RUNE_ANY_NOT_NL:C[t]=!1,n.next&&0<n.next.length||(l.insert(n.out),c[t]=[0,9,11,f.MAX_RUNE],n.next=new Uint32Array(Math.floor(c[t].length/2)+1).fill(n.out))}return r};for(l.clear(),l.insert(e.start);!l.empty();)if(h.clear(),!d(l.next()))return null;for(let t=0;t<e.inst.length;t++)c[t]&&(e.inst[t].runes=c[t]);return e})((e=>{var t=new nt(e);for(let B=0;B<t.inst.length;B++){var a=t.inst[B];if(a.op===v.ALT||a.op===v.ALT_MATCH){let n="out",s="arg",i=t.inst[a[s]];if(i.op===v.ALT||i.op===v.ALT_MATCH||(n="arg",s="out",(i=t.inst[a[s]]).op===v.ALT)||i.op===v.ALT_MATCH){var r=t.inst[a[n]];if(r.op!==v.ALT&&r.op!==v.ALT_MATCH){let e="out",t="arg",r=!1;i.out===B?r=!0:i.arg===B&&(r=!0,e="arg",t="out"),r&&(i[e]=a[n]),a[n]===i[e]&&(a[s]=i[t])}}}}return t})(e)))&&((e,t)=>{for(let n=0;n<t.inst.length;n++){var r=t.inst[n];switch(r.op){case v.ALT:case v.ALT_MATCH:case v.RUNE:break;case v.CAPTURE:case v.EMPTY_WIDTH:case v.NOP:case v.MATCH:case v.FAIL:e.inst[n].next=null;break;case v.RUNE1:case v.RUNE_ANY:case v.RUNE_ANY_NOT_NL:e.inst[n].next=null,e.inst[n].op=r.op,e.inst[n].runes=r.runes?r.runes.slice():[]}}})(t,e),t}static next(e,t){var r=e.matchRunePos(t);return 0<=r?e.next[r]:e.op===v.ALT_MATCH?e.out:0}static execute(e,t,r,n,s){var i=e.onepass;if(!i)return null;var a=new Int32Array(s).fill(-1);let B=!1;var o,u=t.step(r);let l=u>>3,h=7&u,c=Ge.EOF(),C=-1,d=0,f=(u!==Ge.EOF()&&(c=t.step(r+h))!==Ge.EOF()&&(C=c>>3,d=7&c),0===r?D.emptyOpContext(-1,l):t.context(r)),g=i.start;for(;;){switch(o=i.inst[g],g=o.out,o.op){case v.MATCH:return n===_.ANCHOR_BOTH&&r!==t.endPos()?null:(B=!0,0<a.length&&(a[0]=0,a[1]=r),0===s?[]:D.toArray(a));case v.RUNE:if(o.matchRune(l))break;return null;case v.RUNE1:if(l!==o.runes[0])return null;break;case v.RUNE_ANY:break;case v.RUNE_ANY_NOT_NL:if(10===l)return null;break;case v.ALT:case v.ALT_MATCH:g=st.next(o,l);continue;case v.FAIL:return null;case v.NOP:continue;case v.EMPTY_WIDTH:if(0!=(o.arg&~f))return null;continue;case v.CAPTURE:o.arg<a.length&&(a[o.arg]=r);continue;default:throw new Ke("bad inst")}if(0===h)break;f=D.emptyOpContext(l,C),r+=h,l=C,h=d,-1!==l&&(c=t.step(r+h),d=c!==Ge.EOF()?(C=c>>3,7&c):(C=-1,0))}return B?0===s?[]:D.toArray(a):null}},I=((u=class{static isPseudoOp(e){return e>=u.Op.LEFT_PAREN}static emptySubs(){return[]}static quoteIfHyphen(e){return e===E.CODES.get("-")?"\\":""}static fromRegexp(e){var t=new u(e.op);return t.flags=e.flags,t.subs=e.subs,t.runes=e.runes,t.cap=e.cap,t.min=e.min,t.max=e.max,t.name=e.name,t.namedGroups=e.namedGroups,t.lb=e.lb,t}constructor(e){this.op=e,this.flags=0,this.subs=u.emptySubs(),this.runes=[],this.min=0,this.max=0,this.cap=0,this.name=null,this.namedGroups=Object.create(null),this.lb=0}reinit(){this.flags=0,this.subs=u.emptySubs(),this.runes=[],this.cap=0,this.min=0,this.max=0,this.name=null,this.namedGroups=Object.create(null),this.lb=0}toString(){return this.appendTo()}appendTo(){let t="";switch(this.op){case u.Op.NO_MATCH:t+="[^\\x00-\\x{10FFFF}]";break;case u.Op.EMPTY_MATCH:t+="(?:)";break;case u.Op.STAR:case u.Op.PLUS:case u.Op.QUEST:case u.Op.REPEAT:var e=this.subs[0];switch(e.op>u.Op.CAPTURE||e.op===u.Op.LITERAL&&1<e.runes.length?t+=`(?:${e.appendTo()})`:t+=e.appendTo(),this.op){case u.Op.STAR:t+="*";break;case u.Op.PLUS:t+="+";break;case u.Op.QUEST:t+="?";break;case u.Op.REPEAT:t+="{"+this.min,this.min!==this.max&&(t+=",",0<=this.max)&&(t+=this.max),t+="}"}0!=(this.flags&_.NON_GREEDY)&&(t+="?");break;case u.Op.CONCAT:for(var r of this.subs)r.op===u.Op.ALTERNATE?t+=`(?:${r.appendTo()})`:t+=r.appendTo();break;case u.Op.ALTERNATE:{let e="";for(var n of this.subs)t+=e,e="|",t+=n.appendTo();break}case u.Op.LITERAL:0!=(this.flags&_.FOLD_CASE)&&(t+="(?i:");for(var s of this.runes)t+=D.escapeRune(s);0!=(this.flags&_.FOLD_CASE)&&(t+=")");break;case u.Op.ANY_CHAR_NOT_NL:t+="(?-s:.)";break;case u.Op.ANY_CHAR:t+="(?s:.)";break;case u.Op.PLB:t+=`(?<=${this.subs[0].appendTo()})`;break;case u.Op.NLB:t+=`(?<!${this.subs[0].appendTo()})`;break;case u.Op.CAPTURE:null===this.name||0===this.name.length?t+="(":t+=`(?P<${this.name}>`,this.subs[0].op!==u.Op.EMPTY_MATCH&&(t+=this.subs[0].appendTo()),t+=")";break;case u.Op.BEGIN_TEXT:t+="\\A";break;case u.Op.END_TEXT:0!=(this.flags&_.WAS_DOLLAR)?t+="(?-m:$)":t+="\\z";break;case u.Op.BEGIN_LINE:t+="^";break;case u.Op.END_LINE:t+="$";break;case u.Op.WORD_BOUNDARY:t+="\\b";break;case u.Op.NO_WORD_BOUNDARY:t+="\\B";break;case u.Op.CHAR_CLASS:if(this.runes.length%2!=0)t+="[invalid char class]";else{if(t+="[",0===this.runes.length)t+="^\\x00-\\x{10FFFF}";else if(0===this.runes[0]&&this.runes[this.runes.length-1]===f.MAX_RUNE){t+="^";for(let e=1;e<this.runes.length-1;e+=2){var i=this.runes[e]+1,a=this.runes[e+1]-1;t=(t+=u.quoteIfHyphen(i))+D.escapeRune(i),i!==a&&(t=(t=(t+="-")+u.quoteIfHyphen(a))+D.escapeRune(a))}}else for(let e=0;e<this.runes.length;e+=2){var B=this.runes[e],o=this.runes[e+1];t=(t+=u.quoteIfHyphen(B))+D.escapeRune(B),B!==o&&(t=(t=(t+="-")+u.quoteIfHyphen(o))+D.escapeRune(o))}t+="]"}break;default:t+=this.op}return t}maxCap(){let e=0;if(this.op===u.Op.CAPTURE&&(e=this.cap),null!==this.subs)for(var t of this.subs){t=t.maxCap();e<t&&(e=t)}return e}equals(t){if(!(null!==t&&t instanceof u))return!1;if(this.op!==t.op)return!1;switch(this.op){case u.Op.END_TEXT:if((this.flags&_.WAS_DOLLAR)!=(t.flags&_.WAS_DOLLAR))return!1;break;case u.Op.LITERAL:case u.Op.CHAR_CLASS:if(null!==this.runes||null!==t.runes){if(null===this.runes||null===t.runes)return!1;if(this.runes.length!==t.runes.length)return!1;for(let e=0;e<this.runes.length;e++)if(this.runes[e]!==t.runes[e])return!1}break;case u.Op.ALTERNATE:case u.Op.CONCAT:if(this.subs.length!==t.subs.length)return!1;for(let e=0;e<this.subs.length;++e)if(!this.subs[e].equals(t.subs[e]))return!1;break;case u.Op.STAR:case u.Op.PLUS:case u.Op.QUEST:if((this.flags&_.NON_GREEDY)==(t.flags&_.NON_GREEDY)&&this.subs[0].equals(t.subs[0]))break;return!1;case u.Op.REPEAT:if((this.flags&_.NON_GREEDY)==(t.flags&_.NON_GREEDY)&&this.min===t.min&&this.max===t.max&&this.subs[0].equals(t.subs[0]))break;return!1;case u.Op.CAPTURE:if(this.cap===t.cap&&(null===this.name?null===t.name:this.name===t.name)&&this.subs[0].equals(t.subs[0]))break;return!1;case u.Op.PLB:case u.Op.NLB:if(this.lb===t.lb&&this.subs[0].equals(t.subs[0]))break;return!1}return!0}}).Op=e(["NO_MATCH","EMPTY_MATCH","LITERAL","CHAR_CLASS","ANY_CHAR_NOT_NL","ANY_CHAR","BEGIN_LINE","END_LINE","BEGIN_TEXT","END_TEXT","WORD_BOUNDARY","NO_WORD_BOUNDARY","CAPTURE","STAR","PLUS","QUEST","REPEAT","CONCAT","ALTERNATE","PLB","NLB","LEFT_PAREN","VERTICAL_BAR"]),u),it=class{constructor(e){this.next=[Object.create(null)],this.fail=[0],this.match=[!1];for(var r of e){let e=0;for(let t=0;t<r.length;t++){var n=r[t];n in this.next[e]||(this.next.push(Object.create(null)),this.fail.push(0),this.match.push(!1),this.next[e][n]=this.next.length-1),e=this.next[e][n]}this.match[e]=!0}var t,s,i=[];for(t in this.next[0])Object.prototype.hasOwnProperty.call(this.next[0],t)&&(s=this.next[0][t],this.fail[s]=0,i.push(s));for(;0<i.length;){var a,B=i.shift();for(a in this.next[B])if(Object.prototype.hasOwnProperty.call(this.next[B],a)){var o=this.next[B][a];let e=this.fail[B];for(;0!==e&&!(a in this.next[e]);)e=this.fail[e];a in this.next[e]?this.fail[o]=this.next[e][a]:this.fail[o]=0,this.match[o]=this.match[o]||this.match[this.fail[o]],i.push(o)}}}searchUTF16(e,t,r){let n=0;for(let i=t;i<r;i++){for(var s=e.charCodeAt(i);0!==n&&!(s in this.next[n]);)n=this.fail[n];if(s in this.next[n]&&(n=this.next[n][s]),this.match[n])return!0}return!1}searchUTF8(e,t,r){let n=0;for(let i=t;i<r;i++){for(var s=e[i];0!==n&&!(s in this.next[n]);)n=this.fail[n];if(s in this.next[n]&&(n=this.next[n][s]),this.match[n])return!0}return!1}},c=((De=class{constructor(e){this.type=e,this.subs=[],this.str="",this.bytes=null,this.ac16=null,this.ac8=null}eval(r,n){switch(this.type){case De.Type.NONE:return!0;case De.Type.EXACT:return r.hasString(this,n);case De.Type.AND:for(let e=0;e<this.subs.length;e++)if(!this.subs[e].eval(r,n))return!1;return!0;case De.Type.OR:if(this.ac16&&this.ac8)return r.hasAnyString(this,n);for(let t=0;t<this.subs.length;t++)if(this.subs[t].eval(r,n))return!0;return!1;default:return!0}}}).Type={NONE:0,EXACT:1,AND:2,OR:3},De),at=class at{static build(e){var t=at.fromRegexp(e);return at.simplify(t)}static fromRegexp(r){if(!r)return new c(c.Type.NONE);switch(r.op){case I.Op.PLB:case I.Op.NLB:case I.Op.NO_MATCH:case I.Op.EMPTY_MATCH:case I.Op.BEGIN_LINE:case I.Op.END_LINE:case I.Op.BEGIN_TEXT:case I.Op.END_TEXT:case I.Op.WORD_BOUNDARY:case I.Op.NO_WORD_BOUNDARY:case I.Op.CHAR_CLASS:case I.Op.ANY_CHAR_NOT_NL:case I.Op.ANY_CHAR:return new c(c.Type.NONE);case I.Op.LITERAL:{if(0===r.runes.length||0!=(r.flags&_.FOLD_CASE))return new c(c.Type.NONE);var n=new c(c.Type.EXACT);let e="";for(let t=0;t<r.runes.length;t++)e+=String.fromCodePoint(r.runes[t]);return n.str=e,n.bytes=D.stringToUtf8ByteArray(n.str),n}case I.Op.CAPTURE:case I.Op.PLUS:return at.fromRegexp(r.subs[0]);case I.Op.REPEAT:return 1<=r.min?at.fromRegexp(r.subs[0]):new c(c.Type.NONE);case I.Op.CONCAT:var e,t=new c(c.Type.AND);for(e of r.subs)t.subs.push(at.fromRegexp(e));return t;case I.Op.ALTERNATE:var s,i=new c(c.Type.OR);for(s of r.subs)i.subs.push(at.fromRegexp(s));return i;default:return new c(c.Type.NONE)}}static simplify(t){if(t.type!==c.Type.EXACT&&t.type!==c.Type.NONE){if(t.type===c.Type.AND){var e,r=[];for(e of t.subs){var n=at.simplify(e);if(n.type!==c.Type.NONE)if(n.type===c.Type.AND)for(let e=0;e<n.subs.length;e++)r.push(n.subs[e]);else r.push(n)}return 0===r.length?new c(c.Type.NONE):1===r.length?r[0]:(t.subs=r,t)}if(t.type===c.Type.OR){var s,i=[];for(s of t.subs){var a=at.simplify(s);if(a.type===c.Type.NONE)return new c(c.Type.NONE);if(a.type===c.Type.OR)for(let e=0;e<a.subs.length;e++)i.push(a.subs[e]);else i.push(a)}if(0===i.length)return new c(c.Type.NONE);if(1===i.length)return i[0];var B,o,u=new Set,l=[];for(B of i)B.type===c.Type.EXACT?u.has(B.str)||(u.add(B.str),l.push(B)):l.push(B);let e=!0;for(o of t.subs=l)if(o.type!==c.Type.EXACT){e=!1;break}e&&1<l.length&&(t.ac16=new it(l.map(e=>{var t=[];for(let r=0;r<e.str.length;r++)t.push(e.str.charCodeAt(r));return t})),t.ac8=new it(l.map(e=>e.bytes)))}}return t}},Bt=class{constructor(e=0,t=0){this.head=e,this.tail=t}},ot=class{constructor(){this.inst=[],this.start=0,this.numCap=2,this.lbStarts=[],this.numLb=0}getInst(e){return this.inst[e]}numInst(){return this.inst.length}addInst(e){this.inst.push(new v(e))}skipNop(e){let t=this.inst[e];for(;t.op===v.NOP||t.op===v.CAPTURE;)e=(t=this.inst[e]).out;return t}prefix(){let e="",t=this.skipNop(this.start);if(v.isRuneOp(t.op)&&1===t.runes.length)for(;v.isRuneOp(t.op)&&1===t.runes.length&&0==(t.arg&_.FOLD_CASE);)e+=String.fromCodePoint(t.runes[0]),t=this.skipNop(t.out);return[t.op===v.MATCH,e]}startCond(){let e=0,t=this.start;e:for(;;){var r=this.inst[t];switch(r.op){case v.EMPTY_WIDTH:e|=r.arg;break;case v.FAIL:return-1;case v.CAPTURE:case v.NOP:break;default:break e}t=r.out}return e}patch(e,t){let r=e.head;for(;0!==r;){var n=this.inst[r>>1];0==(1&r)?(r=n.out,n.out=t):(r=n.arg,n.arg=t)}}append(e,t){var r;return 0===e.head?t:0===t.head?e:(r=this.inst[e.tail>>1],0==(1&e.tail)?r.out=t.head:r.arg=t.head,new Bt(e.head,t.tail))}toString(){let e="";for(let r=0;r<this.inst.length;r++){var t=e.length;e+=r,r===this.start&&(e+="*"),e=(e+="        ".substring(e.length-t))+this.inst[r]+"\n"}return e}},ut=class{constructor(e=0,t=new Bt,r=!1){this.i=e,this.out=t,this.nullable=r}},lt=class lt{static ANY_RUNE_NOT_NL(){return[0,E.CODES.get("\n")-1,E.CODES.get("\n")+1,f.MAX_RUNE]}static ANY_RUNE(){return[0,f.MAX_RUNE]}static compileRegexp(e){var t=new lt,r=t.compile(e);return t.prog.patch(r.out,t.newInst(v.MATCH).i),t.prog.start=r.i,t.prog}static compileSet(n){var s=new lt;if(0===n.length)s.prog.start=s.newInst(v.FAIL).i;else{var i=[];for(let t=0;t<n.length;t++){var a=s.compile(n[t]),B=s.newInst(v.MATCH);s.prog.getInst(B.i).arg=t,s.prog.patch(a.out,B.i),i.push(a.i)}let e=i[0];for(let r=1;r<i.length;r++){var o=s.newInst(v.ALT),u=s.prog.getInst(o.i);u.out=e,u.arg=i[r],e=o.i}s.prog.start=e}return s.prog}constructor(){this.prog=new ot,this.newInst(v.FAIL)}newInst(e){return this.prog.addInst(e),new ut(this.prog.numInst()-1,new Bt,!0)}nop(){var e=this.newInst(v.NOP);return e.out=new Bt(e.i<<1,e.i<<1),e}fail(){return new ut}cap(e){var t=this.newInst(v.CAPTURE);return t.out=new Bt(t.i<<1,t.i<<1),this.prog.getInst(t.i).arg=e,this.prog.numCap<e+1&&(this.prog.numCap=e+1),t}cat(e,t){return 0===e.i||0===t.i?this.fail():(this.prog.patch(e.out,t.i),new ut(e.i,t.out,e.nullable&&t.nullable))}alt(e,t){var r,n;return 0===e.i?t:0===t.i?e:(r=this.newInst(v.ALT),(n=this.prog.getInst(r.i)).out=e.i,n.arg=t.i,r.out=this.prog.append(e.out,t.out),r.nullable=e.nullable||t.nullable,r)}loop(e,t){var r=this.newInst(v.ALT),n=this.prog.getInst(r.i);return t?(n.arg=e.i,r.out=new Bt(r.i<<1,r.i<<1)):(n.out=e.i,r.out=new Bt(r.i<<1|1,r.i<<1|1)),this.prog.patch(e.out,r.i),r}quest(e,t){var r=this.newInst(v.ALT),n=this.prog.getInst(r.i);return t?(n.arg=e.i,r.out=new Bt(r.i<<1,r.i<<1)):(n.out=e.i,r.out=new Bt(r.i<<1|1,r.i<<1|1)),r.out=this.prog.append(r.out,e.out),r}star(e,t){return e.nullable?this.quest(this.plus(e,t),t):this.loop(e,t)}plus(e,t){return new ut(e.i,this.loop(e,t).out,e.nullable)}empty(e){var t=this.newInst(v.EMPTY_WIDTH);return this.prog.getInst(t.i).arg=e,t.out=new Bt(t.i<<1,t.i<<1),t}rune(e,t){var r=this.newInst(v.RUNE),n=(r.nullable=!1,this.prog.getInst(r.i));return n.runes=e,t&=_.FOLD_CASE,1===e.length&&f.simpleFold(e[0])!==e[0]||(t&=~_.FOLD_CASE),n.arg=t,r.out=new Bt(r.i<<1,r.i<<1),0==(t&_.FOLD_CASE)&&1===e.length||2===e.length&&e[0]===e[1]?n.op=v.RUNE1:2===e.length&&0===e[0]&&e[1]===f.MAX_RUNE?n.op=v.RUNE_ANY:4===e.length&&0===e[0]&&e[1]===E.CODES.get("\n")-1&&e[2]===E.CODES.get("\n")+1&&e[3]===f.MAX_RUNE&&(n.op=v.RUNE_ANY_NOT_NL),r}lookBehind(e,t){var r=this.newInst(v.LB_WRITE),n=(this.prog.getInst(r.i).arg=t,this.rune(lt.ANY_RUNE(),0)),n=this.star(n,!0),n=this.cat(n,e),r=(this.prog.patch(n.out,r.i),this.newInst(v.LB_CHECK));return this.prog.getInst(r.i).arg=t,this.prog.lbStarts.push(n.i),Math.abs(t)>this.prog.numLb&&(this.prog.numLb=Math.abs(t)),r.out=new Bt(r.i<<1,r.i<<1),r}compile(t){switch(t.op){case I.Op.NO_MATCH:return this.fail();case I.Op.EMPTY_MATCH:return this.nop();case I.Op.LITERAL:if(0===t.runes.length)return this.nop();{let e=null;for(var r of t.runes){r=this.rune([r],t.flags);e=null===e?r:this.cat(e,r)}return e}case I.Op.CHAR_CLASS:return this.rune(t.runes,t.flags);case I.Op.ANY_CHAR_NOT_NL:return this.rune(lt.ANY_RUNE_NOT_NL(),0);case I.Op.ANY_CHAR:return this.rune(lt.ANY_RUNE(),0);case I.Op.BEGIN_LINE:return this.empty(D.EMPTY_BEGIN_LINE);case I.Op.END_LINE:return this.empty(D.EMPTY_END_LINE);case I.Op.BEGIN_TEXT:return this.empty(D.EMPTY_BEGIN_TEXT);case I.Op.END_TEXT:return this.empty(D.EMPTY_END_TEXT);case I.Op.WORD_BOUNDARY:return this.empty(D.EMPTY_WORD_BOUNDARY);case I.Op.NO_WORD_BOUNDARY:return this.empty(D.EMPTY_NO_WORD_BOUNDARY);case I.Op.PLB:case I.Op.NLB:return this.lookBehind(this.compile(t.subs[0]),t.lb);case I.Op.CAPTURE:var e=this.cap(t.cap<<1),n=this.compile(t.subs[0]),s=this.cap(t.cap<<1|1);return this.cat(this.cat(e,n),s);case I.Op.STAR:return this.star(this.compile(t.subs[0]),0!=(t.flags&_.NON_GREEDY));case I.Op.PLUS:return this.plus(this.compile(t.subs[0]),0!=(t.flags&_.NON_GREEDY));case I.Op.QUEST:return this.quest(this.compile(t.subs[0]),0!=(t.flags&_.NON_GREEDY));case I.Op.CONCAT:if(0===t.subs.length)return this.nop();{let e=null;for(var i of t.subs){i=this.compile(i);e=null===e?i:this.cat(e,i)}return e}case I.Op.ALTERNATE:if(0===t.subs.length)return this.nop();{let e=null;for(var a of t.subs){a=this.compile(a);e=null===e?a:this.alt(e,a)}return e}default:throw new Ue("regexp: unhandled case in compile")}}},ht=class ht{static simplify(n){if(null===n)return null;switch(n.op){case I.Op.PLB:case I.Op.NLB:case I.Op.CAPTURE:var s=ht.simplify(n.subs[0]);return s!==n.subs[0]?((e=I.fromRegexp(n)).runes=[],e.subs=[s],e):n;case I.Op.CONCAT:case I.Op.ALTERNATE:{var r=[];let t=!1;for(let e=0;e<n.subs.length;e++){var i=n.subs[e],a=ht.simplify(i);if(a!==i&&(t=!0),n.op===I.Op.CONCAT){if(a.op===I.Op.NO_MATCH)return new I(I.Op.NO_MATCH);if(a.op===I.Op.EMPTY_MATCH){t=!0;continue}if(a.op===I.Op.CONCAT){t=!0;for(let e=0;e<a.subs.length;e++)r.push(a.subs[e]);continue}}else if(n.op===I.Op.ALTERNATE){if(a.op===I.Op.NO_MATCH){t=!0;continue}if(a.op===I.Op.ALTERNATE){t=!0;for(let e=0;e<a.subs.length;e++)r.push(a.subs[e]);continue}}r.push(a)}return t?0===r.length?new I(n.op===I.Op.CONCAT?I.Op.EMPTY_MATCH:I.Op.NO_MATCH):1===r.length?r[0]:((s=I.fromRegexp(n)).runes=[],s.subs=r,s):n}case I.Op.CHAR_CLASS:return null===n.runes?n:0===n.runes.length?new I(I.Op.NO_MATCH):2===n.runes.length&&0===n.runes[0]&&n.runes[1]===f.MAX_RUNE?new I(I.Op.ANY_CHAR):4===n.runes.length&&0===n.runes[0]&&n.runes[1]===E.CODES.get("\n")-1&&n.runes[2]===E.CODES.get("\n")+1&&n.runes[3]===f.MAX_RUNE?new I(I.Op.ANY_CHAR_NOT_NL):n;case I.Op.STAR:case I.Op.PLUS:case I.Op.QUEST:var e=ht.simplify(n.subs[0]);return ht.simplify1(n.op,n.flags,e,n);case I.Op.REPEAT:{if(0===n.min&&0===n.max)return new I(I.Op.EMPTY_MATCH);var B=ht.simplify(n.subs[0]);if(-1===n.max){if(0===n.min)return ht.simplify1(I.Op.STAR,n.flags,B,null);if(1===n.min)return ht.simplify1(I.Op.PLUS,n.flags,B,null);var s=new I(I.Op.CONCAT),t=[];for(let e=0;e<n.min-1;e++)t.push(B);return t.push(ht.simplify1(I.Op.PLUS,n.flags,B,null)),s.subs=t.slice(0),ht.simplify(s)}if(1===n.min&&1===n.max)return B;let r=null;if(0<n.min){r=[];for(let e=0;e<n.min;e++)r.push(B)}if(n.min<n.max){let e=ht.simplify1(I.Op.QUEST,n.flags,B,null);for(let t=n.min+1;t<n.max;t++){var o=new I(I.Op.CONCAT);o.subs=[B,e],e=ht.simplify1(I.Op.QUEST,n.flags,o,null)}if(null===r)return e;r.push(e)}return null!==r?((e=new I(I.Op.CONCAT)).subs=r.slice(0),ht.simplify(e)):new I(I.Op.NO_MATCH)}}return n}static simplify1(e,t,r,n){var s;return r.op===I.Op.EMPTY_MATCH?r:r.op===I.Op.NO_MATCH?e===I.Op.PLUS?r:new I(I.Op.EMPTY_MATCH):e===r.op&&(t&_.NON_GREEDY)==(r.flags&_.NON_GREEDY)?r:null!==n&&n.op===e&&(n.flags&_.NON_GREEDY)==(t&_.NON_GREEDY)&&r===n.subs[0]?n:((s=new I(e)).flags=t,s.subs=[r],s)}},n=class{constructor(e,t){this.sign=e,this.cls=t}},e=[48,57],s=[9,10,12,13,32,32],ct=[48,57,65,90,95,95,97,122];let Ct=new Map([["\\d",new n(1,e)],["\\D",new n(-1,e)],["\\s",new n(1,s)],["\\S",new n(-1,s)],["\\w",new n(1,ct)],["\\W",new n(-1,ct)]]);var e=[48,57,65,90,97,122],s=[65,90,97,122],ct=[0,127],dt=[9,9,32,32],ft=[0,31,127,127],gt=[48,57],pt=[33,126],mt=[97,122],Et=[32,126],Dt=[33,47,58,64,91,96,123,126],vt=[9,13,32,32],wt=[65,90],yt=[48,57,65,90,95,95,97,122],_t=[48,57,65,70,97,102];let It=new Map([["[:alnum:]",new n(1,e)],["[:^alnum:]",new n(-1,e)],["[:alpha:]",new n(1,s)],["[:^alpha:]",new n(-1,s)],["[:ascii:]",new n(1,ct)],["[:^ascii:]",new n(-1,ct)],["[:blank:]",new n(1,dt)],["[:^blank:]",new n(-1,dt)],["[:cntrl:]",new n(1,ft)],["[:^cntrl:]",new n(-1,ft)],["[:digit:]",new n(1,gt)],["[:^digit:]",new n(-1,gt)],["[:graph:]",new n(1,pt)],["[:^graph:]",new n(-1,pt)],["[:lower:]",new n(1,mt)],["[:^lower:]",new n(-1,mt)],["[:print:]",new n(1,Et)],["[:^print:]",new n(-1,Et)],["[:punct:]",new n(1,Dt)],["[:^punct:]",new n(-1,Dt)],["[:space:]",new n(1,vt)],["[:^space:]",new n(-1,vt)],["[:upper:]",new n(1,wt)],["[:^upper:]",new n(-1,wt)],["[:word:]",new n(1,yt)],["[:^word:]",new n(-1,yt)],["[:xdigit:]",new n(1,_t)],["[:^xdigit:]",new n(-1,_t)]]);var bt,Tt,Nt,At,xt,Ft,a,St,Ot,Lt=class Lt{static charClassToString(e,t){let r="[";for(let i=0;i<t;i+=2){0<i&&(r+=" ");var n=e[i],s=e[i+1];r+=n===s?"0x"+n.toString(16):`0x${n.toString(16)}-0x`+s.toString(16)}return r+="]"}static cmp(e,t,r,n){var s=e[t]-r;return 0!=s?s:n-e[t+1]}static qsortIntPair(e,t,r){var n,s=-2&((t+r)/2|0),i=e[s],a=e[1+s];let B=t,o=r;for(;B<=o;){for(;B<r&&Lt.cmp(e,B,i,a)<0;)B+=2;for(;o>t&&0<Lt.cmp(e,o,i,a);)o-=2;B<=o&&(B!==o&&(n=e[B],e[B]=e[o],e[o]=n,n=e[B+1],e[B+1]=e[o+1],e[o+1]=n),B+=2,o-=2)}t<o&&Lt.qsortIntPair(e,t,o),B<r&&Lt.qsortIntPair(e,B,r)}constructor(e=D.emptyInts()){this.r=e,this.len=e.length}toArray(){return this.len===this.r.length?this.r:this.r.slice(0,this.len)}cleanClass(){if(!(this.len<4)){Lt.qsortIntPair(this.r,0,this.len-2);let e=2;for(let t=2;t<this.len;t+=2){var r=this.r[t],n=this.r[t+1];r<=this.r[e-1]+1?n>this.r[e-1]&&(this.r[e-1]=n):(this.r[e]=r,this.r[e+1]=n,e+=2)}this.len=e}return this}appendLiteral(e,t){return 0!=(t&_.FOLD_CASE)?this.appendFoldedRange(e,e):this.appendRange(e,e)}appendRange(t,r){if(0<this.len)for(let e=2;e<=4;e+=2)if(this.len>=e){var n=this.r[this.len-e],s=this.r[this.len-e+1];if(t<=s+1&&n<=r+1)return t<n&&(this.r[this.len-e]=t),s<r&&(this.r[this.len-e+1]=r),this}return this.r[this.len++]=t,this.r[this.len++]=r,this}appendFoldedRange(e,t){if(e<=f.MIN_FOLD&&t>=f.MAX_FOLD)return this.appendRange(e,t);if(t<f.MIN_FOLD||e>f.MAX_FOLD)return this.appendRange(e,t);e<f.MIN_FOLD&&(this.appendRange(e,f.MIN_FOLD-1),e=f.MIN_FOLD),t>f.MAX_FOLD&&(this.appendRange(f.MAX_FOLD+1,t),t=f.MAX_FOLD);for(let r=e;r<=t;r++){this.appendRange(r,r);for(let e=f.simpleFold(r);e!==r;e=f.simpleFold(e))this.appendRange(e,e)}return this}appendClass(e){for(let t=0;t<e.length;t+=2)this.appendRange(e[t],e[t+1]);return this}appendFoldedClass(e){for(let t=0;t<e.length;t+=2)this.appendFoldedRange(e[t],e[t+1]);return this}appendNegatedClass(e){let t=0;for(let s=0;s<e.length;s+=2){var r=e[s],n=e[s+1];t<=r-1&&this.appendRange(t,r-1),t=n+1}return t<=f.MAX_RUNE&&this.appendRange(t,f.MAX_RUNE),this}appendTable(e){for(let s=0;s<e.length;++s){var t=e.getLo(s),r=e.getHi(s),n=e.getStride(s);if(1===n)this.appendRange(t,r);else for(let e=t;e<=r;e+=n)this.appendRange(e,e)}return this}appendNegatedTable(e){let t=0;for(let i=0;i<e.length;++i){var r=e.getLo(i),n=e.getHi(i),s=e.getStride(i);if(1===s)t<=r-1&&this.appendRange(t,r-1),t=n+1;else for(let e=r;e<=n;e+=s)t<=e-1&&this.appendRange(t,e-1),t=e+1}return t<=f.MAX_RUNE&&this.appendRange(t,f.MAX_RUNE),this}appendTableWithSign(e,t){return t<0?this.appendNegatedTable(e):this.appendTable(e)}negateClass(){let e=0,t=0;for(let s=0;s<this.len;s+=2){var r=this.r[s],n=this.r[s+1];e<=r-1&&(this.r[t]=e,this.r[t+1]=r-1,t+=2),e=n+1}return this.len=t,e<=f.MAX_RUNE&&(this.r[this.len++]=e,this.r[this.len++]=f.MAX_RUNE),this}appendClassWithSign(e,t){return t<0?this.appendNegatedClass(e):this.appendClass(e)}appendGroup(e,t){let r=e.cls;return t&&(r=(new Lt).appendFoldedClass(r).cleanClass().toArray()),this.appendClassWithSign(r,e.sign)}toString(){return Lt.charClassToString(this.r,this.len)}},Rt=class{constructor(e){this.str=e,this.position=0}pos(){return this.position}rewindTo(e){this.position=e}more(){return this.position<this.str.length}peek(){return this.str.codePointAt(this.position)}skip(e){this.position+=e}skipString(e){this.position+=e.length}pop(){var e=this.str.codePointAt(this.position);return this.position+=D.charCount(e),e}lookingAt(e){return this.str.startsWith(e,this.position)}rest(){return this.str.substring(this.position)}from(e){return this.str.substring(e,this.position)}toString(){return this.rest()}},kt=((y=class{static unicodeTable(e){return"Any"===e?{tab:y.ANY_TABLE,fold:y.ANY_TABLE,sign:1}:"Ascii"===e?{tab:y.ASCII_TABLE,fold:y.ASCII_FOLD_TABLE,sign:1}:"Assigned"===e?{tab:Ae.CATEGORIES.get("Cn"),fold:Ae.CATEGORIES.get("Cn"),sign:-1}:"Lc"===e?{tab:Ae.CATEGORIES.get("LC"),fold:Ae.FOLD_CATEGORIES.get("LC"),sign:1}:Ae.CATEGORIES.has(e)?{tab:Ae.CATEGORIES.get(e),fold:Ae.FOLD_CATEGORIES.get(e),sign:1}:Ae.SCRIPTS.has(e)?{tab:Ae.SCRIPTS.get(e),fold:Ae.FOLD_SCRIPT.get(e),sign:1}:null}static minFoldRune(e){if(e<f.MIN_FOLD||e>f.MAX_FOLD)return e;let t=e;var r=e;for(e=f.simpleFold(e);e!==r;e=f.simpleFold(e))t>e&&(t=e);return t}static leadingRegexp(e){var t;return e.op===I.Op.EMPTY_MATCH?null:e.op===I.Op.CONCAT&&0<e.subs.length?(t=e.subs[0]).op===I.Op.EMPTY_MATCH?null:t:e}static literalRegexp(e,t){var r=new I(I.Op.LITERAL);return r.flags=t,r.runes=D.stringToRunes(e),r}static parse(e,t){return new y(e,t).parseInternal()}static parseRepeat(e){var t=e.pos();if(!e.more()||!e.lookingAt("{"))return-1;e.skip(1);var r=y.parseInt(e);if(-1===r)return-1;if(!e.more())return-1;let n;if(e.lookingAt(",")){if(e.skip(1),!e.more())return-1;if(e.lookingAt("}"))n=-1;else if(-1===(n=y.parseInt(e)))return-1}else n=r;if(!e.more()||!e.lookingAt("}"))return-1;if(e.skip(1),r<0||1e3<r||-2===n||1e3<n||0<=n&&r>n)throw new He(y.ERR_INVALID_REPEAT_SIZE,e.from(t));return r<<16|n&f.MAX_BMP}static isValidCaptureName(e){if(0===e.length)return!1;for(let r=0;r<e.length;r++){var t=e.codePointAt(r);if(t!==E.CODES.get("_")&&!D.isalnum(t))return!1}return!0}static parseInt(e){for(var t=e.pos();e.more()&&e.peek()>=E.CODES.get("0")&&e.peek()<=E.CODES.get("9");)e.skip(1);t=e.from(t);return 0===t.length||1<t.length&&t.codePointAt(0)===E.CODES.get("0")?-1:8<t.length?-2:parseInt(t,10)}static isCharClass(e){return e.op===I.Op.LITERAL&&1===e.runes.length||e.op===I.Op.CHAR_CLASS||e.op===I.Op.ANY_CHAR_NOT_NL||e.op===I.Op.ANY_CHAR}static matchRune(t,r){switch(t.op){case I.Op.LITERAL:return 1===t.runes.length&&t.runes[0]===r;case I.Op.CHAR_CLASS:for(let e=0;e<t.runes.length;e+=2)if(t.runes[e]<=r&&r<=t.runes[e+1])return!0;return!1;case I.Op.ANY_CHAR_NOT_NL:return r!==E.CODES.get("\n");case I.Op.ANY_CHAR:return!0}return!1}static mergeCharClass(e,t){switch(e.op){case I.Op.ANY_CHAR:break;case I.Op.ANY_CHAR_NOT_NL:y.matchRune(t,E.CODES.get("\n"))&&(e.op=I.Op.ANY_CHAR);break;case I.Op.CHAR_CLASS:t.op===I.Op.LITERAL?e.runes=new Lt(e.runes).appendLiteral(t.runes[0],t.flags).toArray():e.runes=new Lt(e.runes).appendClass(t.runes).toArray();break;case I.Op.LITERAL:t.runes[0]===e.runes[0]&&t.flags===e.flags||(e.op=I.Op.CHAR_CLASS,e.runes=(new Lt).appendLiteral(e.runes[0],e.flags).appendLiteral(t.runes[0],t.flags).toArray())}}static parseEscape(r){var e=r.pos();if(r.skip(1),!r.more())throw new He(y.ERR_TRAILING_BACKSLASH);let n=r.pop();e:switch(n){case E.CODES.get("1"):case E.CODES.get("2"):case E.CODES.get("3"):case E.CODES.get("4"):case E.CODES.get("5"):case E.CODES.get("6"):case E.CODES.get("7"):if(!r.more()||r.peek()<E.CODES.get("0")||r.peek()>E.CODES.get("7"))break;case E.CODES.get("0"):{let e=n-E.CODES.get("0");for(let t=1;t<3&&!(!r.more()||r.peek()<E.CODES.get("0")||r.peek()>E.CODES.get("7"));t++)e=8*e+r.peek()-E.CODES.get("0"),r.skip(1);return e}case E.CODES.get("x"):if(!r.more())break;if((n=r.pop())===E.CODES.get("{")){let e=0,t=0;for(;;){if(!r.more())break e;if((n=r.pop())===E.CODES.get("}"))break;var s=D.unhex(n);if(s<0)break e;if((t=16*t+s)>f.MAX_RUNE)break e;e++}if(0===e)break;return t}var t=D.unhex(n);if(!r.more())break;n=r.pop();var i=D.unhex(n);if(t<0||i<0)break;return 16*t+i;case E.CODES.get("a"):return E.CODES.get("");case E.CODES.get("f"):return E.CODES.get("\f");case E.CODES.get("n"):return E.CODES.get("\n");case E.CODES.get("r"):return E.CODES.get("\r");case E.CODES.get("t"):return E.CODES.get("\t");case E.CODES.get("v"):return E.CODES.get("\v");default:if(n<=f.MAX_ASCII&&!D.isalnum(n))return n}throw new He(y.ERR_INVALID_ESCAPE,r.from(e))}static parseClassChar(e,t){if(e.more())return e.lookingAt("\\")?y.parseEscape(e):e.pop();throw new He(y.ERR_MISSING_BRACKET,e.from(t))}static concatRunes(e,t){for(let r=0;r<t.length;r++)e.push(t[r]);return e}static hasCapture(e){if(null!==e){if(e.op===I.Op.CAPTURE)return!0;if(e.subs)for(var t of e.subs)if(y.hasCapture(t))return!0}return!1}constructor(e,t=0){this.wholeRegexp=e,this.flags=t,this.numCap=0,this.namedGroups=Object.create(null),this.stack=[],this.free=null,this.numRegexp=0,this.numRunes=0,this.repeats=0,this.height=null,this.size=null,this.nlb=0}newRegexp(e){let t=this.free;return null!==t&&null!==t.subs&&0<t.subs.length?(this.free=t.subs[0],t.reinit(),t.op=e):(t=new I(e),this.numRegexp+=1),t}reuse(e){null!==this.height&&this.height.has(e)&&this.height.delete(e),null!==e.subs&&0<e.subs.length&&(e.subs[0]=this.free),this.free=e}checkLimits(e){if(this.numRunes>y.MAX_RUNES)throw new He(y.ERR_LARGE);this.checkSize(e),this.checkHeight(e)}checkSize(t){if(null===this.size){if(0===this.repeats&&(this.repeats=1),t.op===I.Op.REPEAT){let e=t.max;(e=(e=-1===e?t.min:e)<=0?1:e)>Math.floor(y.MAX_SIZE/this.repeats)?this.repeats=y.MAX_SIZE:this.repeats*=e}if(this.numRegexp<Math.floor(y.MAX_SIZE/this.repeats))return;this.size=new Map;for(var e of this.stack)this.checkSize(e)}if(this.calcSize(t,!0)>y.MAX_SIZE)throw new He(y.ERR_LARGE)}calcSize(e,t=!1){if(!t&&null!==this.size&&this.size.has(e))return this.size.get(e);let r=0;switch(e.op){case I.Op.LITERAL:r=e.runes.length;break;case I.Op.PLB:case I.Op.NLB:case I.Op.CAPTURE:case I.Op.STAR:r=2+this.calcSize(e.subs[0]);break;case I.Op.PLUS:case I.Op.QUEST:r=1+this.calcSize(e.subs[0]);break;case I.Op.CONCAT:for(var n of e.subs)r+=this.calcSize(n);break;case I.Op.ALTERNATE:for(var s of e.subs)r+=this.calcSize(s);1<e.subs.length&&(r=r+e.subs.length-1);break;case I.Op.REPEAT:var i=this.calcSize(e.subs[0]);-1!==e.max?r=e.max*i+(e.max-e.min):r=0===e.min?2+i:1+e.min*i}return r=Math.max(1,r),null===this.size&&(this.size=new Map),this.size.set(e,r),r}checkHeight(e){if(!(this.numRegexp<y.MAX_HEIGHT)){if(null===this.height){this.height=new Map;for(var t of this.stack)this.checkHeight(t)}if(this.calcHeight(e,!0)>y.MAX_HEIGHT)throw new He(y.ERR_NESTING_DEPTH)}}calcHeight(e,t=!1){if(!t&&null!==this.height&&this.height.has(e))return this.height.get(e);let r=1;for(var n of e.subs){n=this.calcHeight(n);r<1+n&&(r=1+n)}return null===this.height&&(this.height=new Map),this.height.set(e,r),r}pop(){return this.stack.pop()}popToPseudo(){var e=this.stack.length;let t=e;for(;0<t&&!I.isPseudoOp(this.stack[t-1].op);)t--;e=this.stack.slice(t,e);return this.stack=this.stack.slice(0,t),e}push(e){if(this.numRunes+=e.runes.length,e.op===I.Op.CHAR_CLASS&&2===e.runes.length&&e.runes[0]===e.runes[1]){if(this.maybeConcat(e.runes[0],this.flags&~_.FOLD_CASE))return null;e.op=I.Op.LITERAL,e.runes=[e.runes[0]],e.flags=this.flags&~_.FOLD_CASE}else if(e.op===I.Op.CHAR_CLASS&&4===e.runes.length&&e.runes[0]===e.runes[1]&&e.runes[2]===e.runes[3]&&f.simpleFold(e.runes[0])===e.runes[2]&&f.simpleFold(e.runes[2])===e.runes[0]||e.op===I.Op.CHAR_CLASS&&2===e.runes.length&&e.runes[0]+1===e.runes[1]&&f.simpleFold(e.runes[0])===e.runes[1]&&f.simpleFold(e.runes[1])===e.runes[0]){if(this.maybeConcat(e.runes[0],this.flags|_.FOLD_CASE))return null;e.op=I.Op.LITERAL,e.runes=[e.runes[0]],e.flags=this.flags|_.FOLD_CASE}else this.maybeConcat(-1,0);return this.stack.push(e),this.checkLimits(e),e}maybeConcat(e,t){var r=this.stack.length;if(!(r<2)){var n=this.stack[r-1],r=this.stack[r-2];if(n.op===I.Op.LITERAL&&r.op===I.Op.LITERAL&&(n.flags&_.FOLD_CASE)==(r.flags&_.FOLD_CASE)){if(r.runes=y.concatRunes(r.runes,n.runes),0<=e)return n.runes=[e],n.flags=t,!0;this.pop(),this.reuse(n)}}return!1}newLiteral(e,t){var r=this.newRegexp(I.Op.LITERAL);return 0!=((r.flags=t)&_.FOLD_CASE)&&(e=y.minFoldRune(e)),r.runes=[e],r}literal(e){this.push(this.newLiteral(e,this.flags))}op(e){var t=this.newRegexp(e);return t.flags=this.flags,this.push(t)}repeat(e,t,r,n,s,i){let a=this.flags;if(0!=(a&_.PERL_X)&&(s.more()&&s.lookingAt("?")&&(s.skip(1),a^=_.NON_GREEDY),-1!==i))throw new He(y.ERR_INVALID_REPEAT_OP,s.from(i));var B=this.stack.length;if(0===B)throw new He(y.ERR_MISSING_REPEAT_ARGUMENT,s.from(n));var o=this.stack[B-1];if(I.isPseudoOp(o.op))throw new He(y.ERR_MISSING_REPEAT_ARGUMENT,s.from(n));var u=this.newRegexp(e);if(u.min=t,u.max=r,u.flags=a,u.subs=[o],this.stack[B-1]=u,this.checkLimits(u),e===I.Op.REPEAT&&(2<=t||2<=r)&&!this.repeatIsValid(u,1e3))throw new He(y.ERR_INVALID_REPEAT_SIZE,s.from(n))}repeatIsValid(t,r){if(t.op===I.Op.REPEAT){let e=t.max;if(0===e)return!0;if((e=e<0?t.min:e)>r)return!1;0<e&&(r=Math.trunc(r/e))}for(var e of t.subs)if(!this.repeatIsValid(e,r))return!1;return!0}concat(){this.maybeConcat(-1,0);var e=this.popToPseudo();return 0===e.length?this.push(this.newRegexp(I.Op.EMPTY_MATCH)):this.push(this.collapse(e,I.Op.CONCAT))}alternate(){var e=this.popToPseudo();return 0<e.length&&this.cleanAlt(e[e.length-1]),0===e.length?this.push(this.newRegexp(I.Op.NO_MATCH)):this.push(this.collapse(e,I.Op.ALTERNATE))}cleanAlt(e){e.op===I.Op.CHAR_CLASS&&(e.runes=new Lt(e.runes).cleanClass().toArray(),2===e.runes.length&&0===e.runes[0]&&e.runes[1]===f.MAX_RUNE?(e.runes=[],e.op=I.Op.ANY_CHAR):4===e.runes.length&&0===e.runes[0]&&e.runes[1]===E.CODES.get("\n")-1&&e.runes[2]===E.CODES.get("\n")+1&&e.runes[3]===f.MAX_RUNE&&(e.runes=[],e.op=I.Op.ANY_CHAR_NOT_NL))}collapse(e,t){if(1===e.length)return e[0];let r=0;for(var n of e)r+=n.op===t?n.subs.length:1;var s,i,a=new Array(r).fill(null);let B=0;for(s of e)if(s.op===t){for(let e=0;e<s.subs.length;e++)a[B++]=s.subs[e];this.reuse(s)}else a[B++]=s;let o=this.newRegexp(t);return o.subs=a,t===I.Op.ALTERNATE&&(o.subs=this.factor(o.subs),1===o.subs.length)&&(o=(i=o).subs[0],this.reuse(i)),o}factor(s){if(s.length<2)return s;let i=0,a=s.length,B=0,o=null,u=0,l=0,h=0;for(let D=0;D<=a;D++){let t=null,r=0,n=0;if(D<a){let e=s[i+D];if((e=e.op===I.Op.CONCAT&&0<e.subs.length?e.subs[0]:e).op===I.Op.LITERAL&&(t=e.runes,r=e.runes.length,n=e.flags&_.FOLD_CASE),n===l){let e=0;for(;e<u&&e<r&&o[e]===t[e];)e++;if(0<e){u=e;continue}}}if(D!==h)if(D===h+1)s[B++]=s[i+h];else{var c=this.newRegexp(I.Op.LITERAL);c.flags=l,c.runes=o.slice(0,u);for(let e=h;e<D;e++)s[i+e]=this.removeLeadingString(s[i+e],u),this.checkLimits(s[i+e]);var C=this.collapse(s.slice(i+h,i+D),I.Op.ALTERNATE),d=this.newRegexp(I.Op.CONCAT);d.subs=[c,C],s[B++]=d}h=D,o=t,u=r,l=n}a=B,i=0,h=0;let t=null;for(let v=B=0;v<=a;v++){let e=null;if(!(v<a&&(e=y.leadingRegexp(s[i+v]),null!==t)&&t.equals(e)&&(y.isCharClass(t)||t.op===I.Op.REPEAT&&t.min===t.max&&y.isCharClass(t.subs[0])))){if(v!==h)if(v===h+1)s[B++]=s[i+h];else{var r=t;for(let e=h;e<v;e++){var n=e!==h;s[i+e]=this.removeLeadingRegexp(s[i+e],n),this.checkLimits(s[i+e])}var f=this.collapse(s.slice(i+h,i+v),I.Op.ALTERNATE),g=this.newRegexp(I.Op.CONCAT);g.subs=[r,f],s[B++]=g}h=v,t=e}}a=B,i=0,h=0;for(let w=B=0;w<=a;w++)if(!(w<a&&y.isCharClass(s[i+w]))){if(w!==h){if(w!==h+1){let e=h;for(let t=h+1;t<w;t++){var p=s[i+e],m=s[i+t];(p.op<m.op||p.op===m.op&&(null!==p.runes?p.runes.length:0)<(null!==m.runes?m.runes.length:0))&&(e=t)}var E=s[i+h];s[i+h]=s[i+e],s[i+e]=E;for(let r=h+1;r<w;r++)y.mergeCharClass(s[i+h],s[i+r]),this.reuse(s[i+r]);this.cleanAlt(s[i+h])}s[B++]=s[i+h]}w<a&&(s[B++]=s[i+w]),h=w+1}a=B,i=0,h=0;for(let e=B=0;e<a;++e)e+1<a&&s[i+e].op===I.Op.EMPTY_MATCH&&s[i+e+1].op===I.Op.EMPTY_MATCH||(s[B++]=s[i+e]);return a=B,i=0,s.slice(i,a)}removeLeadingString(e,t){if(e.op===I.Op.CONCAT&&0<e.subs.length){var r=this.removeLeadingString(e.subs[0],t);if((e.subs[0]=r).op===I.Op.EMPTY_MATCH)switch(this.reuse(r),e.subs.length){case 0:case 1:e.op=I.Op.EMPTY_MATCH,e.subs=I.emptySubs();break;case 2:var n=e;e=e.subs[1],this.reuse(n);break;default:e.subs=e.subs.slice(1,e.subs.length)}}else e.op===I.Op.LITERAL&&(e.runes=e.runes.slice(t,e.runes.length),0===e.runes.length)&&(e.op=I.Op.EMPTY_MATCH);return e}removeLeadingRegexp(e,t){if(e.op===I.Op.CONCAT&&0<e.subs.length){switch(t&&this.reuse(e.subs[0]),e.subs=e.subs.slice(1,e.subs.length),e.subs.length){case 0:e.op=I.Op.EMPTY_MATCH,e.subs=I.emptySubs();break;case 1:var r=e;e=e.subs[0],this.reuse(r)}return e}return t&&this.reuse(e),this.newRegexp(I.Op.EMPTY_MATCH)}parseInternal(){if(0!=(this.flags&_.LITERAL))return y.literalRegexp(this.wholeRegexp,this.flags);let r=-1,n=-1,s=-1;for(var i=new Rt(this.wholeRegexp);i.more();){let t=-1;e:switch(i.peek()){case E.CODES.get("("):if(0!=(this.flags&_.LOOKBEHIND)){if(i.lookingAt("(?<=")){this.parsePosLookBehind(),i.skip(4);break}if(i.lookingAt("(?<!")){this.parseNegLookBehind(),i.skip(4);break}}0!=(this.flags&_.PERL_X)&&i.lookingAt("(?")?this.parsePerlFlags(i):(this.op(I.Op.LEFT_PAREN).cap=++this.numCap,i.skip(1));break;case E.CODES.get("|"):this.parseVerticalBar(),i.skip(1);break;case E.CODES.get(")"):this.parseRightParen(),i.skip(1);break;case E.CODES.get("^"):0!=(this.flags&_.ONE_LINE)?this.op(I.Op.BEGIN_TEXT):this.op(I.Op.BEGIN_LINE),i.skip(1);break;case E.CODES.get("$"):0!=(this.flags&_.ONE_LINE)?this.op(I.Op.END_TEXT).flags|=_.WAS_DOLLAR:this.op(I.Op.END_LINE),i.skip(1);break;case E.CODES.get("."):0!=(this.flags&_.DOT_NL)?this.op(I.Op.ANY_CHAR):this.op(I.Op.ANY_CHAR_NOT_NL),i.skip(1);break;case E.CODES.get("["):this.parseClass(i);break;case E.CODES.get("*"):case E.CODES.get("+"):case E.CODES.get("?"):{t=i.pos();let e=null;switch(i.pop()){case E.CODES.get("*"):e=I.Op.STAR;break;case E.CODES.get("+"):e=I.Op.PLUS;break;case E.CODES.get("?"):e=I.Op.QUEST}this.repeat(e,n,s,t,i,r);break}case E.CODES.get("{"):t=i.pos();var e=y.parseRepeat(i);e<0?(i.rewindTo(t),this.literal(i.pop())):(n=e>>16,s=(e&f.MAX_BMP)<<16>>16,this.repeat(I.Op.REPEAT,n,s,t,i,r));break;case E.CODES.get("\\"):var a=i.pos();if(i.skip(1),0!=(this.flags&_.PERL_X)&&i.more())switch(i.pop()){case E.CODES.get("A"):this.op(I.Op.BEGIN_TEXT);break e;case E.CODES.get("b"):this.op(I.Op.WORD_BOUNDARY);break e;case E.CODES.get("B"):this.op(I.Op.NO_WORD_BOUNDARY);break e;case E.CODES.get("C"):throw new He(y.ERR_INVALID_ESCAPE,"\\C");case E.CODES.get("Q"):{let e=i.rest();var B=e.indexOf("\\E");0<=B?(e=e.substring(0,B),i.skipString(e),i.skipString("\\E")):i.skipString(e);let t=0;for(;t<e.length;){var o=e.codePointAt(t);this.literal(o),t+=D.charCount(o)}break e}case E.CODES.get("z"):this.op(I.Op.END_TEXT);break e;default:i.rewindTo(a)}else i.rewindTo(a);var u=this.newRegexp(I.Op.CHAR_CLASS);if(u.flags=this.flags,i.lookingAt("\\p")||i.lookingAt("\\P")){e=new Lt;if(this.parseUnicodeClass(i,e)){u.runes=e.toArray(),this.push(u);break}}var l=new Lt;this.parsePerlClassEscape(i,l)?(u.runes=l.toArray(),this.push(u)):(i.rewindTo(a),this.reuse(u),this.literal(y.parseEscape(i)));break;default:this.literal(i.pop())}r=t}if(this.concat(),this.swapVerticalBar()&&this.pop(),this.alternate(),1!==this.stack.length)throw new He(y.ERR_MISSING_PAREN,this.wholeRegexp);return this.stack[0].namedGroups=this.namedGroups,this.stack[0]}parsePerlFlags(n){var s=n.pos(),e=n.rest();if(!e.startsWith("(?P<")&&!e.startsWith("(?<")){n.skip(2);let e=this.flags,t=1,r=!1;e:for(;n.more();){var i=n.pop();switch(i){case E.CODES.get("i"):e|=_.FOLD_CASE,r=!0;break;case E.CODES.get("m"):e&=~_.ONE_LINE,r=!0;break;case E.CODES.get("s"):e|=_.DOT_NL,r=!0;break;case E.CODES.get("U"):e|=_.NON_GREEDY,r=!0;break;case E.CODES.get("-"):if(t<0)break e;t=-1,e=~e,r=!1;break;case E.CODES.get(":"):case E.CODES.get(")"):if(t<0){if(!r)break e;e=~e}return i===E.CODES.get(":")&&this.op(I.Op.LEFT_PAREN),void(this.flags=e);default:break e}}throw new He(y.ERR_INVALID_PERL_OP,n.from(s))}var s="P"===e.charAt(2)?4:3,t=e.indexOf(">");if(t<0)throw new He(y.ERR_INVALID_NAMED_CAPTURE,e);var r=e.substring(s,t);if(n.skipString(r),n.skip(1+s),!y.isValidCaptureName(r))throw new He(y.ERR_INVALID_NAMED_CAPTURE,e.substring(0,t+1));s=this.op(I.Op.LEFT_PAREN);if(s.cap=++this.numCap,this.namedGroups[r])throw new He(y.ERR_DUPLICATE_NAMED_CAPTURE,r);this.namedGroups[r]=this.numCap,s.name=r}parsePosLookBehind(){var e=this.newRegexp(I.Op.LEFT_PAREN);return e.flags=this.flags,e.lb=++this.nlb,this.push(e)}parseNegLookBehind(){var e=this.newRegexp(I.Op.LEFT_PAREN);return e.flags=this.flags,e.lb=-++this.nlb,this.push(e)}parseVerticalBar(){this.concat(),this.swapVerticalBar()||this.op(I.Op.VERTICAL_BAR)}swapVerticalBar(){var r=this.stack.length;if(3<=r&&this.stack[r-2].op===I.Op.VERTICAL_BAR&&y.isCharClass(this.stack[r-1])&&y.isCharClass(this.stack[r-3])){let e=this.stack[r-1],t=this.stack[r-3];return e.op>t.op&&(n=t,t=e,e=n,this.stack[r-3]=t),y.mergeCharClass(t,e),this.reuse(e),this.pop(),!0}if(2<=r){var n=this.stack[r-1],e=this.stack[r-2];if(e.op===I.Op.VERTICAL_BAR)return 3<=r&&this.cleanAlt(this.stack[r-3]),this.stack[r-2]=n,this.stack[r-1]=e,!0}return!1}parseRightParen(){if(this.concat(),this.swapVerticalBar()&&this.pop(),this.alternate(),this.stack.length<2)throw new He(y.ERR_UNEXPECTED_PAREN,this.wholeRegexp);var e=this.pop(),t=this.pop();if(t.op!==I.Op.LEFT_PAREN)throw new He(y.ERR_UNEXPECTED_PAREN,this.wholeRegexp);if(this.flags=t.flags,0!==t.lb){if(y.hasCapture(e))throw new He(y.ERR_INVALID_CAPTURE_IN_LOOKBEHIND,this.wholeRegexp);0<t.lb?t.op=I.Op.PLB:t.op=I.Op.NLB,t.subs=[e],this.push(t)}else 0===t.cap?this.push(e):(t.op=I.Op.CAPTURE,t.subs=[e],this.push(t))}parsePerlClassEscape(e,t){var r=e.pos();if(0==(this.flags&_.PERL_X)||!e.more()||e.pop()!==E.CODES.get("\\")||!e.more())return!1;e.pop();r=e.from(r),r=Ct.has(r)?Ct.get(r):null;return null!==r&&(t.appendGroup(r,0!=(this.flags&_.FOLD_CASE)),!0)}parseNamedClass(e,t){var r=e.rest(),n=r.indexOf(":]");if(n<0)return!1;r=r.substring(0,n+2),e.skipString(r),n=It.has(r)?It.get(r):null;if(null===n)throw new He(y.ERR_INVALID_CHAR_RANGE,r);return t.appendGroup(n,0!=(this.flags&_.FOLD_CASE)),!0}parseUnicodeClass(e,t){var r=e.pos();if(0==(this.flags&_.UNICODE_GROUPS)||!e.lookingAt("\\p")&&!e.lookingAt("\\P"))return!1;e.skip(1);let n=1;if(e.pop()===E.CODES.get("P")&&(n=-1),!e.more())throw e.rewindTo(r),new He(y.ERR_INVALID_CHAR_RANGE,e.rest());let s;if((i=e.pop())!==E.CODES.get("{"))s=D.runeToString(i);else{var i=e.rest(),a=i.indexOf("}");if(a<0)throw e.rewindTo(r),new He(y.ERR_INVALID_CHAR_RANGE,e.rest());s=i.substring(0,a),e.skipString(s),e.skip(1)}0!==s.length&&s.codePointAt(0)===E.CODES.get("^")&&(n=0-n,s=s.substring(1));i=y.unicodeTable(s);if(null===i)throw new He(y.ERR_INVALID_CHAR_RANGE,e.from(r));i.sign<0&&(n=0-n);a=i.tab,r=i.fold;return 0==(this.flags&_.FOLD_CASE)||null===r?t.appendTableWithSign(a,n):(i=(new Lt).appendTable(a).appendTable(r).cleanClass().toArray(),t.appendClassWithSign(i,n)),!0}parseClass(t){var r=t.pos(),e=(t.skip(1),this.newRegexp(I.Op.CHAR_CLASS)),n=(e.flags=this.flags,new Lt);let s=1,i=(t.more()&&t.lookingAt("^")&&(s=-1,t.skip(1),0==(this.flags&_.CLASS_NL))&&n.appendRange(E.CODES.get("\n"),E.CODES.get("\n")),!0);for(;!t.more()||t.peek()!==E.CODES.get("]")||i;){if(t.more()&&t.lookingAt("-")&&0==(this.flags&_.PERL_X)&&!i){var a=t.rest();if("-"===a||!a.startsWith("-]"))throw t.rewindTo(r),new He(y.ERR_INVALID_CHAR_RANGE,t.rest())}i=!1;a=t.pos();if(t.lookingAt("[:")){if(this.parseNamedClass(t,n))continue;t.rewindTo(a)}if(!this.parseUnicodeClass(t,n)&&!this.parsePerlClassEscape(t,n)){t.rewindTo(a);var B=y.parseClassChar(t,r);let e=B;if(t.more()&&t.lookingAt("-"))if(t.skip(1),t.more()&&t.lookingAt("]"))t.skip(-1);else if((e=y.parseClassChar(t,r))<B)throw new He(y.ERR_INVALID_CHAR_RANGE,t.from(a));0==(this.flags&_.FOLD_CASE)?n.appendRange(B,e):n.appendFoldedRange(B,e)}}t.skip(1),n.cleanClass(),s<0&&n.negateClass(),e.runes=n.toArray(),this.push(e)}}).ERR_INTERNAL_ERROR="regexp/syntax: internal error",y.ERR_INVALID_CHAR_RANGE="invalid character class range",y.ERR_INVALID_ESCAPE="invalid escape sequence",y.ERR_INVALID_NAMED_CAPTURE="invalid named capture",y.ERR_INVALID_PERL_OP="invalid or unsupported Perl syntax",y.ERR_INVALID_REPEAT_OP="invalid nested repetition operator",y.ERR_INVALID_REPEAT_SIZE="invalid repeat count",y.ERR_MISSING_BRACKET="missing closing ]",y.ERR_MISSING_PAREN="missing closing )",y.ERR_MISSING_REPEAT_ARGUMENT="missing argument to repetition operator",y.ERR_TRAILING_BACKSLASH="trailing backslash at end of expression",y.ERR_DUPLICATE_NAMED_CAPTURE="duplicate capture group name",y.ERR_UNEXPECTED_PAREN="unexpected )",y.ERR_NESTING_DEPTH="expression nests too deeply",y.ERR_LARGE="expression too large",y.ERR_INVALID_CAPTURE_IN_LOOKBEHIND="invalid capture in lookbehind",y.MAX_HEIGHT=1e3,y.MAX_SIZE=3355443,y.MAX_RUNES=33554432,y.ANY_TABLE=new t(new Uint32Array([0,f.MAX_RUNE,1])),y.ASCII_TABLE=new t(new Uint32Array([0,127,1])),y.ASCII_FOLD_TABLE=new t(new Uint32Array([0,127,1,383,383,1,8490,8490,1])),y),Gt=class{constructor(e){this.value=e}get(){return this.value}set(e){this.value=e}compareAndSet(e,t){return this.value===e&&(this.value=t,!0)}},Pt=class Pt{static initTest(e){var t=Pt.compile(e),r=new Pt(t.expr,t.prog,t.numSubexp,t.longest);return r.cond=t.cond,r.prefix=t.prefix,r.prefixUTF8=t.prefixUTF8,r.prefixComplete=t.prefixComplete,r.prefixRune=t.prefixRune,r.prefilter=t.prefilter,r}static compile(e){return Pt.compileImpl(e,_.PERL,!1)}static compilePOSIX(e){return Pt.compileImpl(e,_.POSIX,!0)}static compileImpl(e,t,r){let n=kt.parse(e,t);var s=n.maxCap(),i=(n=ht.simplify(n),at.build(n)),a=lt.compileRegexp(n),s=new Pt(e,a,s,r),[i,a]=(s.prefilter=i.type===c.Type.NONE?null:i,a.prefix());return s.prefixComplete=i,s.prefix=a,s.prefixUTF8=D.stringToUtf8ByteArray(s.prefix),0<s.prefix.length&&(s.prefixRune=s.prefix.codePointAt(0)),s.namedGroups=n.namedGroups,s}static match(e,t){return Pt.compile(e).match(t)}constructor(e,t,r=0,n=0){this.expr=e,this.prog=t,this.numSubexp=r,this.longest=n,this.cond=t.startCond(),this.prefix=null,this.prefixUTF8=null,this.prefixComplete=!1,this.prefixRune=0,this.pooled=new Gt,this.dfa=new Ze(this.prog),this.onepass=st.compile(this.prog),this.prefilter=null}matchPrefixComplete(e,t,r,n){if((r===_.ANCHOR_START||r===_.ANCHOR_BOTH)&&0!==t)return null;let s=-1,i=-1;var a=e.prefixLength(this);if(r===_.UNANCHORED){var B=e.index(this,t);if(B<0)return null;s=t+B,i=s+a}else if(r===_.ANCHOR_BOTH){if(e.endPos()!==a)return null;if(0!==e.index(this,0))return null;s=0,i=a}else if(r===_.ANCHOR_START){if(0!==e.index(this,0))return null;s=0,i=a}return s<0?null:0<n?((B=new Int32Array(n).fill(-1))[0]=s,B[1]=i,Array.from(B)):[]}executeEngine(e,t,r,n){if(this.prefixComplete&&(0===n||0===this.numSubexp))return this.matchPrefixComplete(e,t,r,n);if(null!==this.prefilter&&r===_.UNANCHORED&&!this.prefilter.eval(e,t))return null;if(null!==this.onepass)return st.execute(this,e,t,r,n);if(0<n)return 0===this.prog.numLb&&e.endPos()<=tt.maxBitStateLen(this.prog)?tt.execute(this,e,t,r,n):this.doExecuteNFA(e,t,r,n);if(0===this.prog.numLb){var s=this.dfa.match(e,t,r);if(null!==s)return s?[]:null;if(e.endPos()<=tt.maxBitStateLen(this.prog))return tt.execute(this,e,t,r,n)}return this.doExecuteNFA(e,t,r,n)}numberOfCapturingGroups(){return this.numSubexp}numberOfInstructions(){return this.prog.numInst()}get(){let e;for(;(e=this.pooled.get())&&!this.pooled.compareAndSet(e,e.next););return e}reset(){this.pooled.set(null)}put(e,t){var r;for(this.pooled.get();r=this.pooled.get(),!t&&r&&(e=Ye.fromMachine(e),t=!0),e.next!==r&&(e.next=r),!this.pooled.compareAndSet(r,e););}toString(){return this.expr}doExecuteNFA(e,t,r,n){let s=this.get(),i=!1;s?null!==s.next&&(s=Ye.fromMachine(s),i=!0):(s=Ye.fromRE2(this),i=!0),s.init(n);var a=s.match(e,t,r)?s.submatches():null;return this.put(s,i),a}match(e){return null!==this.executeEngine(Ve.fromUTF16(e),0,_.UNANCHORED,0)}matchWithGroup(e,t,r,n,s){return e instanceof Oe||(e=D.isByteArray(e)?ke.utf8(e):ke.utf16(e)),this.matchMachineInput(e,t,r,n,s)}matchMachineInput(e,t,r,n,s){var i;return r<t||(i=e.isUTF16Encoding()?Ve.fromUTF16(e.asCharSequence(),0,r):Ve.fromUTF8(e.asBytes(),0,r),null===(i=this.executeEngine(i,t,n,2*s)))?[!1,null]:[!0,i]}matchUTF8(e){return null!==this.executeEngine(Ve.fromUTF8(e),0,_.UNANCHORED,0)}replaceAll(e,t){return this.replaceAllFunc(e,()=>t,2*e.length+1)}replaceFirst(e,t){return this.replaceAllFunc(e,()=>t,1)}replaceAllFunc(e,t,r){let n=0,s=0,i="";var a=Ve.fromUTF16(e);let B=0;for(;s<=e.length;){var o=this.executeEngine(a,s,_.UNANCHORED,2);if(null===o||0===o.length)break;i+=e.substring(n,o[0]),(o[1]>n||0===o[0])&&(i+=t(e.substring(o[0],o[1])),B++),n=o[1];var u=7&a.step(s);if(s+u>o[1]?s+=u:s+1>o[1]?s++:s=o[1],B>=r)break}return i+=e.substring(n)}pad(t){if(null===t)return null;var r=2*(1+this.numSubexp);if(t.length<r){var n=new Array(r).fill(-1);for(let e=0;e<t.length;e++)n[e]=t[e];t=n}return t}allMatches(t,e,r=e=>e){var n=[],s=t.endPos();e<0&&(e=s+1);let i=0,a=0,B=-1;for(;a<e&&i<=s;){var o,u=this.executeEngine(t,i,_.UNANCHORED,this.prog.numCap);if(null===u||0===u.length)break;let e=!0;u[1]===i?(u[0]===B&&(e=!1),(o=t.step(i))<0?i=s+1:i+=7&o):i=u[1],B=u[1],e&&(n.push(r(this.pad(u))),a++)}return n}findUTF8(e){var t=this.executeEngine(Ve.fromUTF8(e),0,_.UNANCHORED,2);return null===t?null:e.slice(t[0],t[1])}findUTF8Index(e){var t=this.executeEngine(Ve.fromUTF8(e),0,_.UNANCHORED,2);return null===t?null:t.slice(0,2)}find(e){var t=this.executeEngine(Ve.fromUTF16(e),0,_.UNANCHORED,2);return null===t?"":e.substring(t[0],t[1])}findIndex(e){return this.executeEngine(Ve.fromUTF16(e),0,_.UNANCHORED,2)}findUTF8Submatch(e){var t=this.executeEngine(Ve.fromUTF8(e),0,_.UNANCHORED,this.prog.numCap);if(null===t)return null;var r=new Array(1+this.numSubexp).fill(null);for(let n=0;n<r.length;n++)2*n<t.length&&0<=t[2*n]&&(r[n]=e.slice(t[2*n],t[2*n+1]));return r}findUTF8SubmatchIndex(e){return this.pad(this.executeEngine(Ve.fromUTF8(e),0,_.UNANCHORED,this.prog.numCap))}findSubmatch(e){var t=this.executeEngine(Ve.fromUTF16(e),0,_.UNANCHORED,this.prog.numCap);if(null===t)return null;var r=new Array(1+this.numSubexp).fill(null);for(let n=0;n<r.length;n++)2*n<t.length&&0<=t[2*n]&&(r[n]=e.substring(t[2*n],t[2*n+1]));return r}findSubmatchIndex(e){return this.pad(this.executeEngine(Ve.fromUTF16(e),0,_.UNANCHORED,this.prog.numCap))}findAllUTF8(t,e){var r=this.allMatches(Ve.fromUTF8(t),e,e=>t.slice(e[0],e[1]));return 0===r.length?null:r}findAllUTF8Index(e,t){var r=this.allMatches(Ve.fromUTF8(e),t,e=>e.slice(0,2));return 0===r.length?null:r}findAll(t,e){var r=this.allMatches(Ve.fromUTF16(t),e,e=>t.substring(e[0],e[1]));return 0===r.length?null:r}findAllIndex(e,t){var r=this.allMatches(Ve.fromUTF16(e),t,e=>e.slice(0,2));return 0===r.length?null:r}findAllUTF8Submatch(n,e){var t=this.allMatches(Ve.fromUTF8(n),e,e=>{var t=new Array(e.length/2|0).fill(null);for(let r=0;r<t.length;r++)0<=e[2*r]&&(t[r]=n.slice(e[2*r],e[2*r+1]));return t});return 0===t.length?null:t}findAllUTF8SubmatchIndex(e,t){var r=this.allMatches(Ve.fromUTF8(e),t);return 0===r.length?null:r}findAllSubmatch(n,e){var t=this.allMatches(Ve.fromUTF16(n),e,e=>{var t=new Array(e.length/2|0).fill(null);for(let r=0;r<t.length;r++)0<=e[2*r]&&(t[r]=n.substring(e[2*r],e[2*r+1]));return t});return 0===t.length?null:t}findAllSubmatchIndex(e,t){var r=this.allMatches(Ve.fromUTF16(e),t);return 0===r.length?null:r}},Mt=(class{},_.UNANCHORED,_.ANCHOR_START,_.ANCHOR_BOTH,class Mt{static isHexadecimal(e){return"0"<=e&&e<="9"||"A"<=e&&e<="F"||"a"<=e&&e<="f"}static translate(s){let e="";if(s instanceof RegExp&&(s.ignoreCase&&(e+="i"),s.multiline&&(e+="m"),s.dotAll&&(e+="s"),s=s.source),"string"!=typeof s)return s;let i="",a=!1;var B=s.length;0===B&&(i="(?:)",a=!0);let t=!1,o=0;for(;o<B;){let e=s[o];if("\\"===e){if(o+1<B)switch(e=s[o+1]){case"\\":i+="\\\\",o+=2;continue;case"c":if(o+2<B){var r=s[o+2].charCodeAt(0);if(65<=r&&r<=90||97<=r&&r<=122){r=r%32;i=(i=(i+="\\x")+(r>>4).toString(16).toUpperCase())+(15&r).toString(16).toUpperCase(),o+=3,a=!0;continue}}i+="c",o+=2,a=!0;continue;case"u":if(o+2<B)if("{"===s[o+2]){let e=o+3,t=!1,r=!1;for(;e<B;){var n=s[e];if("}"===n){r=!0;break}if(!Mt.isHexadecimal(n))break;t=!0,e++}if(r&&t){i+="\\x",o+=2,a=!0;continue}}else if(o+5<B){let e=!0;for(let t=0;t<4;t++)if(!Mt.isHexadecimal(s[o+2+t])){e=!1;break}if(e){i+="\\x{"+s.substring(o+2,o+6)+"}",o+=6,a=!0;continue}}i+="u",o+=2,a=!0;continue;case"x":{let n=!1;if(o+2<B&&"{"===s[o+2]){let e=o+3,t=!1,r=!1;for(;e<B;){var u=s[e];if("}"===u){r=!0;break}if(!Mt.isHexadecimal(u))break;t=!0,e++}r&&t&&(n=!0)}else o+3<B&&Mt.isHexadecimal(s[o+2])&&Mt.isHexadecimal(s[o+3])&&(n=!0);n?(i+="\\x",o+=2):(i+="x",o+=2,a=!0);continue}case"n":case"r":case"t":case"a":case"f":case"v":case"d":case"D":case"s":case"S":case"w":case"W":case"b":case"B":case"p":case"P":case"A":case"z":case"Q":case"E":case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":i+="\\"+e,o+=2;continue;default:var l,r=s.codePointAt(o+1);48<=r&&r<=57||65<=r&&r<=90||97<=r&&r<=122?(l=D.charCount(r),i+=s.substring(o+1,o+1+l),o+=l+1,a=!0):(i+="\\",l=D.charCount(r),i+=s.substring(o+1,o+1+l),o+=l+1);continue}}else{if("/"===e){i+="\\/",o+=1,a=!0;continue}if("["===e)t=!0;else if("]"===e)t=!1;else if(!t&&"("===e&&o+2<B&&"?"===s[o+1]&&"<"===s[o+2]&&o+3<B&&!"=!>)".includes(s[o+3])){i+="(?P<",o+=3,a=!0;continue}}var h=s.codePointAt(o),h=D.charCount(h);i+=s.substring(o,o+h),o+=h}var c=a?i:s;return 0<e.length?`(?${e})`+c:c}}),Vt=((ve=class{static quote(e){return D.quoteMeta(e)}static quoteReplacement(e,t=!1){return je.quoteReplacement(e,t)}static translateRegExp(e){return Mt.translate(e)}static compile(e,t=0){let r=e;if(0!=(t&ve.CASE_INSENSITIVE)&&(r="(?i)"+r),0!=(t&ve.DOTALL)&&(r="(?s)"+r),0!=(t&ve.MULTILINE)&&(r="(?m)"+r),0!=(t&~(ve.MULTILINE|ve.DOTALL|ve.CASE_INSENSITIVE|ve.DISABLE_UNICODE_GROUPS|ve.LONGEST_MATCH|ve.LOOKBEHINDS)))throw new Je("Flags should only be a combination of MULTILINE, DOTALL, CASE_INSENSITIVE, DISABLE_UNICODE_GROUPS, LONGEST_MATCH, LOOKBEHINDS");let n=_.PERL;0!=(t&ve.DISABLE_UNICODE_GROUPS)&&(n&=~_.UNICODE_GROUPS),0!=(t&ve.LOOKBEHINDS)&&(n|=_.LOOKBEHIND);var s=new ve(e,t);return s.re2Input=Pt.compileImpl(r,n,0!=(t&ve.LONGEST_MATCH)),s}static matches(e,t){return ve.compile(e).testExact(t)}static initTest(e,t,r){if(null==e)throw new Error("pattern is null");if(null==r)throw new Error("re2 is null");var n=new ve(e,t);return n.re2Input=r,n}constructor(e,t){this.patternInput=e,this.flagsInput=t,this.re2Input=null}reset(){this.re2Input.reset()}flags(){return this.flagsInput}pattern(){return this.patternInput}re2(){return this.re2Input}matches(e){return this.testExact(e)}matcher(e){return D.isByteArray(e)&&(e=ke.utf8(e)),new je(this,e)}test(e){return D.isByteArray(e)?this.re2Input.matchUTF8(e):this.re2Input.match(e)}testExact(e){var t=D.isByteArray(e)?Ve.fromUTF8(e):Ve.fromUTF16(e);return null!==this.re2Input.executeEngine(t,0,_.ANCHOR_BOTH,0)}split(e,t=0){var r=this.matcher(e),n=[];let s=0,i=0;for(;r.find();){if(0===i&&0===r.end());else{if(0<t&&n.length===t-1)break;if(i===r.start()){if(0===t){s+=1,i=r.end();continue}}else for(;0<s;)n.push(""),--s;n.push(r.substring(i,r.start()))}i=r.end()}if(0===t&&i!==r.inputLength()){for(;0<s;)n.push(""),--s;n.push(r.substring(i,r.inputLength()))}return 0===t&&0!==n.length||n.push(r.substring(i,r.inputLength())),n}*matchAll(t){for(var r=this.matcher(t);r.find();){var n=[r.group(0)];for(let e=1;e<=r.groupCount();e++){var s=r.group(e);n.push(null===s?void 0:s)}n.index=r.start(0),n.input=t;var i=this.namedGroups();if(0<Object.keys(i).length){var a,B=r.getNamedGroups();for(a in B)null===B[a]&&(B[a]=void 0);n.groups=B}else n.groups=void 0;yield n}}toString(){return this.patternInput}programSize(){return this.re2Input.numberOfInstructions()}groupCount(){return this.re2Input.numberOfCapturingGroups()}namedGroups(){return this.re2Input.namedGroups}equals(e){return this===e||null!==e&&this.constructor===e.constructor&&this.flagsInput===e.flagsInput&&this.patternInput===e.patternInput}}).CASE_INSENSITIVE=we.CASE_INSENSITIVE,ve.DOTALL=we.DOTALL,ve.MULTILINE=we.MULTILINE,ve.DISABLE_UNICODE_GROUPS=we.DISABLE_UNICODE_GROUPS,ve.LONGEST_MATCH=we.LONGEST_MATCH,ve.LOOKBEHINDS=we.LOOKBEHINDS,ve);let Ht="13.3.0";let Ut=new class{constructor(e){this.name=e,this._logLevel=oe,this._logHandler=le,this._userLogHandler=null}get logLevel(){return this._logLevel}set logLevel(e){if(!(e in h))throw new TypeError(`Invalid value "${e}" assigned to \`logLevel\``);this._logLevel=e}setLogLevel(e){this._logLevel="string"==typeof e?Be[e]:e}get logHandler(){return this._logHandler}set logHandler(e){if("function"!=typeof e)throw new TypeError("Value assigned to `logHandler` must be a function");this._logHandler=e}get userLogHandler(){return this._userLogHandler}set userLogHandler(e){this._userLogHandler=e}debug(...e){this._userLogHandler&&this._userLogHandler(this,h.DEBUG,...e),this._logHandler(this,h.DEBUG,...e)}log(...e){this._userLogHandler&&this._userLogHandler(this,h.VERBOSE,...e),this._logHandler(this,h.VERBOSE,...e)}info(...e){this._userLogHandler&&this._userLogHandler(this,h.INFO,...e),this._logHandler(this,h.INFO,...e)}warn(...e){this._userLogHandler&&this._userLogHandler(this,h.WARN,...e),this._logHandler(this,h.WARN,...e)}error(...e){this._userLogHandler&&this._userLogHandler(this,h.ERROR,...e),this._logHandler(this,h.ERROR,...e)}}("@firebase/firestore");function qt(){return Ut.logLevel}function C(e,...t){var r;Ut.logLevel<=h.DEBUG&&(r=t.map(jt),Ut.debug(`Firestore (${Ht}): `+e,...r))}function Jt(e,...t){var r;Ut.logLevel<=h.ERROR&&(r=t.map(jt),Ut.error(`Firestore (${Ht}): `+e,...r))}function Kt(e,...t){var r;Ut.logLevel<=h.WARN&&(r=t.map(jt),Ut.warn(`Firestore (${Ht}): `+e,...r))}function jt(t){if("string"==typeof t)return t;try{return JSON.stringify(t)}catch(e){return t}}function w(e,t,r){let n="Unexpected state";"string"==typeof t?n=t:r=t,Qt(e,n,r)}function Qt(e,t,r){let n=`FIRESTORE (${Ht}) INTERNAL ASSERTION FAILED: ${t} (ID: ${e.toString(16)})`;if(void 0!==r)try{n+=" CONTEXT: "+JSON.stringify(r)}catch(e){n+=" CONTEXT: "+r}throw Jt(n),new Error(n)}function p(e,t,r,n){let s="Unexpected state";"string"==typeof r?s=r:n=r,e||Qt(t,s,n)}class zt{static newId(){var t=62*Math.floor(256/62);let r="";for(;r.length<20;){var n=(t=>{var r="undefined"!=typeof self&&(self.crypto||self.msCrypto),n=new Uint8Array(t);if(r&&"function"==typeof r.getRandomValues)r.getRandomValues(n);else for(let e=0;e<t;e++)n[e]=Math.floor(256*Math.random());return n})(40);for(let e=0;e<n.length;++e)r.length<20&&n[e]<t&&(r+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(n[e]%62))}return r}}function b(e,t){return e<t?-1:t<e?1:0}function Yt(r,n){let e=Math.min(r.length,n.length);for(let s=0;s<e;s++){let e=r.charAt(s),t=n.charAt(s);if(e!==t)return Zt(e)===Zt(t)?b(e,t):Zt(e)?1:-1}return b(r.length,n.length)}let Wt=55296,Xt=57343;function Zt(e){var t=e.charCodeAt(0);return t>=Wt&&t<=Xt}function $t(e,r,n){return e.length===r.length&&e.every((e,t)=>n(e,r[t]))}function er(e){return e+"\0"}class tr{constructor(e,t){this.comparator=e,this.root=t||nr.EMPTY}insert(e,t){return new tr(this.comparator,this.root.insert(e,t,this.comparator).copy(null,null,nr.BLACK,null,null))}remove(e){return new tr(this.comparator,this.root.remove(e,this.comparator).copy(null,null,nr.BLACK,null,null))}get(e){let t=this.root;for(;!t.isEmpty();){var r=this.comparator(e,t.key);if(0===r)return t.value;r<0?t=t.left:0<r&&(t=t.right)}return null}indexOf(e){let t=0,r=this.root;for(;!r.isEmpty();){var n=this.comparator(e,r.key);if(0===n)return t+r.left.size;r=n<0?r.left:(t+=r.left.size+1,r.right)}return-1}isEmpty(){return this.root.isEmpty()}get size(){return this.root.size}minKey(){return this.root.minKey()}maxKey(){return this.root.maxKey()}inorderTraversal(e){return this.root.inorderTraversal(e)}forEach(r){this.inorderTraversal((e,t)=>(r(e,t),!1))}toString(){let r=[];return this.inorderTraversal((e,t)=>(r.push(e+":"+t),!1)),`{${r.join(", ")}}`}reverseTraversal(e){return this.root.reverseTraversal(e)}getIterator(){return new rr(this.root,null,this.comparator,!1)}getIteratorFrom(e){return new rr(this.root,e,this.comparator,!1)}getReverseIterator(){return new rr(this.root,null,this.comparator,!0)}getReverseIteratorFrom(e){return new rr(this.root,e,this.comparator,!0)}}class rr{constructor(e,t,r,n){this.isReverse=n,this.nodeStack=[];let s=1;for(;!e.isEmpty();)if(s=t?r(e.key,t):1,t&&n&&(s*=-1),s<0)e=this.isReverse?e.left:e.right;else{if(0===s){this.nodeStack.push(e);break}this.nodeStack.push(e),e=this.isReverse?e.right:e.left}}getNext(){let e=this.nodeStack.pop();var t={key:e.key,value:e.value};if(this.isReverse)for(e=e.left;!e.isEmpty();)this.nodeStack.push(e),e=e.right;else for(e=e.right;!e.isEmpty();)this.nodeStack.push(e),e=e.left;return t}hasNext(){return 0<this.nodeStack.length}peek(){var e;return 0===this.nodeStack.length?null:{key:(e=this.nodeStack[this.nodeStack.length-1]).key,value:e.value}}}class nr{constructor(e,t,r,n,s){this.key=e,this.value=t,this.color=null!=r?r:nr.RED,this.left=null!=n?n:nr.EMPTY,this.right=null!=s?s:nr.EMPTY,this.size=this.left.size+1+this.right.size}copy(e,t,r,n,s){return new nr(null!=e?e:this.key,null!=t?t:this.value,null!=r?r:this.color,null!=n?n:this.left,null!=s?s:this.right)}isEmpty(){return!1}inorderTraversal(e){return this.left.inorderTraversal(e)||e(this.key,this.value)||this.right.inorderTraversal(e)}reverseTraversal(e){return this.right.reverseTraversal(e)||e(this.key,this.value)||this.left.reverseTraversal(e)}min(){return this.left.isEmpty()?this:this.left.min()}minKey(){return this.min().key}maxKey(){return this.right.isEmpty()?this.key:this.right.maxKey()}insert(e,t,r){var n=this,s=r(e,n.key);return(n=s<0?n.copy(null,null,null,n.left.insert(e,t,r),null):0===s?n.copy(null,t,null,null,null):n.copy(null,null,null,null,n.right.insert(e,t,r))).fixUp()}removeMin(){if(this.left.isEmpty())return nr.EMPTY;let e=this;return(e=(e=e.left.isRed()||e.left.left.isRed()?e:e.moveRedLeft()).copy(null,null,null,e.left.removeMin(),null)).fixUp()}remove(e,t){let r,n=this;if(t(e,n.key)<0)n=(n=n.left.isEmpty()||n.left.isRed()||n.left.left.isRed()?n:n.moveRedLeft()).copy(null,null,null,n.left.remove(e,t),null);else{if(0===t(e,(n=(n=n.left.isRed()?n.rotateRight():n).right.isEmpty()||n.right.isRed()||n.right.left.isRed()?n:n.moveRedRight()).key)){if(n.right.isEmpty())return nr.EMPTY;r=n.right.min(),n=n.copy(r.key,r.value,null,null,n.right.removeMin())}n=n.copy(null,null,null,null,n.right.remove(e,t))}return n.fixUp()}isRed(){return this.color}fixUp(){let e=this;return e=(e=(e=e.right.isRed()&&!e.left.isRed()?e.rotateLeft():e).left.isRed()&&e.left.left.isRed()?e.rotateRight():e).left.isRed()&&e.right.isRed()?e.colorFlip():e}moveRedLeft(){let e=this.colorFlip();return e=e.right.left.isRed()?(e=(e=e.copy(null,null,null,null,e.right.rotateRight())).rotateLeft()).colorFlip():e}moveRedRight(){let e=this.colorFlip();return e=e.left.left.isRed()?(e=e.rotateRight()).colorFlip():e}rotateLeft(){var e=this.copy(null,null,nr.RED,null,this.right.left);return this.right.copy(null,null,this.color,e,null)}rotateRight(){var e=this.copy(null,null,nr.RED,this.left.right,null);return this.left.copy(null,null,this.color,null,e)}colorFlip(){var e=this.left.copy(null,null,!this.left.color,null,null),t=this.right.copy(null,null,!this.right.color,null,null);return this.copy(null,null,!this.color,e,t)}checkMaxDepth(){var e=this.check();return Math.pow(2,e)<=this.size+1}check(){if(this.isRed()&&this.left.isRed())throw w(43730,{key:this.key,value:this.value});if(this.right.isRed())throw w(14113,{key:this.key,value:this.value});var e=this.left.check();if(e!==this.right.check())throw w(27949);return e+(this.isRed()?0:1)}}nr.EMPTY=null,nr.RED=!0,nr.BLACK=!1,nr.EMPTY=new class{constructor(){this.size=0}get key(){throw w(57766)}get value(){throw w(16141)}get color(){throw w(16727)}get left(){throw w(29726)}get right(){throw w(36894)}copy(e,t,r,n,s){return this}insert(e,t,r){return new nr(e,t)}remove(e,t){return this}isEmpty(){return!0}inorderTraversal(e){return!1}reverseTraversal(e){return!1}minKey(){return null}maxKey(){return null}isRed(){return!1}checkMaxDepth(){return!0}check(){return 0}};class sr{constructor(e){this.comparator=e,this.data=new tr(this.comparator)}has(e){return null!==this.data.get(e)}first(){return this.data.minKey()}last(){return this.data.maxKey()}get size(){return this.data.size}indexOf(e){return this.data.indexOf(e)}forEach(r){this.data.inorderTraversal((e,t)=>(r(e),!1))}forEachInRange(e,t){for(var r=this.data.getIteratorFrom(e[0]);r.hasNext();){var n=r.getNext();if(0<=this.comparator(n.key,e[1]))return;t(n.key)}}forEachWhile(e,t){for(var r=void 0!==t?this.data.getIteratorFrom(t):this.data.getIterator();r.hasNext();)if(!e(r.getNext().key))return}firstAfterOrEqual(e){var t=this.data.getIteratorFrom(e);return t.hasNext()?t.getNext().key:null}getIterator(){return new dr(this.data.getIterator())}getIteratorFrom(e){return new dr(this.data.getIteratorFrom(e))}add(e){return this.copy(this.data.remove(e).insert(e,!0))}delete(e){return this.has(e)?this.copy(this.data.remove(e)):this}isEmpty(){return this.data.isEmpty()}unionWith(e){let t=this;return t.size<e.size&&(t=e,e=this),e.forEach(e=>{t=t.add(e)}),t}isEqual(e){if(!(e instanceof sr))return!1;if(this.size!==e.size)return!1;for(var r=this.data.getIterator(),n=e.data.getIterator();r.hasNext();){let e=r.getNext().key,t=n.getNext().key;if(0!==this.comparator(e,t))return!1}return!0}toArray(){let t=[];return this.forEach(e=>{t.push(e)}),t}toString(){let t=[];return this.forEach(e=>t.push(e)),"SortedSet("+t.toString()+")"}copy(e){var t=new sr(this.comparator);return t.data=e,t}}class dr{constructor(e){this.iter=e}getNext(){return this.iter.getNext().key}hasNext(){return this.iter.hasNext()}}function fr(e){return e.hasNext()?e.getNext():void 0}let T={OK:"ok",CANCELLED:"cancelled",UNKNOWN:"unknown",INVALID_ARGUMENT:"invalid-argument",DEADLINE_EXCEEDED:"deadline-exceeded",NOT_FOUND:"not-found",ALREADY_EXISTS:"already-exists",PERMISSION_DENIED:"permission-denied",UNAUTHENTICATED:"unauthenticated",RESOURCE_EXHAUSTED:"resource-exhausted",FAILED_PRECONDITION:"failed-precondition",ABORTED:"aborted",OUT_OF_RANGE:"out-of-range",UNIMPLEMENTED:"unimplemented",INTERNAL:"internal",UNAVAILABLE:"unavailable",DATA_LOSS:"data-loss"};class N extends Z{constructor(e,t){super(e,t),this.code=e,this.message=t,this.toString=()=>`${this.name}: [code=${this.code}]: `+this.message}}let gr="__name__";class pr{constructor(e,t,r){void 0===t?t=0:t>e.length&&w(637,{offset:t,range:e.length}),void 0===r?r=e.length-t:r>e.length-t&&w(1746,{length:r,range:e.length-t}),this.segments=e,this.offset=t,this.len=r}get length(){return this.len}isEqual(e){return 0===pr.comparator(this,e)}child(e){let t=this.segments.slice(this.offset,this.limit());return e instanceof pr?e.forEach(e=>{t.push(e)}):t.push(e),this.construct(t)}limit(){return this.offset+this.length}popFirst(e){return this.construct(this.segments,this.offset+(e=void 0===e?1:e),this.length-e)}popLast(){return this.construct(this.segments,this.offset,this.length-1)}firstSegment(){return this.segments[this.offset]}lastSegment(){return this.get(this.length-1)}get(e){return this.segments[this.offset+e]}isEmpty(){return 0===this.length}isPrefixOf(e){if(e.length<this.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}isImmediateParentOf(e){if(this.length+1!==e.length)return!1;for(let t=0;t<this.length;t++)if(this.get(t)!==e.get(t))return!1;return!0}forEach(e){for(let t=this.offset,r=this.limit();t<r;t++)e(this.segments[t])}toArray(){return this.segments.slice(this.offset,this.limit())}static comparator(t,r){let e=Math.min(t.length,r.length);for(let n=0;n<e;n++){let e=pr.compareSegments(t.get(n),r.get(n));if(0!==e)return e}return b(t.length,r.length)}static compareSegments(e,t){var r=pr.isNumericId(e),n=pr.isNumericId(t);return r&&!n?-1:!r&&n?1:r&&n?pr.extractNumericId(e).compare(pr.extractNumericId(t)):Yt(e,t)}static isNumericId(e){return e.startsWith("__id")&&e.endsWith("__")}static extractNumericId(e){return ie.fromString(e.substring(4,e.length-2))}}class A extends pr{construct(e,t,r){return new A(e,t,r)}canonicalString(){return this.toArray().join("/")}toString(){return this.canonicalString()}toStringWithLeadingSlash(){return"/"+this.canonicalString()}toUriEncodedString(){return this.toArray().map(encodeURIComponent).join("/")}static fromString(...e){var t,r=[];for(t of e){if(0<=t.indexOf("//"))throw new N(T.INVALID_ARGUMENT,`Invalid segment (${t}). Paths must not contain // in them.`);r.push(...t.split("/").filter(e=>0<e.length))}return new A(r)}static emptyPath(){return new A([])}}let mr=/^[_a-zA-Z][_a-zA-Z0-9]*$/,Er=class Fm extends pr{construct(e,t,r){return new Fm(e,t,r)}static isValidIdentifier(e){return mr.test(e)}canonicalString(){return this.toArray().map(e=>(e=e.replace(/\\/g,"\\\\").replace(/`/g,"\\`"),e=Fm.isValidIdentifier(e)?e:"`"+e+"`")).join(".")}toString(){return this.canonicalString()}isKeyField(){return 1===this.length&&this.get(0)===gr}static keyField(){return new Fm([gr])}static fromServerFormat(t){let e=[],r="",n=0;var s=()=>{if(0===r.length)throw new N(T.INVALID_ARGUMENT,`Invalid field path (${t}). Paths must not be empty, begin with '.', end with '.', or contain '..'`);e.push(r),r=""};let i=!1;for(;n<t.length;){let e=t[n];if("\\"===e){if(n+1===t.length)throw new N(T.INVALID_ARGUMENT,"Path has trailing escape character: "+t);let e=t[n+1];if("\\"!==e&&"."!==e&&"`"!==e)throw new N(T.INVALID_ARGUMENT,"Path has invalid escape sequence: "+t);r+=e,n+=2}else"`"===e?i=!i:"."!==e||i?r+=e:s(),n++}if(s(),i)throw new N(T.INVALID_ARGUMENT,"Unterminated ` in path: "+t);return new Fm(e)}static emptyPath(){return new Fm([])}};class Dr{constructor(e){(this.fields=e).sort(Er.comparator)}static empty(){return new Dr([])}unionWith(e){let t=new sr(Er.comparator);for(let e of this.fields)t=t.add(e);for(var r of e)t=t.add(r);return new Dr(t.toArray())}covers(e){for(var t of this.fields)if(t.isPrefixOf(e))return!0;return!1}isEqual(e){return $t(this.fields,e.fields,(e,t)=>e.isEqual(t))}}function vr(e){let t=0;for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}function wr(e,t){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t(r,e[r])}function yr(e){for(var t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}class x{constructor(e){this.path=e}static fromPath(e){return new x(A.fromString(e))}static fromName(e){return new x(A.fromString(e).popFirst(5))}static empty(){return new x(A.emptyPath())}get collectionGroup(){return this.path.popLast().lastSegment()}hasCollectionId(e){return 2<=this.path.length&&this.path.get(this.path.length-2)===e}getCollectionGroup(){return this.path.get(this.path.length-2)}getCollectionPath(){return this.path.popLast()}isEqual(e){return null!==e&&0===A.comparator(this.path,e.path)}toString(){return this.path.toString()}static comparator(e,t){return A.comparator(e.path,t.path)}static isDocumentKey(e){return e.length%2==0}static fromSegments(e){return new x(new A(e.slice()))}}function _r(e,t,r){if(!r)throw new N(T.INVALID_ARGUMENT,`Function ${e}() cannot be called with an empty ${t}.`)}function Ir(e,t,r,n){if(!0===t&&!0===n)throw new N(T.INVALID_ARGUMENT,e+` and ${r} cannot be used together.`)}function br(e){if(!x.isDocumentKey(e))throw new N(T.INVALID_ARGUMENT,`Invalid document reference. Document references must have an even number of segments, but ${e} has ${e.length}.`)}function Tr(e){if(x.isDocumentKey(e))throw new N(T.INVALID_ARGUMENT,`Invalid collection reference. Collection references must have an odd number of segments, but ${e} has ${e.length}.`)}function Nr(e){return"object"==typeof e&&null!==e&&(Object.getPrototypeOf(e)===Object.prototype||null===Object.getPrototypeOf(e))}function Ar(e){var t,r;return void 0===e?"undefined":null===e?"null":"string"==typeof e?(20<e.length&&(e=e.substring(0,20)+"..."),JSON.stringify(e)):"number"==typeof e||"boolean"==typeof e?""+e:"object"==typeof e?e instanceof Array?"an array":(t=(r=e).constructor?r.constructor.name:null)?`a custom ${t} object`:"an object":"function"==typeof e?"a function":w(12329,{type:typeof e})}function d(e,t){if((e="_delegate"in e?e._delegate:e)instanceof t)return e;if(t.name===e.constructor.name)throw new N(T.INVALID_ARGUMENT,"Type does not match the expected instance. Did you pass a reference from a different Firestore SDK?");var r=Ar(e);throw new N(T.INVALID_ARGUMENT,`Expected type '${t.name}', but it was: `+r)}function xr(e,t){if(t<=0)throw new N(T.INVALID_ARGUMENT,`Function ${e}() requires a positive number, but it was: ${t}.`)}function Fr(e,t){var r={typeString:e};return t&&(r.value=t),r}function Sr(e,t){if(!Nr(e))throw new N(T.INVALID_ARGUMENT,"JSON must be an object");let r;for(var n in t)if(t[n]){var s=t[n].typeString,i="value"in t[n]?{value:t[n].value}:void 0,a=t[n].optional;if(!(n in e)){if(a)continue;r=`JSON missing required field: '${n}'`;break}a=e[n];if(s&&typeof a!==s){r=`JSON field '${n}' must be a ${s}.`;break}if(void 0!==i&&a!==i.value){r=`Expected '${n}' field to equal '${i.value}'`;break}}if(r)throw new N(T.INVALID_ARGUMENT,r);return 1}let Or=-62135596800;class g{static now(){return g.fromMillis(Date.now())}static fromDate(e){return g.fromMillis(e.getTime())}static fromMillis(e){var t=Math.floor(e/1e3),r=Math.floor(1e6*(e-1e3*t));return new g(t,r)}static fromInstant(e){if(e&&"bigint"==typeof e.t)return g._fromEpochNanoseconds(e.t);throw new N(T.INVALID_ARGUMENT,"Invalid Temporal.Instant object provided.")}static _fromEpochNanoseconds(e){let t,r;var n;return r=0n<=e?(t=Number(e/1000000000n),Number(e%1000000000n)):0n===(n=e%1000000000n)?(t=Number(e/1000000000n),0):(t=Number(e/1000000000n-1n),Number(n+1000000000n)),new g(t,r)}constructor(e,t){if(this.seconds=e,(this.nanoseconds=t)<0)throw new N(T.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(1e9<=t)throw new N(T.INVALID_ARGUMENT,"Timestamp nanoseconds out of range: "+t);if(e<Or)throw new N(T.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e);if(253402300800<=e)throw new N(T.INVALID_ARGUMENT,"Timestamp seconds out of range: "+e)}toDate(){return new Date(this.toMillis())}toMillis(){return 1e3*this.seconds+this.nanoseconds/1e6}toInstant(){var e;if("undefined"!=typeof Temporal&&Temporal.Instant)return e=1000000000n*BigInt(this.seconds)+BigInt(this.nanoseconds),Temporal.Instant.__PRIVATE_fromEpochNanoseconds(e);throw new N(T.FAILED_PRECONDITION,"The Temporal object is not available in the current environment.")}_compareTo(e){return this.seconds===e.seconds?b(this.nanoseconds,e.nanoseconds):b(this.seconds,e.seconds)}isEqual(e){return e.seconds===this.seconds&&e.nanoseconds===this.nanoseconds}toString(){return"Timestamp(seconds="+this.seconds+", nanoseconds="+this.nanoseconds+")"}toJSON(){return{type:g._jsonSchemaVersion,seconds:this.seconds,nanoseconds:this.nanoseconds}}static fromJSON(e){if(Sr(e,g._jsonSchema))return new g(e.seconds,e.nanoseconds)}valueOf(){var e=this.seconds-Or;return String(e).padStart(12,"0")+"."+String(this.nanoseconds).padStart(9,"0")}}g._jsonSchemaVersion="firestore/timestamp/1.0",g._jsonSchema={type:Fr("string",g._jsonSchemaVersion),seconds:Fr("number"),nanoseconds:Fr("number")};class Lr extends Error{constructor(){super(...arguments),this.name="Base64DecodeError"}}class Rr{constructor(e){this.binaryString=e}static fromBase64String(e){var t=(e=>{try{return atob(e)}catch(e){throw"undefined"!=typeof DOMException&&e instanceof DOMException?new Lr("Invalid base64 string: "+e):e}})(e);return new Rr(t)}static fromUint8Array(e){var t=(e=>{let t="";for(let r=0;r<e.length;++r)t+=String.fromCharCode(e[r]);return t})(e);return new Rr(t)}[Symbol.iterator](){let e=0;return{next:()=>e<this.binaryString.length?{value:this.binaryString.charCodeAt(e++),done:!1}:{value:void 0,done:!0}}}toBase64(){return e=this.binaryString,btoa(e);var e}toUint8Array(){var e=this.binaryString,t=new Uint8Array(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}approximateByteSize(){return 2*this.binaryString.length}compareTo(e){return b(this.binaryString,e.binaryString)}isEqual(e){return this.binaryString===e.binaryString}}Rr.EMPTY_BYTE_STRING=new Rr("");let kr=new RegExp(/^\d{4}-\d\d-\d\dT\d\d:\d\d:\d\d(?:\.(\d+))?Z$/);function Gr(t){if(p(!!t,39018),"string"!=typeof t)return{seconds:Pr(t.seconds),nanos:Pr(t.nanos)};{let e=0;var r=kr.exec(t),r=(p(!!r,46558,{timestamp:t}),r[1]&&(r=((r=r[1])+"000000000").substr(0,9),e=Number(r)),new Date(t));return{seconds:Math.floor(r.getTime()/1e3),nanos:e}}}function Pr(e){return"number"==typeof e?e:"string"==typeof e?Number(e):0}function Mr(e){return"string"==typeof e?Rr.fromBase64String(e):Rr.fromUint8Array(e)}let Vr="server_timestamp",Hr="__type__",Ur="__previous_value__",qr="__local_write_time__";function Jr(e){return(e?.mapValue?.fields||{})[Hr]?.stringValue===Vr}function Kr(e){var t=e.mapValue.fields[Ur];return Jr(t)?Kr(t):t}function jr(e){var t=Gr(e.mapValue.fields[qr].timestampValue);return new g(t.seconds,t.nanos)}class Qr{constructor(e,t,r,n,s,i,a,B,o,u,l,h,c){this.databaseId=e,this.appId=t,this.persistenceKey=r,this.host=n,this.ssl=s,this.forceLongPolling=i,this.autoDetectLongPolling=a,this.longPollingOptions=B,this.useFetchStreams=o,this.isUsingEmulator=u,this.apiKey=l,this._customHeaders=h,this.grpcFlowControlWindow=c}}let zr="(default)";class Yr{constructor(e,t){this.projectId=e,this.database=t||zr}static empty(){return new Yr("","")}get isDefaultDatabase(){return this.database===zr}isEqual(e){return e instanceof Yr&&e.projectId===this.projectId&&e.database===this.database}}class l{constructor(){this.exponent=0,this.i=0n,this.o=0n,this.u=new Array(4).fill(0n),this.l=new Array(6).fill(0n),this.h=new Array(6).fill(0n),this.T=new Array(6).fill(0n),this.P=new Array(12).fill(0n)}static I(e,t){var r=new l;return r.parse(e,t),r}parse(e,t){t+=e.length-1,this.exponent=0,this.i=0n,this.o=0n;var r=this.T,n=this.R(e,r);0==n&&this.isEmpty(r)||(t+=n)<l.A||(t>l.V?this.exponent=Number(l.m):(n=this.p(t,r),this.S(t,n,r)))}R(t,e){for(let a=0;a<6;a++)e[a]=0n;let r=0;for(;r<t.length&&0==t[r];)r+=1;if(r==t.length)return 0;let n=-r;if(t.length-r>l.v){var s=5<=t[l.v],i=new Array(l.v).fill(0);for(let e=0;e<l.v;e++)i[e]=t[e+r];s&&(n+=this.D(i)),t=i,r=0}for(let B=t.length-1;B>=r;B--)e[0]|=BigInt(t[B])<<32n,this.C(e);return n}C(e){var t=e.length;for(let n=0;n<t;n++){var r=e[n]%10n;e[n]=e[n]/10n,n+1<t&&(e[n+1]+=r<<32n)}}isEmpty(e){for(let t=0;t<e.length;t++)if(0n!=e[t])return!1;return!0}D(e){for(let t=e.length-1;0<=t;t--){if(9!=e[t])return e[t]=e[t]+1,0;e[t]=0}return e[0]=1}p(e,t){var r=t[0]<<31n|t[1]>>1n,r=Number(r)/l.F;return Math.floor(Number(e)*l.O+this.log2(r))}log2(e){return l.M*Math.log(e)}S(e,t,r){var n=this.u,s=(this.N(-t,n),this.P);this.B(r,n,s),this.L(s),BigInt(n[0])!=BigInt(-e)&&this.L(s),(t=(t+=this.$(s))+l.U)<=0||(t+=this.k(s),BigInt(t)>=l.m?this.exponent=Number(l.m):(this.exponent=Number(t),this.i=(s[0]<<32n)+s[1]&0xffffffffffffffffn,this.o=(s[2]<<32n)+s[3]&0xffffffffffffffffn))}N(s,i){if(0==s)this.q(l.K[0],i);else{let e=l.K,t=(s<0&&(s=-s,e=l.W),l.G),r=32,n=!0;for(;0<s;)s>=t&&(n?(this.q(e[r],i),n=!1):this.j(i,e[r],i),s-=t),--r,t*=.5}}q(e,t){for(let r=0;r<t.length;r++)t[r]=e[r]}j(e,t,r){this.H(e,t,this.P);var n=this.J(this.P);this.Y(this.P,r),r[0]=e[0]+t[0]+BigInt(n)}H(e,t,r){for(let s=0;s<r.length;s++)r[s]=0n;this.Z(e,this.l),this.Z(t,this.h);for(let i=5;0<=i;i--)for(let e=5;0<=e;e--){var n=this.l[i]*this.h[e];r[e+i+1]=r[e+i+1]+(n&l.X)&0xffffffffffffffffn,r[e+i]=r[e+i]+(n>>32n)&0xffffffffffffffffn}for(let a=11;1<=a;a--)r[a-1]=r[a-1]+(r[a]>>32n)&0xffffffffffffffffn,r[a]&=l.X}J(e){let t=0;for(;this.ee(e);)this.L(e),--t;return t}ee(t){if(t[0]<0x19999999n)return!0;if(!(0x19999999n<t[0]))for(let e=1;e<t.length;e++){if(t[e]<0x99999999n)return!0;if(0x99999999n<t[e])return!1}return!1}B(t,e,r){for(let a=0;a<r.length;a++)r[a]=0n;var n=this.h,s=(this.Z(e,n),t.length);for(let B=s-1;0<=B;B--)for(let e=s-1;0<=e;e--){var i=t[B]*n[e];r[e+B+1]=r[e+B+1]+(i&l.X)&0xffffffffffffffffn,r[e+B]=r[e+B]+(i>>32n)&0xffffffffffffffffn}for(let o=11;1<=o;o--)r[o-1]=r[o-1]+(r[o]>>32n)&0xffffffffffffffffn,r[o]&=l.X}L(e){var t=e.length-1;e[0]&=l.X,e[t]*=10n;for(let r=t-1;0<=r;r--)e[r]=10n*e[r]+(e[r+1]>>32n)&0xffffffffffffffffn,e[r+1]&=l.X}$(e){var t=31-l.te(e[0]);return 0!=t&&this.ne(e,t),t}k(e){return this.re(e,5,100n),this.re(e,4,0x80000000n),0n!=(e[0]&l.ie<<1n)?(this.ne(e,1),1):0}Y(e,t){t[1]=(e[0]<<32n)+e[1],t[2]=(e[2]<<32n)+e[3],t[3]=(e[4]<<32n)+e[5]}Z(e,t){t[0]=e[1]>>32n,t[1]=e[1]&l.X,t[2]=e[2]>>32n,t[3]=e[2]&l.X,t[4]=e[3]>>32n,t[5]=e[3]&l.X}ne(t,r){var n=t.length-1,s=BigInt(32-Math.abs(r));if(0<r){var i=BigInt(r);for(let e=1+n-1;1<=e;e--)t[e]=t[e]>>i|t[e-1]<<s&l.X;t[0]=t[0]>>i}else if(r<0){var a=BigInt(-r);t[0]=0xffffffffffffffffn&(t[0]<<a|t[1]>>s);for(let e=1;e<n;e++)t[e]=0xffffffffffffffffn&(t[e]<<a&l.X|t[e+1]>>s);t[n]=t[n]<<a&l.X}}re(e,t,r){var n=t;e[n]=e[n]+r&0xffffffffffffffffn;for(let s=n+1-1;1<=s&&0n!=(e[s]&l.ie);s--)e[s]&=l.X,e[s-1]+=1n}static te(e){var t=Number(e>>32n);return 0==t?32+Math.clz32(Number(BigInt.asUintN(32,e))):Math.clz32(t)}}l.v=59,l.V=646456993,l.A=-646457032,l.F=0xccccccccccccd00,l.se=0x8000000000000000n,l.G=2147483648,l.X=0x00000000ffffffffn,l.ie=0xffffffff00000000n,l.O=Math.log(10)/Math.log(2),l.M=1/Math.log(2),l.U=2147483647,l.m=0xffffffffn,l.K=[[1n,0x1999999999999999n,0x9999999999999999n,0x999999999999999an],[1n,0x3333333333333333n,0x3333333333333333n,0x3333333333333334n],[1n,0x6666666666666666n,0x6666666666666666n,0x6666666666666667n],[2n,0x28f5c28f5c28f5c2n,0x8f5c28f5c28f5c28n,0xf5c28f5c28f5c290n],[3n,0x4189374bc6a7ef9dn,0xb22d0e5604189374n,0xbc6a7ef9db22d0e6n],[5n,0xa7c5ac471b478423n,0x0fcf80dc33721d53n,0xcddd6e04c0592104n],[10n,0x6df37f675ef6eadfn,0x5ab9a2072d44268dn,0x97df837e6748956en],[20n,0x2f394219248446ban,0xa23d2ec729af3d61n,0x0607aa0167dd94cbn],[39n,0x571cbec554b60dbbn,0xd5f64baf0506840dn,0x451db70d5904029bn],[78n,0x1da48ce468e7c702n,0x6520247d3556476dn,0x1469caf6db224cfan],[155n,0x2252f0e5b39769dcn,0x9ae2eea30ca3ade0n,0xeeaa3c08dfe84e30n],[309n,0x2e055c9a3f6ba793n,0x16583a816eb60a59n,0x22c4b0826cf1ebf7n],[617n,0x52bb45e9cf23f17fn,0x7688c07606e50364n,0xb34479aa9d449a57n],[1234n,0x1abc81c8ff5f846cn,0x8f5e3c9853e38c97n,0x45060097f3bf9296n],[2467n,0x1bec53b510daa7b4n,0x48369ed77dbb0eb1n,0x3b05587b2187b41en],[4933n,0x1e75063a5ba91326n,0x8abfb8e460016ae3n,0x28008702d29e8a3cn],[9865n,0x243c5d8bb5c5fa55n,0x40c6d248c5881915n,0x4c0fd99fd5befc22n],[19729n,0x334a5570c3f4ef3cn,0xa13c36c43f979c90n,0xda7ac473555fb7a8n],[39457n,0x66c304445dd98f3bn,0xa8c293a20e47a41bn,0x4c5b03dc12604964n],[78914n,0x293ffbf5fb028cc4n,0x89d3e5ff44238406n,0x369a339e1bfe8c9bn],[157827n,0x427792fbb68e5d20n,0x7b297cd9fc154b62n,0xf09142114aa9a20cn],[315653n,0xac92bc65ad5c08fcn,0x00beeb115a566c19n,0x4ba882d8a4622437n],[631306n,0x745581440f92e80en,0x4da822cf7f896f41n,0x509d598678164ecdn],[1262612n,0x34dd99b4c69523a5n,0x64bc2e8f0d8b1044n,0xb03b1c96da5dd349n],[2525223n,0x6d2bbea9d6d25a08n,0xa0a4606a88e96b70n,0x182063bbc2fe8520n],[5050446n,0x2e8e47d63bfdd6e3n,0x2b55fa8976eaa3e9n,0x1a6b9d3086412a73n],[10100891n,0x54aa68efa1d719dfn,0xd8505806612c5c8fn,0xad068837fee8b43an],[20201782n,0x1c00464ccb7bae77n,0x9e3877784c77982cn,0xd94af3b61717404fn],[40403563n,0x1ea099c8be2b6cd0n,0x8bfb6d539fa50466n,0x6d3bc37e69a84218n],[80807125n,0x24a457f466ce8d18n,0xf2c8f3b81bc6bb59n,0xa78c757692e02d49n],[161614249n,0x347256677aba6b53n,0x3fbf90d30611a67cn,0x1e039d87e0bdb32bn],[323228497n,0x6b727daf0fd3432an,0x71f71121f9e4200fn,0x8fcd9942d486c10cn],[646456994n,0x2d18e84484d91f78n,0x4079bfe7829dec6fn,0x21551643e365abc6n]],l.W=[[1n,0x1999999999999999n,0x9999999999999999n,0x999999999999999an],[0n,0x8000000000000000n,0x0000000000000000n,0x0000000000000000n],[0n,0x4000000000000000n,0x0000000000000000n,0x0000000000000001n],[-1n,0xa000000000000000n,0x0000000000000000n,0x0000000000000000n],[-2n,0x6400000000000000n,0x0000000000000000n,0x0000000000000000n],[-4n,0x2710000000000000n,0x0000000000000000n,0x0000000000000001n],[-9n,0x3b9aca0000000000n,0x0000000000000000n,0x0000000000000001n],[-19n,0x8ac7230489e80000n,0x0000000000000000n,0x0000000000000000n],[-38n,0x4b3b4ca85a86c47an,0x098a224000000000n,0x0000000000000001n],[-77n,0xdd15fe86affad912n,0x49ef0eb713f39eben,0xaa987b6e6fd2a002n],[-154n,0xbeeefb584aff8603n,0xaafb550ffacfd8fan,0x5ca47e4f88d45371n],[-308n,0x8e679c2f5e44ff8fn,0x570f09eaa7ea7648n,0x5961db50c6d2b888n],[-616n,0x4f371b3399fc2ab0n,0x8170041c9feb05aan,0xc7c343447c75bcf6n],[-1233n,0xf51e928179013fd3n,0xde4bd12cde4d985cn,0x4a573ca6f94bff14n],[-2466n,0xeab388127bccaff7n,0x1667639142b9fbaen,0x775ec9995e1039fbn],[-4932n,0xd72cb2a95c7ef6ccn,0xe81bf1e825ba7515n,0xc2feb521d6cb5dcdn],[-9864n,0xb4dc1be6604502dcn,0xd491079b8eef6535n,0x578d3965d24de84dn],[-19728n,0x7fc6447bee60ea43n,0x2548da5c8b125b27n,0x5f42d1142f41d349n],[-39456n,0x3fc65180f88af8fbn,0x6a6915f383349413n,0x063c3708b6ceb291n],[-78913n,0x9ee0197c8dcd55bfn,0x2b2b9b942c38f4a2n,0x0f8ba634e9c706aen],[-157826n,0x629963a25b8b2d79n,0xd00b9d2286f70876n,0xe97004700c3644fcn],[-315652n,0x25f9cc308ceef4f3n,0x40f19543911a4546n,0xa2cd389452cfc366n],[-631305n,0x385597b0d47e76b8n,0x1b9f67e103bf2329n,0xc3119848595985f7n],[-1262611n,0x7bf795d276c12f66n,0x66a61d62a446659an,0xa1a4d73bebf093d5n],[-2525222n,0x3c07d96ab1ed7799n,0xcb7355c22cc05ac0n,0x4ffc0ab73b1f6a49n],[-5050445n,0x8cc4cd8c3edefb9an,0x6c8ff86a90a97e0cn,0x166cfddbf98b71bfn],[-10100890n,0x4d67d81cc88e1228n,0x1d7cfb06666b79b3n,0x7b916728aaa4e70dn],[-20201781n,0xea0c55494e7a552dn,0xb88cb9484bb86c61n,0x8d44893c610bb7dfn],[-40403562n,0xd5fa8c821ec0c24an,0xa80e46e764e0f8b0n,0xa7276bfa432fac7en],[-80807124n,0xb2dae307426f6791n,0xc970b82f58b12918n,0x0472592f7f39190en],[-161614248n,0x7cf51edd8a15f1c9n,0x656dab3498f8e697n,0x12daa2a80e53c807n],[-323228496n,0x3cfe609ab5883c50n,0xbec8b5d22b198871n,0xe18477703b4622b4n],[-646456993n,0x9152447b9d7cda9an,0x3b4d3f6110d77aadn,0xfa81bad1c394adb4n]];class B{constructor(e,t,r,n){this.negative=e,this._e=t,this.i=r,this.o=n}exponent(){return this._e-l.U}oe(){return 0===this._e&&0n===this.i&&0n===this.o}ae(){return this._e===ce(B,bt,"f",Tt)&&0n===this.i&&0n===this.o}isNaN(){return this._e===ce(B,bt,"f",Tt)&&!(0n===this.i&&0n===this.o)}compareTo(e){if(this.isNaN())return e.isNaN()?0:1;if(e.isNaN())return-1;let t,r;if(this.negative){if(!e.negative)return-1;t=1,r=-1}else{if(e.negative)return 1;t=-1,r=1}return this._e<e._e?t:this._e>e._e?r:this.i<e.i?t:this.i>e.i?r:this.o<e.o?t:this.o>e.o?r:0}debug(){return(this.negative?"+":"-")+ce(B,bt,"m",Nt).call(B,this.i)+ce(B,bt,"m",Nt).call(B,this.o)+"*2^"+this.exponent()}static fromNumber(e){if(isNaN(e))return B.NaN;if(!isFinite(e))return e<0?B.ue:B.ce;if(0===e)return 0<Math.sign(1/e)?B.le:B.Ee;var t=new DataView(new ArrayBuffer(8)),t=(t.setFloat64(0,e),t.getBigUint64(0));let r=BigInt.asUintN(64,t<<12n),n=2047&Number(t>>52n);if(0===n){let e=l.te(r);r=e<63?r<<BigInt(e+1):0n,n=-e}return new B(e<0,ce(B,bt,"m",Ft).call(B,n-1023),r,0n)}static fromString(n){if("NaN"===n)return B.NaN;if("-Infinity"===n)return B.ue;if("Infinity"===n||"+Infinity"===n)return B.ce;var t=new Array(n.length).fill(0);let s=0,r=0,i=0,e=!1;for("-"===n[s]?(e=!0,s++):"+"===n[s]&&s++;ce(B,bt,"m",At).call(B,n,s);)t[r++]=ce(B,bt,"m",xt).call(B,n,s++);if("."===n[s]){let e=++s;for(;ce(B,bt,"m",At).call(B,n,s);)t[r++]=ce(B,bt,"m",xt).call(B,n,s++);i=e-s}if("e"===n[s]||"E"===n[s]){let e=0,t=1,r=("-"===n[++s]?(t=-1,s++):"+"===n[s]&&s++,s);for(;ce(B,bt,"m",At).call(B,n,s);)if(e=10*e+ce(B,bt,"m",xt).call(B,n,s++),9<s-r)throw new Error("Exponent too large "+n);if(s===r)throw new Error("Invalid number "+n);i+=e*t}if(0===r||s!==n.length)throw new Error("Invalid number "+n);var a=l.I(t.slice(0,r),i);return new B(e,a.exponent,a.i,a.o)}}bt=B,Nt=function(e){return e.toString(16).padStart(16,"0")},At=function(e,t){var r=e.codePointAt(t);return void 0!==r&&48<=r&&r<=57},xt=function(e,t){return e.codePointAt(t)-48},Ft=function(e){return e+l.U},Tt={value:Number(l.m)},B.le=new B(!1,0,0n,0n),B.Ee=new B(!0,0,0n,0n),B.NaN=new B(!1,ce(B,bt,"f",Tt),1n<<63n,0n),B.ue=new B(!0,ce(B,bt,"f",Tt),0n,0n),B.ce=new B(!1,ce(B,bt,"f",Tt),0n,0n),new B(!0,ce(B,bt,"m",Ft).call(B,63),0n,0n),new B(!1,ce(B,bt,"m",Ft).call(B,0),0n,0n),new B(!0,ce(B,bt,"m",Ft).call(B,0),0n,0n);let Wr=-1;function Xr(e){return null==e}function Zr(e){return 0===e&&1/e==-1/0}function $r(e){return"number"==typeof e&&Number.isInteger(e)&&!Zr(e)&&e<=Number.MAX_SAFE_INTEGER&&e>=Number.MIN_SAFE_INTEGER}function en(e){return"string"==typeof e}let tn="__type__",rn="__vector__",nn="value",sn="__min__",an="__max__",Bn="__regex__",on="pattern",un="options",ln="__oid__",hn="__int__",cn="__decimal128__",Cn="__request_timestamp__",dn="seconds",fn="increment",gn="__binary__",pn={nullValue:"NULL_VALUE"},mn={mapValue:{fields:{__type__:{stringValue:an}}}},En={mapValue:{fields:{[tn]:{stringValue:rn},[nn]:{arrayValue:{}}}}},Dn={mapValue:{fields:{[sn]:{nullValue:"NULL_VALUE"}}}},vn={mapValue:{fields:{[an]:{nullValue:"NULL_VALUE"}}}},wn={mapValue:{fields:{[ln]:{stringValue:""}}}},yn={mapValue:{fields:{[Cn]:{mapValue:{fields:{[dn]:{integerValue:0},[fn]:{integerValue:0}}}}}}},_n={mapValue:{fields:{[Bn]:{mapValue:{fields:{[on]:{stringValue:""},[un]:{stringValue:""}}}}}}},In=((e=a=a||{}).he="regexValue",e.Te="bsonObjectIdValue",e.Pe="int32Value",e.Ie="decimal128Value",e.Re="bsonTimestampValue",e.Ae="bsonBinaryValue",e.Ve="minKeyValue",e.de="maxKeyValue",e.fe="maxValue",e.me="vectorValue",e.pe="serverTimestampValue",e.ge="regularMapValue",{[rn]:a.me,[an]:a.fe,server_timestamp:a.pe}),bn={[Bn]:a.he,[ln]:a.Te,[hn]:a.Pe,[cn]:a.Ie,[Cn]:a.Re,[gn]:a.Ae,[sn]:a.Ve,[an]:a.de},Tn=new Set(Object.values(bn)),Nn={booleanValue:!0},An={booleanValue:!1};function xn(e){if("nullValue"in e)return 0;if("booleanValue"in e)return 2;if("integerValue"in e||"doubleValue"in e)return 3;if("timestampValue"in e)return 4;if("stringValue"in e)return 7;if("bytesValue"in e)return 8;if("referenceValue"in e)return 9;if("geoPointValue"in e)return 11;if("arrayValue"in e)return 13;if(!("mapValue"in e))return w(28295,{value:e});switch(is(e)){case a.pe:return 6;case a.fe:return 9007199254740991;case a.me:return 14;case a.he:return 12;case a.Te:return 10;case a.Pe:case a.Ie:return 3;case a.Re:return 5;case a.Ae:return 8;case a.Ve:return 1;case a.de:return 16;default:return 15}}function Fn(r,n,s){if(r===n)return!0;var t,i,a,B,e=xn(r);if(e!==xn(n))return!1;switch(e){case 0:case 9007199254740991:case 16:case 1:return!0;case 2:return r.booleanValue===n.booleanValue;case 6:return jr(r).isEqual(jr(n));case 4:return i=n,"string"==typeof(t=r).timestampValue&&"string"==typeof i.timestampValue&&t.timestampValue.length===i.timestampValue.length?t.timestampValue===i.timestampValue:(a=Gr(t.timestampValue),B=Gr(i.timestampValue),a.seconds===B.seconds&&a.nanos===B.nanos);case 7:return r.stringValue===n.stringValue;case 8:return 0===qn(r,n);case 9:return r.referenceValue===n.referenceValue;case 11:return t=n,Pr((i=r).geoPointValue.latitude)===Pr(t.geoPointValue.latitude)&&Pr(i.geoPointValue.longitude)===Pr(t.geoPointValue.longitude);case 3:{var o=r;var u=n;var l=s;if(Zn(o)&&Zn(u))return 0===Gn(o,u);if("integerValue"in o&&"integerValue"in u||$n(o)&&$n(u))return Ln(o)===Ln(u);let e,t;if("doubleValue"in o&&"doubleValue"in u)e=Pr(o.doubleValue),t=Pr(u.doubleValue);else{if(!l?.ye)return!1;e=Pr(o.integerValue??o.doubleValue),t=Pr(u.integerValue??u.doubleValue)}return e===t?!!l?.we||Zr(e)===Zr(t):!(void 0!==l&&!l.be)&&isNaN(e)&&isNaN(t);return}case 13:return $t(r.arrayValue.values||[],n.arrayValue.values||[],(e,t)=>Fn(e,t,s));case 14:case 15:var h=r,o=n,c=s,C=h.mapValue.fields||{},d=o.mapValue.fields||{};if(vr(C)!==vr(d))return!1;for(let e in C)if(C.hasOwnProperty(e)&&(void 0===d[e]||!Fn(C[e],d[e],c)))return!1;return!0;case 5:return 0===Hn(r,n);case 12:return 0===Jn(r,n);case 10:return 0===Kn(r,n);default:return w(52216,{left:r})}}function Sn(e,t){return void 0!==(e.values||[]).find(e=>Fn(e,t))}function On(e,n){if(e===n)return 0;var s,i,a,B,o=xn(e),t=xn(n);if(o!==t)return b(o,t);switch(o){case 0:case 1:case 16:case 9007199254740991:return 0;case 2:return b(e.booleanValue,n.booleanValue);case 3:return kn(e,n);case 4:return Mn(e.timestampValue,n.timestampValue);case 6:return Mn(jr(e),jr(n));case 7:return Yt(e.stringValue,n.stringValue);case 8:return qn(e,n);case 9:var u=e.referenceValue,l=n.referenceValue,h=u.split("/"),c=l.split("/");for(let t=0;t<h.length&&t<c.length;t++){let e=b(h[t],c[t]);if(0!==e)return e}return b(h.length,c.length);case 11:return u=e.geoPointValue,l=n.geoPointValue,0!==(B=b(Pr(u.latitude),Pr(l.latitude)))?B:b(Pr(u.longitude),Pr(l.longitude));case 13:return Vn(e.arrayValue,n.arrayValue);case 14:return C=e.mapValue,s=n.mapValue,B=C.fields||{},i=s.fields||{},B=B[nn]?.arrayValue,i=i[nn]?.arrayValue,0!==(a=b(B?.values?.length||0,i?.values?.length||0))?a:Vn(B,i);case 15:var C=e.mapValue,d=n.mapValue;if(C===mn.mapValue&&d===mn.mapValue)return 0;if(C===mn.mapValue)return 1;if(d===mn.mapValue)return-1;var f=C.fields||{},g=Object.keys(f),p=d.fields||{},m=Object.keys(p);g.sort(),m.sort();for(let r=0;r<g.length&&r<m.length;++r){let e=Yt(g[r],m[r]);if(0!==e)return e;var E=On(f[g[r]],p[m[r]]);if(0!==E)return E}return b(g.length,m.length);case 5:return Hn(e,n);case 12:return Jn(e,n);case 10:return Kn(e,n);default:throw w(23264,{Se:o})}}function Ln(e){return Pr($n(e)?e.mapValue.fields[hn].integerValue:e.integerValue||e.doubleValue)}function Rn(e){return e.mapValue.fields[cn].stringValue}function kn(e,t){var r,n;return Zn(e)||Zn(t)?Gn(e,t):(r=Ln(e),n=Ln(t),isNaN(r)?isNaN(n)?0:-1:isNaN(n)?1:b(r,n))}function Gn(e,t){var r=Pn(e),n=Pn(t);return r.oe()&&n.oe()?0:r.isNaN()?n.isNaN()?0:-1:n.isNaN()?1:r.compareTo(n)}function Pn(e){return Zn(e)?B.fromString(Rn(e)):B.fromNumber(Ln(e))}function Mn(e,t){var r,n,s;return"string"==typeof e&&"string"==typeof t&&e.length===t.length?b(e,t):(r=Gr(e),n=Gr(t),0!==(s=b(r.seconds,n.seconds))?s:b(r.nanos,n.nanos))}function Vn(e,t){var r=e.values||[],n=t.values||[];for(let s=0;s<r.length&&s<n.length;++s){let e=On(r[s],n[s]);if(void 0!==e&&0!==e)return e}return b(r.length,n.length)}function Hn(e,t){var r=e.mapValue.fields?.[Cn].mapValue?.fields?.[dn],n=t.mapValue.fields?.[Cn].mapValue?.fields?.[dn],s=e.mapValue.fields?.[Cn].mapValue?.fields?.[fn],i=t.mapValue.fields?.[Cn].mapValue?.fields?.[fn],r=kn(r,n);return 0!==r?r:kn(s,i)}function Un(e){if("bytesValue"in e)return{subtype:0,bytes:Mr(e.bytesValue)};var t=((e.mapValue?.fields)?.[gn])?.bytesValue;if(!t)throw new Error("Received incorrect value for BsonBinaryData");t=Mr(t).toUint8Array();if(0===t.length)throw new Error("Received empty bytesValue for BsonBinaryData");var r=t[0],t=t.slice(1);return{subtype:r,bytes:Rr.fromUint8Array(t)}}function qn(e,t){var r=Un(e),n=Un(t);return r.subtype!==n.subtype?r.subtype<n.subtype?-1:1:r.bytes.compareTo(n.bytes)}function Jn(e,t){var r=e.mapValue.fields,n=r?.[Bn]?.mapValue?.fields?.[on]?.stringValue??"",r=r?.[Bn]?.mapValue?.fields?.[un]?.stringValue??"",s=t.mapValue.fields,i=s?.[Bn]?.mapValue?.fields?.[on]?.stringValue??"",s=s?.[Bn]?.mapValue?.fields?.[un]?.stringValue??"",n=Yt(n,i);return 0!==n?n:b(r,s)}function Kn(e,t){return Yt(e.mapValue.fields?.[ln]?.stringValue??"",t.mapValue.fields?.[ln]?.stringValue??"")}function jn(e){return function i(e){return"nullValue"in e?"null":"booleanValue"in e?""+e.booleanValue:"integerValue"in e?""+e.integerValue:"doubleValue"in e?""+e.doubleValue:"timestampValue"in e?(e=>{let t=Gr(e);return`time(${t.seconds},${t.nanos})`})(e.timestampValue):"stringValue"in e?e.stringValue:"bytesValue"in e?(e=>Mr(e).toBase64())(e.bytesValue):"referenceValue"in e?(e=>x.fromName(e).toString())(e.referenceValue):"geoPointValue"in e?(e=>`geo(${e.latitude},${e.longitude})`)(e.geoPointValue):"arrayValue"in e?(e=>{let t="[",r=!0;for(var n of e.values||[])r?r=!1:t+=",",t+=i(n);return t+"]"})(e.arrayValue):"mapValue"in e?(e=>{let t=Object.keys(e.fields||{}).sort(),r="{",n=!0;for(var s of t)n?n=!1:r+=",",r+=s+":"+i(e.fields[s]);return r+"}"})(e.mapValue):w(61005,{value:e})}(e)}function Qn(e){switch(xn(e)){case 0:case 2:return 4;case 3:return Zn(e)?16:8;case 4:case 11:return 16;case 6:var t=Kr(e);return t?16+Qn(t):16;case 7:return 2*e.stringValue.length;case 8:return"bytesValue"in e?Mr(e.bytesValue).approximateByteSize():zn(e.mapValue);case 9:return e.referenceValue.length;case 13:return(e.arrayValue.values||[]).reduce((e,t)=>e+Qn(t),0);case 14:case 15:case 12:case 10:case 5:case 1:case 16:return zn(e.mapValue);default:throw w(13486,{value:e})}}function zn(e){let r=0;return wr(e.fields,(e,t)=>{r+=e.length+Qn(t)}),r}function Yn(e,t){return{referenceValue:`projects/${e.projectId}/databases/${e.database}/documents/`+t.path.canonicalString()}}function Wn(e){return!!e&&"integerValue"in e}function Xn(e){return!!e&&"doubleValue"in e}function Zn(e){var t;return!!e.mapValue?.fields&&1===vr(t=e.mapValue.fields)&&t[cn]&&!!t[cn].stringValue}function $n(e){var t;return!!e.mapValue?.fields&&1===vr(t=e.mapValue.fields)&&void 0!==t[hn]?.integerValue}function es(e){return Wn(e)||Xn(e)||e&&$n(e)||e&&Zn(e)}function ts(e){return!!e&&"arrayValue"in e}function rs(e){return e&&"nullValue"in e}function ns(e){return Xn(e)&&isNaN(Number(e.doubleValue))||Zn(e)&&"NaN"===Rn(e)}function ss(e){return e&&"mapValue"in e}function is(e){if(!e.mapValue?.fields)return a.ge;var t=e.mapValue.fields,r=t[tn]?.stringValue;if(r&&In[r])return In[r];if(1!==vr(t))return a.ge;{let e=Object.keys(t);return bn[e[0]]??a.ge}}function as(e){return(e?.mapValue?.fields||{})[tn]?.stringValue===rn}function Bs(e){return(e?.mapValue?.fields||{})[nn]?.arrayValue}function os(t){if(t.geoPointValue)return{geoPointValue:{...t.geoPointValue}};if(t.timestampValue&&"object"==typeof t.timestampValue)return{timestampValue:{...t.timestampValue}};if(t.mapValue){let r={mapValue:{fields:{}}};return wr(t.mapValue.fields,(e,t)=>r.mapValue.fields[e]=os(t)),r}if(t.arrayValue){var r={arrayValue:{values:[]}};for(let e=0;e<(t.arrayValue.values||[]).length;++e)r.arrayValue.values[e]=os(t.arrayValue.values[e]);return r}return{...t}}function us(e,t){var r=On(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?-1:!e.inclusive&&t.inclusive?1:0}function ls(e,t){var r=On(e.value,t.value);return 0!==r?r:e.inclusive&&!t.inclusive?1:!e.inclusive&&t.inclusive?-1:0}class hs{constructor(e){this.value=e}static empty(){return new hs({mapValue:{}})}field(r){if(r.isEmpty())return this.value;{let e=this.value;for(let t=0;t<r.length-1;++t)if(!ss(e=(e.mapValue.fields||{})[r.get(t)]))return null;return(e=(e.mapValue.fields||{})[r.lastSegment()])||null}}set(e,t){this.getFieldsMap(e.popLast())[e.lastSegment()]=os(t)}setAll(e){let r=Er.emptyPath(),n={},s=[];e.forEach((e,t)=>{if(!r.isImmediateParentOf(t)){let e=this.getFieldsMap(r);this.applyChanges(e,n,s),n={},s=[],r=t.popLast()}e?n[t.lastSegment()]=os(e):s.push(t.lastSegment())});var t=this.getFieldsMap(r);this.applyChanges(t,n,s)}delete(e){var t=this.field(e.popLast());ss(t)&&t.mapValue.fields&&delete t.mapValue.fields[e.lastSegment()]}isEqual(e){return Fn(this.value,e.value)}getFieldsMap(t){let r=this.value;r.mapValue.fields||(r.mapValue={fields:{}});for(let n=0;n<t.length;++n){let e=r.mapValue.fields[t.get(n)];ss(e)&&e.mapValue.fields||(e={mapValue:{fields:{}}},r.mapValue.fields[t.get(n)]=e),r=e}return r.mapValue.fields}applyChanges(r,e,t){wr(e,(e,t)=>r[e]=t);for(let e of t)delete r[e]}clone(){return new hs(os(this.value))}}function cs(e,t){if(e.useProto3Json){if(isNaN(t))return{doubleValue:"NaN"};if(t===1/0)return{doubleValue:"Infinity"};if(t===-1/0)return{doubleValue:"-Infinity"}}return{doubleValue:Zr(t)?"-0":t}}function Cs(e){return{integerValue:""+e}}function ds(e,t){return $r(t)?Cs(t):cs(e,t)}class fs{constructor(){this._=void 0}}function gs(e,t){return e instanceof ys?es(t)?t:{integerValue:0}:null}class ps extends fs{}class ms extends fs{constructor(e){super(),this.elements=e}}function Es(e,t){var r=Ts(t);for(let t of e.elements)r.some(e=>Fn(e,t))||r.push(t);return{arrayValue:{values:r}}}class Ds extends fs{constructor(e){super(),this.elements=e}}function vs(e,t){let r=Ts(t);for(let t of e.elements)r=r.filter(e=>!Fn(e,t));return{arrayValue:{values:r}}}class ws extends fs{constructor(e,t){super(),this.serializer=e,this.xe=t}}class ys extends ws{}class _s extends ws{}class Is extends ws{}function bs(e){return Wn(e)?Pr(e.integerValue):Xn(e)?Pr(e.doubleValue):$n(e)?Pr(e.mapValue.fields[hn].integerValue):Zn(e)?parseFloat(e.mapValue.fields[cn].stringValue):0}function Ts(e){return ts(e)&&e.arrayValue.values?e.arrayValue.values.slice():[]}class Ns{constructor(e,t){this.field=e,this.transform=t}}class As{constructor(e,t){this.version=e,this.transformResults=t}}class xs{constructor(e,t){this.updateTime=e,this.exists=t}static none(){return new xs}static exists(e){return new xs(void 0,e)}static updateTime(e){return new xs(e)}get isNone(){return void 0===this.updateTime&&void 0===this.exists}isEqual(e){return this.exists===e.exists&&(this.updateTime?!!e.updateTime&&this.updateTime.isEqual(e.updateTime):!e.updateTime)}}function Fs(e,t){return void 0!==e.updateTime?t.isFoundDocument()&&t.version.isEqual(e.updateTime):void 0===e.exists||e.exists===t.isFoundDocument()}class Ss{}function Os(e,r){if(!e.hasLocalMutations||r&&0===r.fields.length)return null;if(null===r)return e.isNoDocument()?new Hs(e.key,xs.none()):new ks(e.key,e.data,xs.none());{var n,s=e.data,i=hs.empty();let t=new sr(Er.comparator);for(n of r.fields)if(!t.has(n)){let e=s.field(n);null===e&&1<n.length&&(n=n.popLast(),e=s.field(n)),null===e?i.delete(n):i.set(n,e),t=t.add(n)}return new Gs(e.key,i,new Dr(t.toArray()),xs.none())}}function Ls(e,t,r,n){return e instanceof ks?(i=t,a=r,B=n,Fs((s=e).precondition,i)?(o=s.value.clone(),u=Vs(s.fieldTransforms,B,i),o.setAll(u),i.convertToFoundDocument(i.version,o).setHasLocalMutations(),null):a):e instanceof Gs?(s=t,B=r,i=n,Fs((a=e).precondition,s)?(u=Vs(a.fieldTransforms,i,s),(o=s.data).setAll(Ps(a)),o.setAll(u),s.convertToFoundDocument(s.version,o).setHasLocalMutations(),null===B?null:B.unionWith(a.fieldMask.fields).unionWith(a.fieldTransforms.map(e=>e.field))):B):(n=t,t=r,Fs(e.precondition,n)?(n.convertToNoDocument(n.version).setHasLocalMutations(),null):t);var s,i,a,B,o,u}function Rs(e,t){return e.type===t.type&&!!e.key.isEqual(t.key)&&!!e.precondition.isEqual(t.precondition)&&(r=e.fieldTransforms,n=t.fieldTransforms,!!(void 0===r&&void 0===n||r&&n&&$t(r,n,(e,t)=>(t=t,(e=e).field.isEqual(t.field)&&(e=e.transform,t=t.transform,e instanceof ms&&t instanceof ms||e instanceof Ds&&t instanceof Ds?$t(e.elements,t.elements,Fn):e instanceof ys&&t instanceof ys||e instanceof _s&&t instanceof _s||e instanceof Is&&t instanceof Is?Fn(e.xe,t.xe):e instanceof ps&&t instanceof ps)))))&&(0===e.type?e.value.isEqual(t.value):1!==e.type||e.data.isEqual(t.data)&&e.fieldMask.isEqual(t.fieldMask));var r,n}class ks extends Ss{constructor(e,t,r,n=[]){super(),this.key=e,this.value=t,this.precondition=r,this.fieldTransforms=n,this.type=0}getFieldMask(){return null}}class Gs extends Ss{constructor(e,t,r,n,s=[]){super(),this.key=e,this.data=t,this.fieldMask=r,this.precondition=n,this.fieldTransforms=s,this.type=1}getFieldMask(){return this.fieldMask}}function Ps(r){let n=new Map;return r.fieldMask.fields.forEach(e=>{var t;e.isEmpty()||(t=r.data.field(e),n.set(e,t))}),n}function Ms(e,t,r){var n,s,i,a=new Map;p(e.length===r.length,32656,{ve:r.length,De:e.length});for(let l=0;l<r.length;l++){var B=e[l],o=B.transform,u=t.data.field(B.field);a.set(B.field,(n=o,s=u,i=r[l],n instanceof ms?Es(n,s):n instanceof Ds?vs(n,s):i))}return a}function Vs(e,r,n){var s,i,a,B,o,u,l,h=new Map;for(s of e){let e=s.transform,t=n.data.field(s.field);h.set(s.field,(i=e,a=t,B=r,l=u=o=void 0,i instanceof ps?(B=B,u=a,l={fields:{[Hr]:{stringValue:Vr},[qr]:{timestampValue:{seconds:B.seconds,nanos:B.nanoseconds}}}},(u=u&&Jr(u)?Kr(u):u)&&(l.fields[Ur]=u),{mapValue:l}):i instanceof ms?Es(i,a):i instanceof Ds?vs(i,a):i instanceof ys?(l=gs(B=i,a),o=bs(l)+bs(B.xe),Zn(l)||Zn(B.xe)?{mapValue:{fields:{[cn]:{stringValue:o.toString()}}}}:$n(l)?Xn(B.xe)?{doubleValue:o}:Wn(B.xe)?{integerValue:o.toString()}:{mapValue:{fields:{[hn]:Cs(o)}}}:Wn(l)&&(Wn(B.xe)||$n(B.xe))?Cs(o):cs(B.serializer,o)):i instanceof _s?(u=i,!es(B=a)||ns(u.xe)||!ns(B)&&kn(u.xe,B)<0?u.xe:B):i instanceof Is?(B=i,!es(i=a)||ns(B.xe)||!ns(i)&&0<kn(B.xe,i)?B.xe:i):void 0))}return h}class Hs extends Ss{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=2,this.fieldTransforms=[]}getFieldMask(){return null}}class Us extends Ss{constructor(e,t){super(),this.key=e,this.precondition=t,this.type=3,this.fieldTransforms=[]}getFieldMask(){return null}}class qs{constructor(e,t){this.position=e,this.inclusive=t}}function Js(e,t,r){let n=0;for(let a=0;a<e.position.length;a++){var s=t[a],i=e.position[a];if(n=s.field.isKeyField()?x.comparator(x.fromName(i.referenceValue),r.key):On(i,r.data.field(s.field)),"desc"===s.dir&&(n*=-1),0!==n)break}return n}function Ks(e,t){if(null===e)return null===t;if(null===t)return!1;if(e.inclusive!==t.inclusive||e.position.length!==t.position.length)return!1;for(let r=0;r<e.position.length;r++)if(!Fn(e.position[r],t.position[r]))return!1;return!0}class js{}class m extends js{constructor(e,t,r){super(),this.field=e,this.op=t,this.value=r}static create(e,t,r){return e.isKeyField()?"in"===t||"not-in"===t?this.createKeyFieldInFilter(e,t,r):new ei(e,t,r):"array-contains"===t?new si(e,r):"in"===t?new ii(e,r):"not-in"===t?new ai(e,r):"array-contains-any"===t?new Bi(e,r):new m(e,t,r)}static createKeyFieldInFilter(e,t,r){return new("in"===t?ti:ri)(e,r)}matches(e){var t=e.data.field(this.field);return"!="===this.op?null!==t&&void 0===t.nullValue&&this.matchesComparison(On(t,this.value)):null!==t&&xn(this.value)===xn(t)&&this.matchesComparison(On(t,this.value))}matchesComparison(e){switch(this.op){case"<":return e<0;case"<=":return e<=0;case"==":return 0===e;case"!=":return 0!==e;case">":return 0<e;case">=":return 0<=e;default:return w(47266,{operator:this.op})}}isInequality(){return 0<=["<","<=",">",">=","!=","not-in"].indexOf(this.op)}getFlattenedFilters(){return[this]}getFilters(){return[this]}}class Qs extends js{constructor(e,t){super(),this.filters=e,this.op=t,this.Ce=null}static create(e,t){return new Qs(e,t)}matches(t){return zs(this)?void 0===this.filters.find(e=>!e.matches(t)):void 0!==this.filters.find(e=>e.matches(t))}getFlattenedFilters(){return null===this.Ce&&(this.Ce=this.filters.reduce((e,t)=>e.concat(t.getFlattenedFilters()),[])),this.Ce}getFilters(){return Object.assign([],this.filters)}}function zs(e){return"and"===e.op}function Ys(e){return"or"===e.op}function Ws(e){return Xs(e)&&zs(e)}function Xs(e){for(var t of e.filters)if(t instanceof Qs)return!1;return!0}function Zs(e,t){var r=e.filters.concat(t);return Qs.create(r,e.op)}function $s(e){return e instanceof m?`${(t=e).field.canonicalString()} ${t.op} `+jn(t.value):e instanceof Qs?(t=e).op.toString()+" {"+t.getFilters().map($s).join(" ,")+"}":"Filter";var t}class ei extends m{constructor(e,t,r){super(e,t,r),this.key=x.fromName(r.referenceValue)}matches(e){var t=x.comparator(e.key,this.key);return this.matchesComparison(t)}}class ti extends m{constructor(e,t){super(e,"in",t),this.keys=ni(0,t)}matches(t){return this.keys.some(e=>e.isEqual(t.key))}}class ri extends m{constructor(e,t){super(e,"not-in",t),this.keys=ni(0,t)}matches(t){return!this.keys.some(e=>e.isEqual(t.key))}}function ni(e,t){return(t.arrayValue?.values||[]).map(e=>x.fromName(e.referenceValue))}class si extends m{constructor(e,t){super(e,"array-contains",t)}matches(e){var t=e.data.field(this.field);return ts(t)&&Sn(t.arrayValue,this.value)}}class ii extends m{constructor(e,t){super(e,"in",t)}matches(e){var t=e.data.field(this.field);return null!==t&&Sn(this.value.arrayValue,t)}}class ai extends m{constructor(e,t){super(e,"not-in",t)}matches(e){var t;return!Sn(this.value.arrayValue,{nullValue:"NULL_VALUE"})&&null!==(t=e.data.field(this.field))&&void 0===t.nullValue&&!Sn(this.value.arrayValue,t)}}class Bi extends m{constructor(e,t){super(e,"array-contains-any",t)}matches(e){var t=e.data.field(this.field);return!(!ts(t)||!t.arrayValue.values)&&t.arrayValue.values.some(e=>Sn(this.value.arrayValue,e))}}class oi{constructor(e,t="asc"){this.field=e,this.dir=t}}class F{static fromTimestamp(e){return new F(e)}static min(){return new F(new g(0,0))}static max(){return new F(new g(253402300799,999999999))}constructor(e){this.timestamp=e}compareTo(e){return this.timestamp._compareTo(e.timestamp)}isEqual(e){return this.timestamp.isEqual(e.timestamp)}toMicroseconds(){return 1e6*this.timestamp.seconds+this.timestamp.nanoseconds/1e3}toString(){return"SnapshotVersion("+this.timestamp.toString()+")"}toTimestamp(){return this.timestamp}}class ui{constructor(e,t,r,n,s,i,a){this.key=e,this.documentType=t,this.version=r,this.readTime=n,this.createTime=s,this.data=i,this.documentState=a}static newInvalidDocument(e){return new ui(e,0,F.min(),F.min(),F.min(),hs.empty(),0)}static newFoundDocument(e,t,r,n){return new ui(e,1,t,F.min(),r,n,0)}static newNoDocument(e,t){return new ui(e,2,t,F.min(),F.min(),hs.empty(),0)}static newUnknownDocument(e,t){return new ui(e,3,t,F.min(),F.min(),hs.empty(),2)}convertToFoundDocument(e,t){return!this.createTime.isEqual(F.min())||2!==this.documentType&&0!==this.documentType||(this.createTime=e),this.version=e,this.documentType=1,this.data=t,this.documentState=0,this}convertToNoDocument(e){return this.version=e,this.documentType=2,this.data=hs.empty(),this.documentState=0,this}convertToUnknownDocument(e){return this.version=e,this.documentType=3,this.data=hs.empty(),this.documentState=2,this}setHasCommittedMutations(){return this.documentState=2,this}setHasLocalMutations(){return this.documentState=1,this.version=F.min(),this}setReadTime(e){return this.readTime=e,this}get hasLocalMutations(){return 1===this.documentState}get hasCommittedMutations(){return 2===this.documentState}get hasPendingWrites(){return this.hasLocalMutations||this.hasCommittedMutations}isValidDocument(){return 0!==this.documentType}isFoundDocument(){return 1===this.documentType}isNoDocument(){return 2===this.documentType}isUnknownDocument(){return 3===this.documentType}isEqual(e){return e instanceof ui&&this.key.isEqual(e.key)&&this.version.isEqual(e.version)&&this.documentType===e.documentType&&this.documentState===e.documentState&&this.data.isEqual(e.data)}mutableCopy(){return new ui(this.key,this.documentType,this.version,this.readTime,this.createTime,this.data.clone(),this.documentState)}toString(){return`Document(${this.key}, ${this.version}, ${JSON.stringify(this.data.value)}, {createTime: ${this.createTime}}), {documentType: ${this.documentType}}), {documentState: ${this.documentState}})`}}let li=-1;class hi{constructor(e,t,r,n){this.indexId=e,this.collectionGroup=t,this.fields=r,this.indexState=n}}function ci(e){return e.fields.find(e=>2===e.kind)}function Ci(e){return e.fields.filter(e=>2!==e.kind)}hi.UNKNOWN_ID=-1;class di{constructor(e,t){this.fieldPath=e,this.kind=t}}class fi{constructor(e,t){this.sequenceNumber=e,this.offset=t}static empty(){return new fi(0,mi.min())}}function gi(e,t){var r=e.toTimestamp().seconds,n=e.toTimestamp().nanoseconds+1,r=F.fromTimestamp(1e9===n?new g(r+1,0):new g(r,n));return new mi(r,x.empty(),t)}function pi(e){return new mi(e.readTime,e.key,li)}class mi{constructor(e,t,r){this.readTime=e,this.documentKey=t,this.largestBatchId=r}static min(){return new mi(F.min(),x.empty(),li)}static max(){return new mi(F.max(),x.empty(),li)}}function Ei(e,t){var r=e.readTime.compareTo(t.readTime);return 0!==r||0!==(r=x.comparator(e.documentKey,t.documentKey))?r:b(e.largestBatchId,t.largestBatchId)}class Di{constructor(e,t=null,r=[],n=[],s=null,i=null,a=null){this.path=e,this.collectionGroup=t,this.orderBy=r,this.filters=n,this.limit=s,this.startAt=i,this.endAt=a,this.Fe=null}}function vi(e,t=null,r=[],n=[],s=null,i=null,a=null){return new Di(e,t,r,n,s,i,a)}function wi(e){var t=e;if(null===t.Fe){let e=t.path.canonicalString();null!==t.collectionGroup&&(e+="|cg:"+t.collectionGroup),e=(e=(e+="|f:")+t.filters.map(e=>function t(e){var r;return e instanceof m?e.field.canonicalString()+e.op.toString()+jn(e.value):Ws(e)?e.filters.map(e=>t(e)).join(","):(r=e.filters.map(e=>t(e)).join(","),e.op+`(${r})`)}(e)).join(",")+"|ob:")+t.orderBy.map(e=>(e=e).field.canonicalString()+e.dir).join(","),Xr(t.limit)||(e=(e+="|l:")+t.limit),t.startAt&&(e=(e=(e+="|lb:")+(t.startAt.inclusive?"b:":"a:"))+t.startAt.position.map(e=>jn(e)).join(",")),t.endAt&&(e=(e=(e+="|ub:")+(t.endAt.inclusive?"a:":"b:"))+t.endAt.position.map(e=>jn(e)).join(",")),t.Fe=e}return t.Fe}function yi(e,t){if(e.limit!==t.limit)return!1;if(e.orderBy.length!==t.orderBy.length)return!1;for(let s=0;s<e.orderBy.length;s++)if(r=e.orderBy[s],n=t.orderBy[s],r.dir!==n.dir||!r.field.isEqual(n.field))return!1;var r,n;if(e.filters.length!==t.filters.length)return!1;for(let i=0;i<e.filters.length;i++)if(!function n(e,t){return e instanceof m?(r=e,(i=t)instanceof m&&r.op===i.op&&r.field.isEqual(i.field)&&Fn(r.value,i.value)):e instanceof Qs?(r=e,(s=t)instanceof Qs&&r.op===s.op&&r.filters.length===s.filters.length&&r.filters.reduce((e,t,r)=>e&&n(t,s.filters[r]),!0)):void w(19439);var s,r,i}(e.filters[i],t.filters[i]))return!1;return e.collectionGroup===t.collectionGroup&&!!e.path.isEqual(t.path)&&!!Ks(e.startAt,t.startAt)&&Ks(e.endAt,t.endAt)}function _i(e){return e.isCorePipeline}function Ii(e){return!!e.path&&x.isDocumentKey(e.path)&&null===e.collectionGroup&&0===e.filters.length}function bi(e,t){return e.filters.filter(e=>e instanceof m&&e.field.isEqual(t))}function Ti(e,r,n){let s=pn,i=!0;for(let n of bi(e,r)){let e=pn,t=!0;switch(n.op){case"<":case"<=":e=(e=>{if("nullValue"in e)return pn;if("booleanValue"in e)return{booleanValue:!1};if("integerValue"in e||"doubleValue"in e)return{doubleValue:NaN};if("timestampValue"in e)return{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}};if("stringValue"in e)return{stringValue:""};if("bytesValue"in e)return{bytesValue:""};if("referenceValue"in e)return Yn(Yr.empty(),x.empty());if("geoPointValue"in e)return{geoPointValue:{latitude:-90,longitude:-180}};if("arrayValue"in e)return{arrayValue:{}};if(!("mapValue"in e))return w(35942,{value:e});switch(is(e)){case a.me:return En;case a.Te:return wn;case a.Re:return yn;case a.Ae:return{bytesValue:""};case a.he:return _n;case a.Pe:case a.Ie:return{doubleValue:NaN};case a.Ve:return Dn;case a.de:return vn;default:return{mapValue:{}}}})(n.value);break;case"==":case"in":case">=":e=n.value;break;case">":e=n.value,t=!1;break;case"!=":case"not-in":e=Dn}us({value:s,inclusive:i},{value:e,inclusive:t})<0&&(s=e,i=t)}if(null!==n)for(let t=0;t<e.orderBy.length;++t)if(e.orderBy[t].field.isEqual(r)){let e=n.position[t];us({value:s,inclusive:i},{value:e,inclusive:n.inclusive})<0&&(s=e,i=n.inclusive);break}return{value:s,inclusive:i}}function Ni(e,r,n){let s=mn,i=!0;for(let n of bi(e,r)){let e=mn,t=!0;switch(n.op){case">=":case">":e=(e=>{if("nullValue"in e)return Dn;if("booleanValue"in e)return{doubleValue:NaN};if("integerValue"in e||"doubleValue"in e)return{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}};if("timestampValue"in e)return yn;if("stringValue"in e)return{bytesValue:""};if("bytesValue"in e)return Yn(Yr.empty(),x.empty());if("referenceValue"in e)return wn;if("geoPointValue"in e)return _n;if("arrayValue"in e)return En;if(!("mapValue"in e))return w(61959,{value:e});switch(is(e)){case a.me:return{mapValue:{}};case a.Te:return{geoPointValue:{latitude:-90,longitude:-180}};case a.Re:return{stringValue:""};case a.Ae:return Yn(Yr.empty(),x.empty());case a.he:return{arrayValue:{}};case a.Pe:case a.Ie:return{timestampValue:{seconds:Number.MIN_SAFE_INTEGER}};case a.Ve:return{booleanValue:!1};case a.de:return mn;default:return vn}})(n.value),t=!1;break;case"==":case"in":case"<=":e=n.value;break;case"<":e=n.value,t=!1;break;case"!=":case"not-in":e=vn}0<ls({value:s,inclusive:i},{value:e,inclusive:t})&&(s=e,i=t)}if(null!==n)for(let t=0;t<e.orderBy.length;++t)if(e.orderBy[t].field.isEqual(r)){let e=n.position[t];0<ls({value:s,inclusive:i},{value:e,inclusive:n.inclusive})&&(s=e,i=n.inclusive);break}return{value:s,inclusive:i}}class Ai{constructor(e,t=null,r=[],n=[],s=null,i="F",a=null,B=null){this.path=e,this.collectionGroup=t,this.explicitOrderBy=r,this.filters=n,this.limit=s,this.limitType=i,this.startAt=a,this.endAt=B,this.Oe=null,this.Me=null,this.Ne=null,this.startAt,this.endAt}}function xi(e,t,r,n,s,i,a,B){return new Ai(e,t,r,n,s,i,a,B)}function Fi(e){return new Ai(e)}function Si(e){return 0===e.filters.length&&null===e.limit&&null==e.startAt&&null==e.endAt&&(0===e.explicitOrderBy.length||1===e.explicitOrderBy.length&&e.explicitOrderBy[0].field.isKeyField())}function Oi(e){return null!==e.collectionGroup}function Li(e){let n=e;if(null===n.Oe){n.Oe=[];let t=new Set;for(var s of n.explicitOrderBy)n.Oe.push(s),t.add(s.field.canonicalString());let r=0<n.explicitOrderBy.length?n.explicitOrderBy[n.explicitOrderBy.length-1].dir:"asc",e=(e=>{let t=new sr(Er.comparator);return e.filters.forEach(e=>{e.getFlattenedFilters().forEach(e=>{e.isInequality()&&(t=t.add(e.field))})}),t})(n);e.forEach(e=>{t.has(e.canonicalString())||e.isKeyField()||n.Oe.push(new oi(e,r))}),t.has(Er.keyField().canonicalString())||n.Oe.push(new oi(Er.keyField(),r))}return n.Oe}function Ri(e){var t=e;return t.Me||(t.Me=((e,t)=>{if("F"===e.limitType)return vi(e.path,e.collectionGroup,t,e.filters,e.limit,e.startAt,e.endAt);t=t.map(e=>{var t="desc"===e.dir?"asc":"desc";return new oi(e.field,t)});var r=e.endAt?new qs(e.endAt.position,e.endAt.inclusive):null,n=e.startAt?new qs(e.startAt.position,e.startAt.inclusive):null;return vi(e.path,e.collectionGroup,t,e.filters,e.limit,r,n)})(t,Li(e))),t.Me}function ki(e,t){var r=e.filters.concat([t]);return new Ai(e.path,e.collectionGroup,e.explicitOrderBy.slice(),r,e.limit,e.limitType,e.startAt,e.endAt)}function Gi(e,t,r){return new Ai(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),t,r,e.startAt,e.endAt)}function Pi(e,t){return yi(Ri(e),Ri(t))&&e.limitType===t.limitType}function Mi(e){return`Query(target=${(e=>{let t=e.path.canonicalString();return null!==e.collectionGroup&&(t+=" collectionGroup="+e.collectionGroup),0<e.filters.length&&(t+=`, filters: [${e.filters.map(e=>$s(e)).join(", ")}]`),Xr(e.limit)||(t+=", limit: "+e.limit),0<e.orderBy.length&&(t+=`, orderBy: [${e.orderBy.map(e=>`${(e=e).field.canonicalString()} (${e.dir})`).join(", ")}]`),e.startAt&&(t=(t=(t+=", startAt: ")+(e.startAt.inclusive?"b:":"a:"))+e.startAt.position.map(e=>jn(e)).join(",")),`Target(${t=e.endAt?(t=(t+=", endAt: ")+(e.endAt.inclusive?"a:":"b:"))+e.endAt.position.map(e=>jn(e)).join(","):t})`})(Ri(e))}; limitType=${e.limitType})`}function Vi(e,t){return t.isFoundDocument()&&(i=e,B=(a=t).key.path,null!==i.collectionGroup?a.key.hasCollectionId(i.collectionGroup)&&i.path.isPrefixOf(B):x.isDocumentKey(i.path)?i.path.isEqual(B):i.path.isImmediateParentOf(B))&&((e,t)=>{for(var r of Li(e))if(!r.field.isKeyField()&&null===t.data.field(r.field))return!1;return!0})(e,t)&&((e,t)=>{for(var r of e.filters)if(!r.matches(t))return!1;return!0})(e,t)&&(a=t,!(i=e).startAt||(n=i.startAt,r=Li(i),s=Js(n,r,a),n.inclusive?s<=0:s<0))&&(!i.endAt||(r=i.endAt,n=Li(i),s=Js(r,n,a),r.inclusive?0<=s:0<s));var r,n,s,i,a,B}function Hi(e){return(t,r)=>{let n=!1;for(var s of Li(e)){let e=((e,t,r)=>{var n=e.field.isKeyField()?x.comparator(t.key,r.key):((e,t,r)=>{var n=t.data.field(e),s=r.data.field(e);return null!==n&&null!==s?On(n,s):w(42886)})(e.field,t,r);switch(e.dir){case"asc":return n;case"desc":return-1*n;default:return w(19790,{direction:e.dir})}})(s,t,r);if(0!==e)return e;n=n||s.field.isKeyField()}return 0}}class Ui{constructor(e,t){this.count=e,this.unchangedNames=t}}function qi(e){switch(e){case T.OK:return w(64938);case T.CANCELLED:case T.UNKNOWN:case T.DEADLINE_EXCEEDED:case T.RESOURCE_EXHAUSTED:case T.INTERNAL:case T.UNAVAILABLE:case T.UNAUTHENTICATED:return!1;case T.INVALID_ARGUMENT:case T.NOT_FOUND:case T.ALREADY_EXISTS:case T.PERMISSION_DENIED:case T.FAILED_PRECONDITION:case T.ABORTED:case T.OUT_OF_RANGE:case T.UNIMPLEMENTED:case T.DATA_LOSS:return!0;default:return w(15467,{code:e})}}function Ji(e){if(void 0===e)return Jt("GRPC error has no .code"),T.UNKNOWN;switch(e){case St.OK:return T.OK;case St.CANCELLED:return T.CANCELLED;case St.UNKNOWN:return T.UNKNOWN;case St.DEADLINE_EXCEEDED:return T.DEADLINE_EXCEEDED;case St.RESOURCE_EXHAUSTED:return T.RESOURCE_EXHAUSTED;case St.INTERNAL:return T.INTERNAL;case St.UNAVAILABLE:return T.UNAVAILABLE;case St.UNAUTHENTICATED:return T.UNAUTHENTICATED;case St.INVALID_ARGUMENT:return T.INVALID_ARGUMENT;case St.NOT_FOUND:return T.NOT_FOUND;case St.ALREADY_EXISTS:return T.ALREADY_EXISTS;case St.PERMISSION_DENIED:return T.PERMISSION_DENIED;case St.FAILED_PRECONDITION:return T.FAILED_PRECONDITION;case St.ABORTED:return T.ABORTED;case St.OUT_OF_RANGE:return T.OUT_OF_RANGE;case St.UNIMPLEMENTED:return T.UNIMPLEMENTED;case St.DATA_LOSS:return T.DATA_LOSS;default:return w(39323,{code:e})}}(s=St=St||{})[s.OK=0]="OK",s[s.CANCELLED=1]="CANCELLED",s[s.UNKNOWN=2]="UNKNOWN",s[s.INVALID_ARGUMENT=3]="INVALID_ARGUMENT",s[s.DEADLINE_EXCEEDED=4]="DEADLINE_EXCEEDED",s[s.NOT_FOUND=5]="NOT_FOUND",s[s.ALREADY_EXISTS=6]="ALREADY_EXISTS",s[s.PERMISSION_DENIED=7]="PERMISSION_DENIED",s[s.UNAUTHENTICATED=16]="UNAUTHENTICATED",s[s.RESOURCE_EXHAUSTED=8]="RESOURCE_EXHAUSTED",s[s.FAILED_PRECONDITION=9]="FAILED_PRECONDITION",s[s.ABORTED=10]="ABORTED",s[s.OUT_OF_RANGE=11]="OUT_OF_RANGE",s[s.UNIMPLEMENTED=12]="UNIMPLEMENTED",s[s.INTERNAL=13]="INTERNAL",s[s.UNAVAILABLE=14]="UNAVAILABLE",s[s.DATA_LOSS=15]="DATA_LOSS";class Ki{constructor(e,t){this.mapKeyFn=e,this.equalsFn=t,this.inner={},this.innerSize=0}get(r){let e=this.mapKeyFn(r),n=this.inner[e];if(void 0!==n)for(let[e,t]of n)if(this.equalsFn(e,r))return t}has(e){return void 0!==this.get(e)}set(t,r){var e=this.mapKeyFn(t),n=this.inner[e];if(void 0===n)this.inner[e]=[[t,r]];else{for(let e=0;e<n.length;e++)if(this.equalsFn(n[e][0],t))return void(n[e]=[t,r]);n.push([t,r])}this.innerSize++}delete(t){var r=this.mapKeyFn(t),n=this.inner[r];if(void 0!==n)for(let e=0;e<n.length;e++)if(this.equalsFn(n[e][0],t))return 1===n.length?delete this.inner[r]:n.splice(e,1),this.innerSize--,!0;return!1}forEach(n){wr(this.inner,(e,t)=>{for(let[e,r]of t)n(e,r)})}isEmpty(){return yr(this.inner)}size(){return this.innerSize}}let ji=new tr(x.comparator);let Qi=new tr(x.comparator);function zi(...e){let t=Qi;for(var r of e)t=t.insert(r.key,r);return t}function Yi(e){let r=Qi;return e.forEach((e,t)=>r=r.insert(e,t.overlayedDocument)),r}function Wi(){return new Ki(e=>e.toString(),(e,t)=>e.isEqual(t))}let Xi=new tr(x.comparator),Zi=new sr(x.comparator);function S(...e){let t=Zi;for(var r of e)t=t.add(r);return t}let $i=new sr(b);function ea(){return new TextEncoder}let ta=new ie([4294967295,4294967295],0);function ra(e){var t=ea().encode(e),r=new ae;return r.update(t),new Uint8Array(r.digest())}function na(e){var t=new DataView(e.buffer),r=t.getUint32(0,!0),n=t.getUint32(4,!0),s=t.getUint32(8,!0),t=t.getUint32(12,!0);return[new ie([r,n],0),new ie([s,t],0)]}class sa{constructor(e,t,r){if(this.bitmap=e,this.padding=t,this.hashCount=r,t<0||8<=t)throw new ia("Invalid padding: "+t);if(r<0)throw new ia("Invalid hash count: "+r);if(0<e.length&&0===this.hashCount)throw new ia("Invalid hash count: "+r);if(0===e.length&&0!==t)throw new ia("Invalid padding when bitmap length is 0: "+t);this.Be=8*e.length-t,this.Le=ie.fromNumber(this.Be)}$e(e,t,r){let n=e.add(t.multiply(ie.fromNumber(r)));return(n=1===n.compare(ta)?new ie([n.getBits(0),n.getBits(1)],0):n).modulo(this.Le).toNumber()}Ue(e){return!!(this.bitmap[Math.floor(e/8)]&1<<e%8)}mightContain(e){if(0===this.Be)return!1;let t=ra(e),[r,n]=na(t);for(let s=0;s<this.hashCount;s++){let e=this.$e(r,n,s);if(!this.Ue(e))return!1}return!0}static create(e,t,r){let n=e%8==0?0:8-e%8,s=new Uint8Array(Math.ceil(e/8)),i=new sa(s,n,t);return r.forEach(e=>i.insert(e)),i}insert(s){if(0!==this.Be){let e=ra(s),[t,r]=na(e);for(let n=0;n<this.hashCount;n++){let e=this.$e(t,r,n);this.ke(e)}}}ke(e){var t=Math.floor(e/8);this.bitmap[t]|=1<<e%8}}class ia extends Error{constructor(){super(...arguments),this.name="BloomFilterError"}}class aa{constructor(e,t,r,n,s,i){this.snapshotVersion=e,this.targetChanges=t,this.targetMismatches=r,this.documentUpdates=n,this.augmentedDocumentUpdates=s,this.resolvedLimboDocuments=i}static createSynthesizedRemoteEventForCurrentChange(e,t,r){var n=new Map;return n.set(e,Ba.createSynthesizedTargetChangeForCurrentChange(e,t,r)),new aa(F.min(),n,new tr(b),ji,ji,S())}}class Ba{constructor(e,t,r,n,s){this.resumeToken=e,this.current=t,this.addedDocuments=r,this.modifiedDocuments=n,this.removedDocuments=s}static createSynthesizedTargetChangeForCurrentChange(e,t,r){return new Ba(r,t,S(),S(),S())}}class oa{constructor(e,t,r,n){this.Qe=e,this.removedTargetIds=t,this.key=r,this.qe=n}}class ua{constructor(e,t){this.targetId=e,this.Ke=t}}class la{constructor(e,t,r=Rr.EMPTY_BYTE_STRING,n=null){this.state=e,this.targetIds=t,this.resumeToken=r,this.cause=n}}class ha{constructor(e){this.targetId=e,this.We=0,this.Ge=fa(),this.je=Rr.EMPTY_BYTE_STRING,this.ze=!1,this.He=!0}get current(){return this.ze}get resumeToken(){return this.je}get Je(){return 0!==this.We}get Ye(){return this.He}Ze(e){0<e.approximateByteSize()&&(this.He=!0,this.je=e)}Xe(){let r=S(),n=S(),s=S();return this.Ge.forEach((e,t)=>{switch(t){case 0:r=r.add(e);break;case 2:n=n.add(e);break;case 1:s=s.add(e);break;default:w(38017,{changeType:t})}}),new Ba(this.je,this.ze,r,n,s)}et(){this.He=!1,this.Ge=fa()}tt(e,t){this.He=!0,this.Ge=this.Ge.insert(e,t)}nt(e){this.He=!0,this.Ge=this.Ge.remove(e)}rt(){this.We+=1}it(){--this.We,p(0<=this.We,3241,{We:this.We,targetId:this.targetId})}st(){this.He=!0,this.ze=!0}}let ca="WatchChangeAggregator";class Ca{constructor(e){this._t=e,this.ot=new Map,this.ut=ji,this.ct=da(),this.lt=ji,this.Et=da(),this.ht=new tr(b)}Tt(e){for(var t of e.Qe)e.qe&&e.qe.isFoundDocument()?this.Pt(t,e.qe):this.It(t,e.key,e.qe);for(var r of e.removedTargetIds)this.It(r,e.key,e.qe)}Rt(r){this.forEachTarget(r,e=>{var t=this.ot.get(e);if(t)switch(r.state){case 0:this.At(e)&&t.Ze(r.resumeToken);break;case 1:t.it(),t.Je||t.et(),t.Ze(r.resumeToken);break;case 2:t.it(),t.Je||this.removeTarget(e);break;case 3:this.At(e)&&(t.st(),t.Ze(r.resumeToken));break;case 4:this.At(e)&&(this.Vt(e),t.Ze(r.resumeToken));break;default:w(56790,{state:r.state})}else C(ca,`handleTargetChange received targetChange for untracked target ID (${e}) with state (${r.state})`)})}forEachTarget(e,r){0<e.targetIds.length?e.targetIds.forEach(r):this.ot.forEach((e,t)=>{this.At(t)&&r(t)})}dt(e){return _i(e)?"documents"===e.getPipelineSourceType()&&1===e.getPipelineDocuments()?.length:Ii(e)}ft(n){let s=n.targetId,e=n.Ke.count,t=this.gt(s);if(t){var r=t.target;if(this.dt(r))if(0===e){let e=new x(_i(r)?A.fromString(r.getPipelineDocuments()[0]):r.path);this.It(s,e,ui.newNoDocument(e,F.min()))}else p(1===e,20013,"Single document existence filter with count: "+e);else{let r=this.yt(s);if(r!==e){let e=this.wt(n),t=e?this.bt(e,n,r):1;if(0!==t){this.Vt(s);let e=2===t?"TargetPurposeExistenceFilterMismatchBloom":"TargetPurposeExistenceFilterMismatch";this.ht=this.ht.insert(s,e)}}}}}wt(e){var t=e.Ke.unchangedNames;if(!t||!t.bits)return null;var{bits:{bitmap:t="",padding:r=0},hashCount:n=0}=t;let s,i;try{s=Mr(t).toUint8Array()}catch(e){if(e instanceof Lr)return Kt("Decoding the base64 bloom filter in existence filter failed ("+e.message+"); ignoring the bloom filter and falling back to full re-query."),null;throw e}try{i=new sa(s,r,n)}catch(e){return Kt(e instanceof ia?"BloomFilter error: ":"Applying bloom filter failed: ",e),null}return 0===i.Be?null:i}bt(e,t,r){return t.Ke.count===r-this.vt(e,t.targetId)?0:2}vt(r,n){var e=this._t.getRemoteKeysForTarget(n);let s=0;return e.forEach(e=>{var t=this._t.xt(),t=`projects/${t.projectId}/databases/${t.database}/documents/`+e.path.canonicalString();r.mightContain(t)||(this.It(n,e,null),s++)}),s}Dt(s){let t=new Map,n=(this.ot.forEach((e,r)=>{var n=this.gt(r);if(n){if(e.current&&this.dt(n.target)){let e=_i(n.target)?A.fromString(n.target.getPipelineDocuments()[0]):n.target.path,t=new x(e);this.Ct(t).has(r)||this.Ft(r,t)||this.It(r,t,ui.newNoDocument(t,s))}e.Ye&&(t.set(r,e.Xe()),e.et())}}),S());this.Et.forEach((e,t)=>{let r=!0;t.forEachWhile(e=>{var t=this.gt(e);return!t||"TargetPurposeLimboResolution"===t.purpose||(r=!1)}),r&&(n=n.add(e))}),this.ut.forEach((e,t)=>t.setReadTime(s)),this.lt.forEach((e,t)=>t.setReadTime(s));var e=new aa(s,t,this.ht,this.ut,this.lt,n);return this.ut=ji,this.ct=da(),this.lt=ji,this.Et=da(),this.ht=new tr(b),e}Pt(e,t){var r,n=this.ot.get(e);n&&this.At(e)?(r=this.Ft(e,t.key)?2:0,n.tt(t.key,r),_i(this.gt(e).target)&&"exact"!==this.gt(e).target.getPipelineFlavor()?this.lt=this.lt.insert(t.key,t):this.ut=this.ut.insert(t.key,t),this.ct=this.ct.insert(t.key,this.Ct(t.key).add(e)),this.Et=this.Et.insert(t.key,this.Ot(t.key).add(e))):C(ca,`addDocumentToTarget received document for unknown inactive target (${e})`)}It(e,t,r){var n=this.ot.get(e);n&&this.At(e)?(this.Ft(e,t)?n.tt(t,1):n.nt(t),this.Et=this.Et.insert(t,this.Ot(t).delete(e)),this.Et=this.Et.insert(t,this.Ot(t).add(e)),r&&(_i(this.gt(e).target)&&"exact"!==this.gt(e).target.getPipelineFlavor()?this.lt=this.lt.insert(t,r):this.ut=this.ut.insert(t,r))):C(ca,`removeDocumentFromTarget received document for unknown or inactive target (${e})`)}removeTarget(e){this.ot.delete(e)}yt(e){var t=this.ot.get(e);return t?(t=t.Xe(),this._t.getRemoteKeysForTarget(e).size+t.addedDocuments.size-t.removedDocuments.size):0}rt(e){let t=this.ot.get(e);t||(C(ca,"recordPendingTargetRequest set up tracking for target ID "+e),t=new ha(e),this.ot.set(e,t)),t.rt()}Ot(e){let t=this.Et.get(e);return t||(t=new sr(b),this.Et=this.Et.insert(e,t)),t}Ct(e){let t=this.ct.get(e);return t||(t=new sr(b),this.ct=this.ct.insert(e,t)),t}At(e){var t=null!==this.gt(e);return t||C(ca,"Detected inactive target",e),t}gt(e){var t=this.ot.get(e);return void 0===t||t.Je?null:this._t.Mt(e)}Vt(t){this.ot.set(t,new ha(t)),this._t.getRemoteKeysForTarget(t).forEach(e=>{this.It(t,e,null)})}Ft(e,t){return this._t.getRemoteKeysForTarget(e).has(t)}}function da(){return new tr(x.comparator)}function fa(){return new tr(x.comparator)}let ga={asc:"ASCENDING",desc:"DESCENDING"},pa={"<":"LESS_THAN","<=":"LESS_THAN_OR_EQUAL",">":"GREATER_THAN",">=":"GREATER_THAN_OR_EQUAL","==":"EQUAL","!=":"NOT_EQUAL","array-contains":"ARRAY_CONTAINS",in:"IN","not-in":"NOT_IN","array-contains-any":"ARRAY_CONTAINS_ANY"},ma={and:"AND",or:"OR"};class Ea{constructor(e,t){this.databaseId=e,this.useProto3Json=t}}function Da(e,t){return e.useProto3Json||Xr(t)?t:{value:t}}function va(e,t){return e.useProto3Json?`${new Date(1e3*t.seconds).toISOString().replace(/\.\d*/,"").replace("Z","")}.${("000000000"+t.nanoseconds).slice(-9)}Z`:{seconds:""+t.seconds,nanos:t.nanoseconds}}function wa(e){var t=Gr(e);return new g(t.seconds,t.nanos)}function ya(e,t){return e.useProto3Json?t.toBase64():t.toUint8Array()}function _a(e,t){return va(e,t.toTimestamp())}function Ia(e){return p(!!e,49232),F.fromTimestamp(wa(e))}function ba(e,t){return Ta(e,t).canonicalString()}function Ta(e,t){e=e;var r=new A(["projects",e.projectId,"databases",e.database]).child("documents");return void 0===t?r:r.child(t)}function Na(e){var t=A.fromString(e);return p(Ya(t),10190,{key:t.toString()}),t}function Aa(e,t){return ba(e.databaseId,t.path)}function xa(e,t){var r=Na(t);if(r.get(1)!==e.databaseId.projectId)throw new N(T.INVALID_ARGUMENT,"Tried to deserialize key from different project: "+r.get(1)+" vs "+e.databaseId.projectId);if(r.get(3)!==e.databaseId.database)throw new N(T.INVALID_ARGUMENT,"Tried to deserialize key from different database: "+r.get(3)+" vs "+e.databaseId.database);return new x(La(r))}function Fa(e,t){return ba(e.databaseId,t)}function Sa(e){var t=Na(e);return 4===t.length?A.emptyPath():La(t)}function Oa(e){return new A(["projects",e.databaseId.projectId,"databases",e.databaseId.database]).canonicalString()}function La(e){return p(4<e.length&&"documents"===e.get(4),29091,{key:e.toString()}),e.popFirst(5)}function Ra(e,t,r){return{name:Aa(e,t),fields:r.value.mapValue.fields}}function ka(e,t,r){var n=xa(e,t.name),s=Ia(t.updateTime),i=t.createTime?Ia(t.createTime):F.min(),a=new hs({mapValue:{fields:t.fields}}),n=ui.newFoundDocument(n,s,i,a);return r&&n.setHasCommittedMutations(),r?n.setHasCommittedMutations():n}function Ga(e,t){let r;if(t instanceof ks)r={update:Ra(e,t.key,t.value)};else if(t instanceof Hs)r={delete:Aa(e,t.key)};else if(t instanceof Gs)r={update:Ra(e,t.key,t.data),updateMask:(e=>{let t=[];return e.fields.forEach(e=>t.push(e.canonicalString())),{fieldPaths:t}})(t.fieldMask)};else{if(!(t instanceof Us))return w(16599,{Bt:t.type});r={verify:Aa(e,t.key)}}return 0<t.fieldTransforms.length&&(r.updateTransforms=t.fieldTransforms.map(e=>{var t=e.transform;if(t instanceof ps)return{fieldPath:e.field.canonicalString(),setToServerValue:"REQUEST_TIME"};if(t instanceof ms)return{fieldPath:e.field.canonicalString(),appendMissingElements:{values:t.elements}};if(t instanceof Ds)return{fieldPath:e.field.canonicalString(),removeAllFromArray:{values:t.elements}};if(t instanceof ys)return{fieldPath:e.field.canonicalString(),increment:t.xe};if(t instanceof _s)return{fieldPath:e.field.canonicalString(),minimum:t.xe};if(t instanceof Is)return{fieldPath:e.field.canonicalString(),maximum:t.xe};throw w(20930,{transform:e.transform})})),t.precondition.isNone||(r.currentDocument=(e=e,void 0!==(t=t.precondition).updateTime?{updateTime:_a(e,t.updateTime)}:void 0!==t.exists?{exists:t.exists}:w(27497))),r}function Pa(s,t){let r=t.currentDocument?void 0!==(i=t.currentDocument).updateTime?xs.updateTime(Ia(i.updateTime)):void 0!==i.exists?xs.exists(i.exists):xs.none():xs.none(),n=t.updateTransforms?t.updateTransforms.map(r=>{{var e=s;let t=null;if("setToServerValue"in r)p("REQUEST_TIME"===r.setToServerValue,16630,{proto:r}),t=new ps;else if("appendMissingElements"in r){let e=r.appendMissingElements.values||[];t=new ms(e)}else if("removeAllFromArray"in r){let e=r.removeAllFromArray.values||[];t=new Ds(e)}else"increment"in r?t=new ys(e,r.increment):"minimum"in r?t=new _s(e,r.minimum):"maximum"in r?t=new Is(e,r.maximum):w(16584,{proto:r});var n=Er.fromServerFormat(r.fieldPath);return new Ns(n,t)}}):[];var i,a;if(t.update){t.update.name;var B=xa(s,t.update.name),o=new hs({mapValue:{fields:t.update.fields}});if(t.updateMask){i=t.updateMask,a=i.fieldPaths||[];let e=new Dr(a.map(e=>Er.fromServerFormat(e)));return new Gs(B,o,e,r,n)}return new ks(B,o,r,n)}if(t.delete){let e=xa(s,t.delete);return new Hs(e,r)}if(t.verify){let e=xa(s,t.verify);return new Us(e,r)}return w(1463,{proto:t})}function Ma(e,n){return e&&0<e.length?(p(void 0!==n,14353),e.map(t=>{{var r=n;let e=t.updateTime?Ia(t.updateTime):Ia(r);return e.isEqual(F.min())&&(e=Ia(r)),new As(e,t.transformResults||[])}})):[]}function Va(e,t){return{documents:[Fa(e,t.path)]}}function Ha(e,t){var r={structuredQuery:{}},n=t.path;let s;null!==t.collectionGroup?(s=n,r.structuredQuery.from=[{collectionId:t.collectionGroup,allDescendants:!0}]):(s=n.popLast(),r.structuredQuery.from=[{collectionId:n.lastSegment()}]),r.parent=Fa(e,s);n=(e=>{if(0!==e.length)return function r(e){return e instanceof m?(e=>{if("=="===e.op){if(ns(e.value))return{unaryFilter:{field:Qa(e.field),op:"IS_NAN"}};if(rs(e.value))return{unaryFilter:{field:Qa(e.field),op:"IS_NULL"}}}else if("!="===e.op){if(ns(e.value))return{unaryFilter:{field:Qa(e.field),op:"IS_NOT_NAN"}};if(rs(e.value))return{unaryFilter:{field:Qa(e.field),op:"IS_NOT_NULL"}}}return{fieldFilter:{field:Qa(e.field),op:Ka(e.op),value:e.value}}})(e):e instanceof Qs?(e=>{let t=e.getFilters().map(e=>r(e));return 1===t.length?t[0]:{compositeFilter:{op:ja(e.op),filters:t}}})(e):w(54877,{filter:e})}(Qs.create(e,"and"))})(t.filters),n&&(r.structuredQuery.where=n),n=(e=>{if(0!==e.length)return e.map(e=>({field:Qa((e=e).field),direction:(e=e.dir,ga[e])}))})(t.orderBy),n&&(r.structuredQuery.orderBy=n),n=Da(e,t.limit);return null!==n&&(r.structuredQuery.limit=n),t.startAt&&(r.structuredQuery.startAt={before:(e=t.startAt).inclusive,values:e.position}),t.endAt&&(r.structuredQuery.endAt={before:!(e=t.endAt).inclusive,values:e.position}),{Lt:r,parent:s}}function Ua(e){let t=Sa(e.parent);var r,n=e.structuredQuery,s=n.from?n.from.length:0;let i=null;if(0<s){p(1===s,65062);let e=n.from[0];e.allDescendants?i=e.collectionId:t=t.child(e.collectionId)}let a=[],B=(n.where&&(a=(e=n.where,(s=function t(e){return void 0!==e.unaryFilter?(s=>{switch(s.unaryFilter.op){case"IS_NAN":let e=za(s.unaryFilter.field);return m.create(e,"==",{doubleValue:NaN});case"IS_NULL":let t=za(s.unaryFilter.field);return m.create(t,"==",{nullValue:"NULL_VALUE"});case"IS_NOT_NAN":let r=za(s.unaryFilter.field);return m.create(r,"!=",{doubleValue:NaN});case"IS_NOT_NULL":let n=za(s.unaryFilter.field);return m.create(n,"!=",{nullValue:"NULL_VALUE"});case"OPERATOR_UNSPECIFIED":return w(61313);default:return w(60726)}})(e):void 0!==e.fieldFilter?(e=>m.create(za(e.fieldFilter.field),(e=>{switch(e){case"EQUAL":return"==";case"NOT_EQUAL":return"!=";case"GREATER_THAN":return">";case"GREATER_THAN_OR_EQUAL":return">=";case"LESS_THAN":return"<";case"LESS_THAN_OR_EQUAL":return"<=";case"ARRAY_CONTAINS":return"array-contains";case"IN":return"in";case"NOT_IN":return"not-in";case"ARRAY_CONTAINS_ANY":return"array-contains-any";case"OPERATOR_UNSPECIFIED":return w(58110);default:return w(50506)}})(e.fieldFilter.op),e.fieldFilter.value))(e):void 0!==e.compositeFilter?(e=>Qs.create(e.compositeFilter.filters.map(e=>t(e)),(e=>{switch(e){case"AND":return"and";case"OR":return"or";default:return w(1026)}})(e.compositeFilter.op)))(e):w(30097,{filter:e})}(e))instanceof Qs&&Ws(s)?s.getFilters():[s])),[]),o=(n.orderBy&&(B=n.orderBy.map(e=>(e=e,new oi(za(e.field),(e=>{switch(e){case"ASCENDING":return"asc";case"DESCENDING":return"desc";default:return}})(e.direction))))),null),u=(n.limit&&(o=(e=n.limit,Xr(s="object"==typeof e?e.value:e)?null:s)),null),l=(n.startAt&&(u=(e=n.startAt,s=!!e.before,r=e.values||[],new qs(r,s))),null);return n.endAt&&(l=(e=n.endAt,r=!e.before,s=e.values||[],new qs(s,r))),xi(t,i,B,a,o,"F",u,l)}function qa(e,t){var r=(e=>{switch(e){case"TargetPurposeListen":return null;case"TargetPurposeExistenceFilterMismatch":return"existence-filter-mismatch";case"TargetPurposeExistenceFilterMismatchBloom":return"existence-filter-mismatch-bloom";case"TargetPurposeLimboResolution":return"limbo-document";default:return w(28987,{purpose:e})}})(t.purpose);return null==r?null:{"goog-listen-tags":r}}function Ja(t,e){return{structuredPipeline:{pipeline:{stages:e.stages.map(e=>e._toProto(t))}}}}function Ka(e){return pa[e]}function ja(e){return ma[e]}function Qa(e){return{fieldPath:e.canonicalString()}}function za(e){return Er.fromServerFormat(e.fieldPath)}function Ya(e){return 4<=e.length&&"projects"===e.get(0)&&"databases"===e.get(2)}function Wa(e){return e&&"function"==typeof e._toProto&&"ProtoValue"===e._protoValueType}function Xa(r,e){let n={fields:{}};return e.forEach((e,t)=>{if("string"!=typeof t)throw new Error("Cannot encode map with non-string key: "+t);n.fields[t]=e._toProto(r)}),{mapValue:n}}function Za(e){return{stringValue:e}}function $a(e){return new Ea(e,!0)}class eB{constructor(e){this.value=e}isEqual(e){return this.value===e.value}}class tB{constructor(e,t){if(this.seconds=e,this.increment=t,!Number.isInteger(e)||e<0||4294967295<e)throw new Error("BsonTimestamp 'seconds' must be in the range of a 32-bit unsigned integer (0-4294967295).");if(!Number.isInteger(t)||t<0||4294967295<t)throw new Error("BsonTimestamp 'increment' must be in the range of a 32-bit unsigned integer (0-4294967295).")}isEqual(e){return this.seconds===e.seconds&&this.increment===e.increment}}class rB{constructor(e,t=0){if(this.subtype=t,!Number.isInteger(t)||t<0||255<t)throw new N(T.INVALID_ARGUMENT,"The subtype for Bytes must be a value in the inclusive [0, 255] range.");this._byteString=e}static fromBase64String(e,t=0){try{return new rB(Rr.fromBase64String(e),t)}catch(e){throw new N(T.INVALID_ARGUMENT,"Failed to construct data from Base64 string: "+e)}}static fromUint8Array(e,t=0){return new rB(Rr.fromUint8Array(e),t)}toBase64(){return this._byteString.toBase64()}toUint8Array(){return this._byteString.toUint8Array()}get data(){return this.toUint8Array()}toString(){return"Bytes(base64: "+this.toBase64()+", subtype: "+this.subtype+")"}isEqual(e){return this.subtype===e.subtype&&this._byteString.isEqual(e._byteString)}toJSON(){var e={type:rB._jsonSchemaVersion,bytes:this.toBase64()};return 0!==this.subtype&&(e.subtype=this.subtype),e}static fromJSON(e){var t;if(Sr(e,rB._jsonSchema))return t=e.subtype??0,rB.fromBase64String(e.bytes,t)}}rB._jsonSchemaVersion="firestore/bytes/1.0",rB._jsonSchema={type:Fr("string",rB._jsonSchemaVersion),bytes:Fr("string"),subtype:{...Fr("number"),optional:!0}};class nB{constructor(e){this.stringValue=e,this.value=B.fromString(e)}isEqual(e){return!(!this.value.oe()||!e.value.oe())||0===this.value.compareTo(e.value)}toJSON(){return{Ut:{stringValue:this.stringValue}}}}let sB=class{constructor(...e){for(let t=0;t<e.length;++t)if(0===e[t].length)throw new N(T.INVALID_ARGUMENT,"Invalid field name at argument $(i + 1). Field names must not be empty.");this._internalPath=new Er(e)}isEqual(e){return this._internalPath.isEqual(e._internalPath)}};let iB=class{constructor(e){this._methodName=e}};class aB{constructor(e,t){if(!isFinite(e)||e<-90||90<e)throw new N(T.INVALID_ARGUMENT,"Latitude must be a number between -90 and 90, but was: "+e);if(!isFinite(t)||t<-180||180<t)throw new N(T.INVALID_ARGUMENT,"Longitude must be a number between -180 and 180, but was: "+t);this._lat=e,this._long=t}get latitude(){return this._lat}get longitude(){return this._long}isEqual(e){return this._lat===e._lat&&this._long===e._long}_compareTo(e){return b(this._lat,e._lat)||b(this._long,e._long)}toJSON(){return{latitude:this._lat,longitude:this._long,type:aB._jsonSchemaVersion}}static fromJSON(e){if(Sr(e,aB._jsonSchema))return new aB(e.latitude,e.longitude)}}aB._jsonSchemaVersion="firestore/geoPoint/1.0",aB._jsonSchema={type:Fr("string",aB._jsonSchemaVersion),latitude:Fr("number"),longitude:Fr("number")};class BB{constructor(e){this.value=e}isEqual(e){return this.value===e.value}}class oB{constructor(){this.type="MaxKey"}static instance(){return oB.MAX_KEY_VALUE_INSTANCE||(oB.MAX_KEY_VALUE_INSTANCE=new oB),oB.MAX_KEY_VALUE_INSTANCE}}oB.MAX_KEY_VALUE_INSTANCE=null;class uB{constructor(){this.type="MinKey"}static instance(){return uB.MIN_KEY_VALUE_INSTANCE||(uB.MIN_KEY_VALUE_INSTANCE=new uB),uB.MIN_KEY_VALUE_INSTANCE}}uB.MIN_KEY_VALUE_INSTANCE=null;class lB{constructor(e){this.uid=e}isAuthenticated(){return null!=this.uid}toKey(){return this.isAuthenticated()?"uid:"+this.uid:"anonymous-user"}isEqual(e){return e.uid===this.uid}}lB.UNAUTHENTICATED=new lB(null),lB.GOOGLE_CREDENTIALS=new lB("google-credentials-uid"),lB.FIRST_PARTY=new lB("first-party-uid"),lB.MOCK_USER=new lB("mock-user");class hB{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}class cB{constructor(e,t){this.user=t,this.type="OAuth",this.headers=new Map,this.headers.set("Authorization","Bearer "+e)}}class CB{getToken(){return Promise.resolve(null)}invalidateToken(){}start(e,t){e.enqueueRetryable(()=>t(lB.UNAUTHENTICATED))}shutdown(){}}class dB{constructor(e){this.token=e,this.changeListener=null}getToken(){return Promise.resolve(this.token)}invalidateToken(){}start(e,t){this.changeListener=t,e.enqueueRetryable(()=>t(this.token.user))}shutdown(){this.changeListener=null}}class fB{constructor(e){this.kt=e,this.currentUser=lB.UNAUTHENTICATED,this.Qt=0,this.forceRefresh=!1,this.auth=null}start(t,r){p(void 0===this.qt,42304);let n=this.Qt,s=e=>this.Qt!==n?(n=this.Qt,r(e)):Promise.resolve(),i=new hB,a=(this.qt=()=>{this.Qt++,this.currentUser=this.Kt(),i.resolve(),i=new hB,t.enqueueRetryable(()=>s(this.currentUser))},()=>{let e=i;t.enqueueRetryable(async()=>{await e.promise,await s(this.currentUser)})}),B=e=>{C("FirebaseAuthCredentialsProvider","Auth detected"),this.auth=e,this.qt&&(this.auth.addAuthTokenListener(this.qt),a())};this.kt.onInit(e=>B(e)),setTimeout(()=>{var e;this.auth||((e=this.kt.getImmediate({optional:!0}))?B(e):(C("FirebaseAuthCredentialsProvider","Auth not yet detected"),i.resolve(),i=new hB))},0),a()}getToken(){let t=this.Qt,e=this.forceRefresh;return this.forceRefresh=!1,this.auth?this.auth.getToken(e).then(e=>this.Qt!==t?(C("FirebaseAuthCredentialsProvider","getToken aborted due to token change."),this.getToken()):e?(p("string"==typeof e.accessToken,31837,{Wt:e}),new cB(e.accessToken,this.currentUser)):null):Promise.resolve(null)}invalidateToken(){this.forceRefresh=!0}shutdown(){this.auth&&this.qt&&this.auth.removeAuthTokenListener(this.qt),this.qt=void 0}Kt(){var e=this.auth&&this.auth.getUid();return p(null===e||"string"==typeof e,2055,{Gt:e}),new lB(e)}}class gB{constructor(e,t,r){this.jt=e,this.zt=t,this.Ht=r,this.type="FirstParty",this.user=lB.FIRST_PARTY,this.Jt=new Map}Yt(){return this.Ht?this.Ht():null}get headers(){this.Jt.set("X-Goog-AuthUser",this.jt);var e=this.Yt();return e&&this.Jt.set("Authorization",e),this.zt&&this.Jt.set("X-Goog-Iam-Authorization-Token",this.zt),this.Jt}}class pB{constructor(e,t,r){this.jt=e,this.zt=t,this.Ht=r}getToken(){return Promise.resolve(new gB(this.jt,this.zt,this.Ht))}start(e,t){e.enqueueRetryable(()=>t(lB.FIRST_PARTY))}shutdown(){}invalidateToken(){}}class mB{constructor(e){this.value=e,this.type="AppCheck",this.headers=new Map,e&&0<e.length&&this.headers.set("x-firebase-appcheck",this.value)}}class EB{constructor(e,t){this.Zt=t,this.forceRefresh=!1,this.appCheck=null,this.Xt=null,this.en=null,Pm._isFirebaseServerApp(e)&&e.settings.appCheckToken&&(this.en=e.settings.appCheckToken)}start(t,r){p(void 0===this.qt,3512);let n=e=>{null!=e.error&&C("FirebaseAppCheckTokenProvider","Error getting App Check token; using placeholder token instead. Error: "+e.error.message);var t=e.token!==this.Xt;return this.Xt=e.token,C("FirebaseAppCheckTokenProvider",`Received ${t?"new":"existing"} token.`),t?r(e.token):Promise.resolve()},s=(this.qt=e=>{t.enqueueRetryable(()=>n(e))},e=>{C("FirebaseAppCheckTokenProvider","AppCheck detected"),this.appCheck=e,this.qt&&this.appCheck.addTokenListener(this.qt)});this.Zt.onInit(e=>s(e)),setTimeout(()=>{var e;this.appCheck||((e=this.Zt.getImmediate({optional:!0}))?s(e):C("FirebaseAppCheckTokenProvider","AppCheck not yet detected"))},0)}getToken(){var e;return this.en?Promise.resolve(new mB(this.en)):(e=this.forceRefresh,this.forceRefresh=!1,this.appCheck?this.appCheck.getToken(e).then(e=>e?(p("string"==typeof e.token,44558,{tokenResult:e}),this.Xt=e.token,new mB(e.token)):null):Promise.resolve(null))}invalidateToken(){this.forceRefresh=!0}shutdown(){this.appCheck&&this.qt&&this.appCheck.removeTokenListener(this.qt),this.qt=void 0}}function DB(e){var t={};return void 0!==e.timeoutSeconds&&(t.timeoutSeconds=e.timeoutSeconds),t}class vB{tn(e){}shutdown(){}}let wB="ConnectivityMonitor";class yB{constructor(){this.nn=()=>this.rn(),this.sn=()=>this._n(),this.an=[],this.un()}tn(e){this.an.push(e)}shutdown(){window.removeEventListener("online",this.nn),window.removeEventListener("offline",this.sn)}un(){window.addEventListener("online",this.nn),window.addEventListener("offline",this.sn)}rn(){C(wB,"Network connectivity changed: AVAILABLE");for(var e of this.an)e(0)}_n(){C(wB,"Network connectivity changed: UNAVAILABLE");for(var e of this.an)e(1)}static cn(){return"undefined"!=typeof window&&void 0!==window.addEventListener&&void 0!==window.removeEventListener}}let _B=null;function IB(){return null===_B?_B=268435456+Math.round(2147483648*Math.random()):_B++,"0x"+_B.toString(16)}let bB="RestConnection",TB={BatchGetDocuments:"batchGet",Commit:"commit",RunQuery:"runQuery",RunAggregationQuery:"runAggregationQuery",ExecutePipeline:"executePipeline"};class NB{constructor(e){this.fn=e.fn,this.mn=e.mn}pn(e){this.gn=e}yn(e){this.wn=e}bn(e){this.Sn=e}onMessage(e){this.xn=e}close(){this.mn()}send(e){this.fn(e)}vn(){this.gn()}Dn(){this.wn()}Cn(e){this.Sn(e)}Fn(e){this.xn(e)}}let AB="WebChannelConnection",xB=(e,t,r)=>{e.listen(t,e=>{try{r(e)}catch(e){setTimeout(()=>{throw e},0)}})};class FB extends class{get En(){return!1}constructor(e){this.databaseInfo=e,this.databaseId=e.databaseId;var t=e.ssl?"https":"http",r=encodeURIComponent(this.databaseId.projectId),n=encodeURIComponent(this.databaseId.database);this.hn=t+"://"+e.host,this.Tn=`projects/${r}/databases/`+n,this.Pn=this.databaseId.database===zr?"project_id="+r:`project_id=${r}&database_id=`+n}In(t,e,r,n,s){let i=IB(),a=this.Rn(t,e.toUriEncodedString());C(bB,`Sending RPC '${t}' ${i}:`,a,r);var B={"google-cloud-resource-prefix":this.Tn,"x-goog-request-params":this.Pn},o=(this.An(B,n,s),new URL(a)).host,o=ne(o);return this.Vn(t,a,B,r,o).then(e=>(C(bB,`Received RPC '${t}' ${i}: `,e),e),e=>{throw Kt(bB,`RPC '${t}' ${i} failed with error: `,e,"url: ",a,"request:",r),e})}dn(e,t,r,n,s,i){return this.In(e,t,r,n,s)}An(r,t,n){if(r["X-Goog-Api-Client"]="gl-js/ fire/"+Ht,r["Content-Type"]="text/plain",this.databaseInfo.appId&&(r["X-Firebase-GMPID"]=this.databaseInfo.appId),t&&t.headers.forEach((e,t)=>r[t]=e),n&&n.headers.forEach((e,t)=>r[t]=e),this.databaseInfo._customHeaders)for(let e of Object.keys(this.databaseInfo._customHeaders))r[e]=this.databaseInfo._customHeaders[e]}Rn(e,t){var r=TB[e];let n=this.hn+`/v1/${t}:`+r;return n=this.databaseInfo.apiKey?n+"?key="+encodeURIComponent(this.databaseInfo.apiKey):n}terminate(){}}{constructor(e){super(e),this.On=[],this.forceLongPolling=e.forceLongPolling,this.autoDetectLongPolling=e.autoDetectLongPolling,this.useFetchStreams=e.useFetchStreams,this.longPollingOptions=e.longPollingOptions}static Mn(){var e;FB.Nn||(e=hr(),xB(e,lr.STAT_EVENT,e=>{e.stat===ur.PROXY?C(AB,"STAT_EVENT: detected buffering proxy"):e.stat===ur.NOPROXY&&C(AB,"STAT_EVENT: detected no buffering proxy")}),FB.Nn=!0)}Vn(o,t,r,n,e){let u=IB();return new Promise((i,a)=>{let B=new ir;B.setWithCredentials(!0),B.listenOnce(Br.COMPLETE,()=>{try{switch(B.getLastErrorCode()){case or.NO_ERROR:var e=B.getResponseJson();C(AB,`XHR for RPC '${o}' ${u} received:`,JSON.stringify(e)),i(e);break;case or.TIMEOUT:C(AB,`RPC '${o}' ${u} timed out`),a(new N(T.DEADLINE_EXCEEDED,"Request time out"));break;case or.HTTP_ERROR:var t=B.getStatus();if(C(AB,`RPC '${o}' ${u} failed with status:`,t,"response text:",B.getResponseText()),0<t){let e=B.getResponseJson();var r=(e=Array.isArray(e)?e[0]:e)?.error;if(r&&r.status&&r.message){n=r.status,s=n.toLowerCase().replace(/_/g,"-");let e=0<=Object.values(T).indexOf(s)?s:T.UNKNOWN;a(new N(e,r.message))}else a(new N(T.UNKNOWN,"Server responded with status "+B.getStatus()))}else a(new N(T.UNAVAILABLE,"Connection failed."));break;default:w(9055,{Bn:o,streamId:u,Ln:B.getLastErrorCode(),$n:B.getLastError()})}}finally{C(AB,`RPC '${o}' ${u} completed.`)}var n,s});var e=JSON.stringify(n);C(AB,`RPC '${o}' ${u} sending request:`,n),B.send(t,"POST",e,r,15)})}Un(s,e,t){let i=IB(),r=[this.hn,"/","google.firestore.v1.Firestore","/",s,"/channel"],n=this.createWebChannelTransport(),a={httpSessionIdParam:"gsessionid",initMessageHeaders:{},messageUrlParams:{database:`projects/${this.databaseId.projectId}/databases/`+this.databaseId.database},sendRawJson:!0,supportsCrossDomainXhr:!0,internalChannelParams:{forwardChannelRequestTimeoutMs:6e5},forceLongPolling:this.forceLongPolling,detectBufferingProxy:this.autoDetectLongPolling},B=this.longPollingOptions.timeoutSeconds;void 0!==B&&(a.longPollingTimeout=Math.round(1e3*B)),this.useFetchStreams&&(a.useFetchStreams=!0),this.An(a.initMessageHeaders,e,t),a.encodeInitMessageHeaders=!0;var o=r.join("");C(AB,`Creating RPC '${s}' stream ${i}: `+o,a);let u=n.createWebChannel(o,a),l=(this.kn(u),!1),h=!1,c=new NB({fn:e=>{h?C(AB,`Not sending because RPC '${s}' stream ${i} is closed:`,e):(l||(C(AB,`Opening RPC '${s}' stream ${i} transport.`),u.open(),l=!0),C(AB,`RPC '${s}' stream ${i} sending:`,e),u.send(e))},mn:()=>u.close()});return xB(u,ar.EventType.OPEN,()=>{h||(C(AB,`RPC '${s}' stream ${i} transport opened.`),c.vn())}),xB(u,ar.EventType.CLOSE,()=>{h||(h=!0,C(AB,`RPC '${s}' stream ${i} transport closed`),c.Cn(),this.Qn(u))}),xB(u,ar.EventType.ERROR,e=>{h||(h=!0,Kt(AB,`RPC '${s}' stream ${i} transport errored. Name:`,e.name,"Message:",e.message),c.Cn(new N(T.UNAVAILABLE,"The operation could not be completed")))}),xB(u,ar.EventType.MESSAGE,e=>{if(!h){var t=e.data[0],n=(p(!!t,16349),t),n=n?.error||n[0]?.error;if(n){C(AB,`RPC '${s}' stream ${i} received error:`,n);let e=n.status,t=(e=>{var t=St[e];if(void 0!==t)return Ji(t)})(e),r=n.message;"NOT_FOUND"===e&&r.includes("database")&&r.includes("does not exist")&&r.includes(this.databaseId.database)&&Kt(`Database '${this.databaseId.database}' not found. Please check your project configuration.`),void 0===t&&(t=T.INTERNAL,r="Unknown error status: "+e+" with message "+n.message),h=!0,c.Cn(new N(t,r)),u.close()}else C(AB,`RPC '${s}' stream ${i} received:`,t),c.Fn(t)}}),FB.Mn(),setTimeout(()=>{c.Dn()},0),c}terminate(){this.On.forEach(e=>e.close()),this.On=[]}kn(e){this.On.push(e)}Qn(t){this.On=this.On.filter(e=>e===t)}An(e,t,r){super.An(e,t,r),this.databaseInfo.apiKey&&(e["x-goog-api-key"]=this.databaseInfo.apiKey)}createWebChannelTransport(){return cr()}}FB.Nn=!1;class SB{constructor(e,t,r=1e3,n=1.5,s=6e4){this.qn=e,this.timerId=t,this.Kn=r,this.Wn=n,this.Gn=s,this.jn=0,this.zn=null,this.Hn=Date.now(),this.reset()}reset(){this.jn=0}Jn(){this.jn=this.Gn}Yn(e){this.cancel();var t=Math.floor(this.jn+this.Zn()),r=Math.max(0,Date.now()-this.Hn),n=Math.max(0,t-r);0<n&&C("ExponentialBackoff",`Backing off for ${n} ms (base delay: ${this.jn} ms, delay with jitter: ${t} ms, last attempt: ${r} ms ago)`),this.zn=this.qn.enqueueAfterDelay(this.timerId,n,()=>(this.Hn=Date.now(),e())),this.jn*=this.Wn,this.jn<this.Kn&&(this.jn=this.Kn),this.jn>this.Gn&&(this.jn=this.Gn)}Xn(){null!==this.zn&&(this.zn.skipDelay(),this.zn=null)}cancel(){null!==this.zn&&(this.zn.cancel(),this.zn=null)}Zn(){return(Math.random()-.5)*this.jn}}let OB="PersistentStream";class LB{constructor(e,t,r,n,s,i,a,B){this.qn=e,this.er=r,this.tr=n,this.connection=s,this.authCredentialsProvider=i,this.appCheckCredentialsProvider=a,this.listener=B,this.state=0,this.nr=0,this.rr=null,this.ir=null,this.stream=null,this.sr=0,this._r=new SB(e,t)}ar(){return 1===this.state||5===this.state||this.ur()}ur(){return 2===this.state||3===this.state}start(){this.sr=0,4!==this.state?this.auth():this.cr()}async stop(){this.ar()&&await this.close(0)}lr(){this.state=0,this._r.reset()}Er(){this.ur()&&null===this.rr&&(this.rr=this.qn.enqueueAfterDelay(this.er,6e4,()=>this.hr()))}Tr(e){this.Pr(),this.stream.send(e)}async hr(){if(this.ur())return this.close(0)}Pr(){this.rr&&(this.rr.cancel(),this.rr=null)}Ir(){this.ir&&(this.ir.cancel(),this.ir=null)}async close(e,t){this.Pr(),this.Ir(),this._r.cancel(),this.nr++,4!==e?this._r.reset():t&&t.code===T.RESOURCE_EXHAUSTED?(Jt(t.toString()),Jt("Using maximum backoff delay to prevent overloading the backend."),this._r.Jn()):t&&t.code===T.UNAUTHENTICATED&&3!==this.state&&(this.authCredentialsProvider.invalidateToken(),this.appCheckCredentialsProvider.invalidateToken()),null!==this.stream&&(this.Rr(),this.stream.close(),this.stream=null),this.state=e,await this.listener.bn(t)}Rr(){}auth(){this.state=1;let e=this.Ar(this.nr),r=this.nr;Promise.all([this.authCredentialsProvider.getToken(),this.appCheckCredentialsProvider.getToken()]).then(([e,t])=>{this.nr===r&&this.Vr(e,t)},t=>{e(()=>{var e=new N(T.UNKNOWN,"Fetching auth token failed: "+t.message);return this.dr(e)})})}Vr(e,t){let r=this.Ar(this.nr);this.stream=this.mr(e,t),this.stream.pn(()=>{r(()=>this.listener.pn())}),this.stream.yn(()=>{r(()=>(this.state=2,this.ir=this.qn.enqueueAfterDelay(this.tr,1e4,()=>(this.ur()&&(this.state=3),Promise.resolve())),this.listener.yn()))}),this.stream.bn(e=>{r(()=>this.dr(e))}),this.stream.onMessage(e=>{r(()=>1==++this.sr?this.pr(e):this.onNext(e))})}cr(){this.state=5,this._r.Yn(async()=>{this.state=0,this.start()})}dr(e){return C(OB,"close with error: "+e),this.stream=null,this.close(4,e)}Ar(t){return e=>{this.qn.enqueueAndForget(()=>this.nr===t?e():(C(OB,"stream callback skipped by getCloseGuardedDispatcher."),Promise.resolve()))}}}class RB extends LB{constructor(e,t,r,n,s,i){super(e,"listen_stream_connection_backoff","listen_stream_idle","health_check_timeout",t,r,n,i),this.serializer=s}mr(e,t){return this.connection.Un("Listen",e,t)}pr(e){return this.onNext(e)}onNext(e){this._r.reset();var t=((e,t)=>{let r;if("targetChange"in t){t.targetChange;var n="NO_CHANGE"===(o=t.targetChange.targetChangeType||"NO_CHANGE")?0:"ADD"===o?1:"REMOVE"===o?2:"CURRENT"===o?3:"RESET"===o?4:w(39313,{state:o}),s=t.targetChange.targetIds||[],i=(o=t.targetChange.resumeToken,e.useProto3Json?(p(void 0===o||"string"==typeof o,58123),Rr.fromBase64String(o||"")):(p(void 0===o||o instanceof Buffer||o instanceof Uint8Array,16193),Rr.fromUint8Array(o||new Uint8Array))),a=t.targetChange.cause,a=a&&(a=void 0===(o=a).code?T.UNKNOWN:Ji(o.code),new N(a,o.message||""));r=new la(n,s,i,a||null)}else if("documentChange"in t){t.documentChange;var n=t.documentChange,s=(n.document,n.document.name,n.document.updateTime,xa(e,n.document.name)),i=Ia(n.document.updateTime),a=n.document.createTime?Ia(n.document.createTime):F.min(),B=new hs({mapValue:{fields:n.document.fields}}),s=ui.newFoundDocument(s,i,a,B),i=n.targetIds||[],B=n.removedTargetIds||[];r=new oa(i,B,s.key,s)}else if("documentDelete"in t){t.documentDelete;n=t.documentDelete,i=(n.document,xa(e,n.document)),B=n.readTime?Ia(n.readTime):F.min(),s=ui.newNoDocument(i,B),i=n.removedTargetIds||[];r=new oa([],i,s.key,s)}else if("documentRemove"in t){t.documentRemove;B=t.documentRemove,n=(B.document,xa(e,B.document)),i=B.removedTargetIds||[];r=new oa([],i,n,null)}else{if(!("filter"in t))return w(11601,{Nt:t});{t.filter;let e=t.filter;e.targetId;var{count:s=0,unchangedNames:B}=e,i=new Ui(s,B),n=e.targetId;r=new ua(n,i)}}var o;return r})(this.serializer,e),r="targetChange"in(e=e)&&(!(r=e.targetChange).targetIds||!r.targetIds.length)&&r.readTime?Ia(r.readTime):F.min();return this.listener.gr(t,r)}yr(e){var t={},r=(t.database=Oa(this.serializer),t.addTarget=((t,r)=>{var n;let e=r.target;if((n=_i(e)?{pipelineQuery:Ja(t,e)}:Ii(e)?{documents:Va(t,e)}:{query:Ha(t,e).Lt}).targetId=r.targetId,0<r.resumeToken.approximateByteSize()){n.resumeToken=ya(t,r.resumeToken);let e=Da(t,r.expectedCount);null!==e&&(n.expectedCount=e)}else if(0<r.snapshotVersion.compareTo(F.min())){n.readTime=va(t,r.snapshotVersion.toTimestamp());let e=Da(t,r.expectedCount);null!==e&&(n.expectedCount=e)}return n})(this.serializer,e),qa(this.serializer,e));r&&(t.labels=r),this.Tr(t)}wr(e){var t={};t.database=Oa(this.serializer),t.removeTarget=e,this.Tr(t)}}class kB extends LB{constructor(e,t,r,n,s,i){super(e,"write_stream_connection_backoff","write_stream_idle","health_check_timeout",t,r,n,i),this.serializer=s}get br(){return 0<this.sr}start(){this.lastStreamToken=void 0,super.start()}Rr(){this.br&&this.Sr([])}mr(e,t){return this.connection.Un("Write",e,t)}pr(e){return p(!!e.streamToken,31322),this.lastStreamToken=e.streamToken,p(!e.writeResults||0===e.writeResults.length,55816),this.listener.vr()}onNext(e){p(!!e.streamToken,12678),this.lastStreamToken=e.streamToken,this._r.reset();var t=Ma(e.writeResults,e.commitTime),r=Ia(e.commitTime);return this.listener.Dr(r,t)}Cr(){var e={};e.database=Oa(this.serializer),this.Tr(e)}Sr(e){var t={streamToken:this.lastStreamToken,writes:e.map(e=>Ga(this.serializer,e))};this.Tr(t)}}class GB extends class{}{constructor(e,t,r,n){super(),this.authCredentials=e,this.appCheckCredentials=t,this.connection=r,this.serializer=n,this.Fr=!1}Or(){if(this.Fr)throw new N(T.FAILED_PRECONDITION,"The client has already been terminated.")}In(r,n,s,i){return this.Or(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([e,t])=>this.connection.In(r,Ta(n,s),i,e,t)).catch(e=>{throw"FirebaseError"===e.name?(e.code===T.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new N(T.UNKNOWN,e.toString())})}dn(r,n,s,i,a){return this.Or(),Promise.all([this.authCredentials.getToken(),this.appCheckCredentials.getToken()]).then(([e,t])=>this.connection.dn(r,Ta(n,s),i,e,t,a)).catch(e=>{throw"FirebaseError"===e.name?(e.code===T.UNAUTHENTICATED&&(this.authCredentials.invalidateToken(),this.appCheckCredentials.invalidateToken()),e):new N(T.UNKNOWN,e.toString())})}terminate(){this.Fr=!0,this.connection.terminate()}}let PB=new Map;let MB={didRun:!1,sequenceNumbersCollected:0,targetsRemoved:0,documentsRemoved:0};class VB{static withCacheSize(e){return new VB(e,VB.DEFAULT_COLLECTION_PERCENTILE,VB.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT)}constructor(e,t,r){this.cacheSizeCollectionThreshold=e,this.percentileToCollect=t,this.maximumSequenceNumbersToCollect=r}}VB.DEFAULT_COLLECTION_PERCENTILE=10,VB.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT=1e3,VB.DEFAULT=new VB(41943040,VB.DEFAULT_COLLECTION_PERCENTILE,VB.DEFAULT_MAX_SEQUENCE_NUMBERS_TO_COLLECT),VB.DISABLED=new VB(-1,0,0);class HB{constructor(e,t){this.previousValue=e,t&&(t.sequenceNumberHandler=e=>this.Mr(e),this.Nr=e=>t.writeSequenceNumber(e))}Mr(e){return this.previousValue=Math.max(e,this.previousValue),this.previousValue}next(){var e=++this.previousValue;return this.Nr&&this.Nr(e),e}}HB.Br=-1;let UB="The current tab is not in the required state to perform this operation. It might be necessary to refresh the browser tab.";class qB{constructor(){this.onCommittedListeners=[]}addOnCommittedListener(e){this.onCommittedListeners.push(e)}raiseOnCommittedEvent(){this.onCommittedListeners.forEach(e=>e())}}async function JB(e){if(e.code!==T.FAILED_PRECONDITION||e.message!==UB)throw e;C("LocalStore","Unexpectedly lost primary lease")}class O{constructor(e){this.nextCallback=null,this.catchCallback=null,this.result=void 0,this.error=void 0,this.isDone=!1,this.callbackAttached=!1,e(e=>{this.isDone=!0,this.result=e,this.nextCallback&&this.nextCallback(e)},e=>{this.isDone=!0,this.error=e,this.catchCallback&&this.catchCallback(e)})}catch(e){return this.next(void 0,e)}next(n,s){return this.callbackAttached&&w(59440),this.callbackAttached=!0,this.isDone?this.error?this.wrapFailure(s,this.error):this.wrapSuccess(n,this.result):new O((t,r)=>{this.nextCallback=e=>{this.wrapSuccess(n,e).next(t,r)},this.catchCallback=e=>{this.wrapFailure(s,e).next(t,r)}})}toPromise(){return new Promise((e,t)=>{this.next(e,t)})}wrapUserFunction(e){try{var t=e();return t instanceof O?t:O.resolve(t)}catch(e){return O.reject(e)}}wrapSuccess(e,t){return e?this.wrapUserFunction(()=>e(t)):O.resolve(t)}wrapFailure(e,t){return e?this.wrapUserFunction(()=>e(t)):O.reject(t)}static resolve(r){return new O((e,t)=>{e(r)})}static reject(r){return new O((e,t)=>{t(r)})}static waitFor(e){return new O((t,r)=>{let n=0,s=0,i=!1;e.forEach(e=>{++n,e.next(()=>{++s,i&&s===n&&t()},e=>r(e))}),i=!0,s===n&&t()})}static or(e){let t=O.resolve(!1);for(let r of e)t=t.next(e=>e?O.resolve(e):r());return t}static forEach(e,r){let n=[];return e.forEach((e,t)=>{n.push(r.call(this,e,t))}),this.waitFor(n)}static mapArray(B,o){return new O((r,n)=>{let s=B.length,i=new Array(s),a=0;for(let e=0;e<s;e++){let t=e;o(B[t]).next(e=>{i[t]=e,++a===s&&r(i)},e=>n(e))}})}static doWhile(n,s){return new O((e,t)=>{let r=()=>{!0===n()?s().next(()=>{r()},t):e()};r()})}}let KB="SimpleDb";class jB{static open(e,t,r,n){try{return new jB(t,e.transaction(n,r))}catch(e){throw new WB(t,e)}}constructor(r,e){this.action=r,this.transaction=e,this.aborted=!1,this.Lr=new hB,this.transaction.oncomplete=()=>{this.Lr.resolve()},this.transaction.onabort=()=>{e.error?this.Lr.reject(new WB(r,e.error)):this.Lr.resolve()},this.transaction.onerror=e=>{var t=to(e.target.error);this.Lr.reject(new WB(r,t))}}get $r(){return this.Lr.promise}abort(e){e&&this.Lr.reject(e),this.aborted||(C(KB,"Aborting transaction:",e?e.message:"Client-initiated abort"),this.aborted=!0,this.transaction.abort())}Ur(){var e=this.transaction;this.aborted||"function"!=typeof e.commit||e.commit()}store(e){var t=this.transaction.objectStore(e);return new ZB(t)}}class QB{static delete(e){return C(KB,"Removing database:",e),$B(q().indexedDB.deleteDatabase(e)).toPromise()}static cn(){var e,t,r;return!(!(()=>{try{return"object"==typeof indexedDB}catch(e){}})()||!QB.kr()&&(e=z(),t=0<(t=QB.Qr(e))&&t<10,r=0<(r=zB(e))&&r<4.5,0<e.indexOf("MSIE ")||0<e.indexOf("Trident/")||0<e.indexOf("Edge/")||t||r))}static kr(){return"undefined"!=typeof process&&"YES"===process.__PRIVATE_env?.__PRIVATE_USE_MOCK_PERSISTENCE}static qr(e,t){return e.store(t)}static Qr(e){var t=e.match(/i(?:phone|pad|pod) os ([\d_]+)/i),t=t?t[1].split("_").slice(0,2).join("."):"-1";return Number(t)}constructor(e,t,r){this.name=e,this.version=t,this.Kr=r,this.Wr=null,12.2===QB.Qr(z())&&Jt("Firestore persistence suffers from a bug in iOS 12.2 Safari that may cause your app to stop working. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.")}async Gr(i){return this.db||(C(KB,"Opening database:",this.name),this.db=await new Promise((r,n)=>{let s=indexedDB.open(this.name,this.version);s.onsuccess=e=>{var t=e.target.result;r(t)},s.onblocked=()=>{n(new WB(i,"Cannot upgrade IndexedDB schema while another tab is open. Close all tabs that access Firestore and reload this page to proceed."))},s.onerror=e=>{var t=e.target.error;"VersionError"===t.name?n(new N(T.FAILED_PRECONDITION,"A newer version of the Firestore SDK was previously used and so the persisted data is not compatible with the version of the SDK you are now using. The SDK will operate with persistence disabled. If you need persistence, please re-upgrade to a newer version of the SDK or else clear the persisted IndexedDB data for your app to start fresh.")):"InvalidStateError"===t.name?n(new N(T.FAILED_PRECONDITION,"Unable to open an IndexedDB connection. This could be due to running in a private browsing session on a browser whose private browsing sessions do not support IndexedDB: "+t)):n(new WB(i,t))},s.onupgradeneeded=e=>{C(KB,'Database "'+this.name+'" requires upgrade from version:',e.oldVersion);var t=e.target.result;this.Kr.jr(t,s.transaction,e.oldVersion,this.version).next(()=>{C(KB,"Database upgrade to version "+this.version+" complete")})}})),this.zr&&(this.db.onversionchange=e=>this.zr(e)),this.db}Hr(t){this.zr=t,this.db&&(this.db.onversionchange=e=>t(e))}async runTransaction(r,e,n,s){var i="readonly"===e;let a=0;for(;;){++a;try{this.db=await this.Gr(r);let t=jB.open(this.db,r,i?"readonly":"readwrite",n),e=s(t).next(e=>(t.Ur(),e)).catch(e=>(t.abort(e),O.reject(e))).toPromise();return e.catch(()=>{}),await t.$r,e}catch(r){let e=r,t="FirebaseError"!==e.name&&a<3;if(C(KB,"Transaction failed with error:",e.message,"Retrying:",t),this.close(),!t)return Promise.reject(e)}}}close(){this.db&&this.db.close(),this.db=void 0}}function zB(e){var t=e.match(/Android ([\d.]+)/i),t=t?t[1].split(".").slice(0,2).join("."):"-1";return Number(t)}class YB{constructor(e){this.Jr=e,this.Yr=!1,this.Zr=null}get isDone(){return this.Yr}get Xr(){return this.Zr}set cursor(e){this.Jr=e}done(){this.Yr=!0}ei(e){this.Zr=e}delete(){return $B(this.Jr.delete())}}class WB extends N{constructor(e,t){super(T.UNAVAILABLE,`IndexedDB transaction '${e}' failed: `+t),this.name="IndexedDbTransactionError"}}function XB(e){return"IndexedDbTransactionError"===e.name}class ZB{constructor(e){this.store=e}put(e,t){let r;return $B(r=void 0!==t?(C(KB,"PUT",this.store.name,e,t),this.store.put(t,e)):(C(KB,"PUT",this.store.name,"<auto-key>",e),this.store.put(e)))}add(e){return C(KB,"ADD",this.store.name,e,e),$B(this.store.add(e))}get(t){return $B(this.store.get(t)).next(e=>(void 0===e&&(e=null),C(KB,"GET",this.store.name,t,e),e))}delete(e){return C(KB,"DELETE",this.store.name,e),$B(this.store.delete(e))}count(){return C(KB,"COUNT",this.store.name),$B(this.store.count())}ti(e,t){var n=this.options(e,t),r=n.index?this.store.index(n.index):this.store;if("function"==typeof r.getAll){let e=r.getAll(n.range);return new O((t,r)=>{e.onerror=e=>{r(e.target.error)},e.onsuccess=e=>{t(e.target.result)}})}{let e=this.cursor(n),r=[];return this.ni(e,(e,t)=>{r.push(t)}).next(()=>r)}}ri(e,t){let n=this.store.getAll(e,null===t?void 0:t);return new O((t,r)=>{n.onerror=e=>{r(e.target.error)},n.onsuccess=e=>{t(e.target.result)}})}ii(e,t){C(KB,"DELETE ALL",this.store.name);var r=this.options(e,t),r=(r.si=!1,this.cursor(r));return this.ni(r,(e,t,r)=>r.delete())}_i(e,t){let r;t?r=e:(r={},t=e);var n=this.cursor(r);return this.ni(n,t)}oi(s){let e=this.cursor({});return new O((r,n)=>{e.onerror=e=>{var t=to(e.target.error);n(t)},e.onsuccess=e=>{let t=e.target.result;t?s(t.primaryKey,t.value).next(e=>{e?t.continue():r()}):r()}})}ni(e,i){let a=[];return new O((s,t)=>{e.onerror=e=>{t(e.target.error)},e.onsuccess=e=>{var n=e.target.result;if(n){let t=new YB(n),r=i(n.primaryKey,n.value,t);if(r instanceof O){let e=r.catch(e=>(t.done(),O.reject(e)));a.push(e)}t.isDone?s():null===t.Xr?n.continue():n.continue(t.Xr)}else s()}}).next(()=>O.waitFor(a))}options(e,t){let r;return void 0!==e&&("string"==typeof e?r=e:t=e),{index:r,range:t}}cursor(e){let t="next";var r;return e.reverse&&(t="prev"),e.index?(r=this.store.index(e.index),e.si?r.openKeyCursor(e.range,t):r.openCursor(e.range,t)):this.store.openCursor(e.range,t)}}function $B(e){return new O((r,n)=>{e.onsuccess=e=>{var t=e.target.result;r(t)},e.onerror=e=>{var t=to(e.target.error);n(t)}})}let eo=!1;function to(e){let t=QB.Qr(z());if(12.2<=t&&t<13){let t="An internal error was encountered in the Indexed Database server";if(0<=e.message.indexOf(t)){let e=new N("internal",`IOS_INDEXEDDB_BUG1: IndexedDb has thrown '${t}'. This is likely due to an unavoidable bug in iOS. See https://stackoverflow.com/q/56496296/110915 for details and a potential workaround.`);return eo||(eo=!0,setTimeout(()=>{throw e},0)),e}}return e}let ro="LruGarbageCollector";function no([e,t],[r,n]){var s=b(e,r);return 0===s?b(t,n):s}class so{constructor(e){this.ai=e,this.buffer=new sr(no),this.ui=0}ci(){return++this.ui}li(e){var t=[e,this.ci()];if(this.buffer.size<this.ai)this.buffer=this.buffer.add(t);else{let e=this.buffer.last();no(t,e)<0&&(this.buffer=this.buffer.delete(e).add(t))}}get maxValue(){return this.buffer.last()[0]}}class io{constructor(e,t,r){this.garbageCollector=e,this.asyncQueue=t,this.localStore=r,this.Ei=null}start(){-1!==this.garbageCollector.params.cacheSizeCollectionThreshold&&this.hi(6e4)}stop(){this.Ei&&(this.Ei.cancel(),this.Ei=null)}get started(){return null!==this.Ei}hi(e){C(ro,`Garbage collection scheduled in ${e}ms`),this.Ei=this.asyncQueue.enqueueAfterDelay("lru_garbage_collection",e,async()=>{this.Ei=null;try{await this.localStore.collectGarbage(this.garbageCollector)}catch(e){XB(e)?C(ro,"Ignoring IndexedDB error during garbage collection: ",e):await JB(e)}await this.hi(3e5)})}}class ao{constructor(e,t){this.Ti=e,this.params=t}calculateTargetCount(e,t){return this.Ti.Pi(e).next(e=>Math.floor(t/100*e))}nthSequenceNumber(e,t){if(0===t)return O.resolve(HB.Br);let r=new so(t);return this.Ti.forEachTarget(e,e=>r.li(e.sequenceNumber)).next(()=>this.Ti.Ii(e,e=>r.li(e))).next(()=>r.maxValue)}removeTargets(e,t,r){return this.Ti.removeTargets(e,t,r)}removeOrphanedDocuments(e,t){return this.Ti.removeOrphanedDocuments(e,t)}collect(t,r){return-1===this.params.cacheSizeCollectionThreshold?(C("LruGarbageCollector","Garbage collection skipped; disabled"),O.resolve(MB)):this.getCacheSize(t).next(e=>e<this.params.cacheSizeCollectionThreshold?(C("LruGarbageCollector",`Garbage collection skipped; Cache size ${e} is lower than threshold `+this.params.cacheSizeCollectionThreshold),MB):this.Ri(t,r))}getCacheSize(e){return this.Ti.getCacheSize(e)}Ri(t,r){let n,s,i,a,B,o,u,l=Date.now();return this.calculateTargetCount(t,this.params.percentileToCollect).next(e=>(s=e>this.params.maximumSequenceNumbersToCollect?(C("LruGarbageCollector",`Capping sequence numbers to collect down to the maximum of ${this.params.maximumSequenceNumbersToCollect} from `+e),this.params.maximumSequenceNumbersToCollect):e,a=Date.now(),this.nthSequenceNumber(t,s))).next(e=>(n=e,B=Date.now(),this.removeTargets(t,n,r))).next(e=>(i=e,o=Date.now(),this.removeOrphanedDocuments(t,n))).next(e=>(u=Date.now(),qt()<=h.DEBUG&&C("LruGarbageCollector",`LRU Garbage Collection
	Counted targets in ${a-l}ms
	Determined least recently used ${s} in `+(B-a)+"ms\n"+`	Removed ${i} targets in `+(o-B)+"ms\n"+`	Removed ${e} documents in `+(u-o)+"ms\n"+`Total Duration: ${u-l}ms`),O.resolve({didRun:!0,sequenceNumbersCollected:s,targetsRemoved:i,documentsRemoved:e})))}}function Bo(e,t){return new ao(e,t)}let oo="firestore.googleapis.com";class uo{constructor(e){if(void 0===e.host){if(void 0!==e.ssl)throw new N(T.INVALID_ARGUMENT,"Can't provide ssl option if host option is not set");this.host=oo,this.ssl=!0}else this.host=e.host,this.ssl=e.ssl??!0;if(this.isUsingEmulator=void 0!==e.emulatorOptions,this.credentials=e.credentials,this.ignoreUndefinedProperties=!!e.ignoreUndefinedProperties,this.localCache=e.localCache,e._customHeaders&&(this._customHeaders={...e._customHeaders}),void 0===e.cacheSizeBytes)this.cacheSizeBytes=41943040;else{if(-1!==e.cacheSizeBytes&&e.cacheSizeBytes<1048576)throw new N(T.INVALID_ARGUMENT,"cacheSizeBytes must be at least 1048576");this.cacheSizeBytes=e.cacheSizeBytes}Ir("experimentalForceLongPolling",e.experimentalForceLongPolling,"experimentalAutoDetectLongPolling",e.experimentalAutoDetectLongPolling),this.experimentalForceLongPolling=!!e.experimentalForceLongPolling,this.experimentalForceLongPolling?this.experimentalAutoDetectLongPolling=!1:void 0===e.experimentalAutoDetectLongPolling?this.experimentalAutoDetectLongPolling=!0:this.experimentalAutoDetectLongPolling=!!e.experimentalAutoDetectLongPolling,this.experimentalLongPollingOptions=DB(e.experimentalLongPollingOptions??{});var t=this.experimentalLongPollingOptions;if(void 0!==t.timeoutSeconds){if(isNaN(t.timeoutSeconds))throw new N(T.INVALID_ARGUMENT,`invalid long polling timeout: ${t.timeoutSeconds} (must not be NaN)`);if(t.timeoutSeconds<5)throw new N(T.INVALID_ARGUMENT,`invalid long polling timeout: ${t.timeoutSeconds} (minimum allowed value is 5)`);if(30<t.timeoutSeconds)throw new N(T.INVALID_ARGUMENT,`invalid long polling timeout: ${t.timeoutSeconds} (maximum allowed value is 30)`)}if(this.useFetchStreams=!!e.useFetchStreams,void 0!==e.grpcFlowControlWindow){if("number"!=typeof e.grpcFlowControlWindow||e.grpcFlowControlWindow<=0||2147483647<e.grpcFlowControlWindow||!Number.isInteger(e.grpcFlowControlWindow))throw new N(T.INVALID_ARGUMENT,"grpcFlowControlWindow must be a positive integer and cannot exceed 2147483647");this.grpcFlowControlWindow=e.grpcFlowControlWindow}}isEqual(e){return this.host===e.host&&this.ssl===e.ssl&&this.credentials===e.credentials&&this.cacheSizeBytes===e.cacheSizeBytes&&this.experimentalForceLongPolling===e.experimentalForceLongPolling&&this.experimentalAutoDetectLongPolling===e.experimentalAutoDetectLongPolling&&(t=this.experimentalLongPollingOptions,r=e.experimentalLongPollingOptions,t.timeoutSeconds===r.timeoutSeconds)&&this.ignoreUndefinedProperties===e.ignoreUndefinedProperties&&this.useFetchStreams===e.useFetchStreams&&this.grpcFlowControlWindow===e.grpcFlowControlWindow&&((r,n)=>{if(r!==n){if(!r||!n)return!1;let e=Object.keys(r),t=Object.keys(n);if(e.length!==t.length)return!1;for(let t of e)if(r[t]!==n[t])return!1}return!0})(this._customHeaders,e._customHeaders);var t,r}}let lo=class{constructor(e,t,r,n){this._authCredentials=e,this._appCheckCredentials=t,this._databaseId=r,this._app=n,this.type="firestore-lite",this._persistenceKey="(lite)",this._settings=new uo({}),this._settingsFrozen=!1,this._emulatorOptions={},this._terminateTask="notTerminated"}get app(){if(this._app)return this._app;throw new N(T.FAILED_PRECONDITION,"Firestore was not initialized using the Firebase SDK. 'app' is not available")}get _initialized(){return this._settingsFrozen}get _terminated(){return"notTerminated"!==this._terminateTask}_setSettings(e){if(this._settingsFrozen)throw new N(T.FAILED_PRECONDITION,"Firestore has already been started and its settings can no longer be changed. You can only modify settings before calling any other methods on a Firestore object.");this._settings=new uo(e),this._emulatorOptions=e.emulatorOptions||{},void 0!==e.credentials&&(this._authCredentials=(e=>{if(!e)return new CB;switch(e.type){case"firstParty":return new pB(e.sessionIndex||"0",e.iamToken||null,e.authTokenFactory||null);case"provider":return e.client;default:throw new N(T.INVALID_ARGUMENT,"makeAuthCredentialsProvider failed due to invalid credential type")}})(e.credentials))}_getSettings(){return this._settings}_getEmulatorOptions(){return this._emulatorOptions}_freezeSettings(){return this._settingsFrozen=!0,this._settings}_delete(){return"notTerminated"===this._terminateTask&&(this._terminateTask=this._terminate()),this._terminateTask}async _restart(){"notTerminated"===this._terminateTask?await this._terminate():this._terminateTask="notTerminated"}toJSON(){return{app:this._app,databaseId:this._databaseId,settings:this._settings}}_terminate(){return e=this,(t=PB.get(e))&&(C("ComponentProvider","Removing Datastore"),PB.delete(e),t.terminate()),Promise.resolve();var e,t}};function ho(n,e,t,s={}){n=d(n,lo);let r=ne(e),i=n._getSettings(),a={...i,emulatorOptions:n._getEmulatorOptions()},B=e+":"+t;r&&(async e=>(await fetch(e,{credentials:"include"})).ok)("https://"+B),i.host!==oo&&i.host!==B&&Kt("Host has been set in both settings() and connectFirestoreEmulator(), emulator host will be used.");var o={...i,host:B,ssl:r,emulatorOptions:s};if(!ee(o,a)&&(n._setSettings(o),s.mockUserToken)){let t,r;if("string"==typeof s.mockUserToken)t=s.mockUserToken,r=lB.MOCK_USER;else{t=((e,t)=>{if(e.uid)throw new Error('The "uid" field is no longer supported by mockUserToken. Please use "sub" instead for Firebase Auth User ID.');var r=t||"demo-project",n=e.iat||0,s=e.sub||e.user_id;if(s)return r={iss:"https://securetoken.google.com/"+r,aud:r,iat:n,exp:n+3600,auth_time:n,sub:s,user_id:s,firebase:{sign_in_provider:"custom",identities:{}},...e},[H(JSON.stringify({alg:"none",type:"JWT"})),H(JSON.stringify(r)),""].join(".");throw new Error("mockUserToken must contain 'sub' or 'user_id' field!")})(s.mockUserToken,n._app?.options.projectId);let e=s.mockUserToken.sub||s.mockUserToken.user_id;if(!e)throw new N(T.INVALID_ARGUMENT,"mockUserToken must contain 'sub' or 'user_id' field!");r=new lB(e)}n._authCredentials=new dB(new cB(t,r))}}let co=class bm{constructor(e,t,r){this.converter=t,this._query=r,this.type="query",this.firestore=e}withConverter(e){return new bm(this.firestore,e,this._query)}};class Co{constructor(e,t,r){this.converter=t,this._key=r,this.type="document",this.firestore=e}get _path(){return this._key.path}get id(){return this._key.path.lastSegment()}get path(){return this._key.path.canonicalString()}get parent(){return new fo(this.firestore,this.converter,this._key.path.popLast())}withConverter(e){return new Co(this.firestore,e,this._key)}toJSON(){return{type:Co._jsonSchemaVersion,referencePath:this._key.toString()}}static fromJSON(e,t,r){if(Sr(t,Co._jsonSchema))return new Co(e,r||null,new x(A.fromString(t.referencePath)))}}Co._jsonSchemaVersion="firestore/documentReference/1.0",Co._jsonSchema={type:Fr("string",Co._jsonSchemaVersion),referencePath:Fr("string")};class fo extends co{constructor(e,t,r){super(e,t,Fi(r)),this._path=r,this.type="collection"}get id(){return this._query.path.lastSegment()}get path(){return this._query.path.canonicalString()}get parent(){var e=this._path.popLast();return e.isEmpty()?null:new Co(this.firestore,null,new x(e))}withConverter(e){return new fo(this.firestore,e,this._path)}}function go(e,t,...r){var n;if(e=re(e),_r("collection","path",t),e instanceof lo)return Tr(n=A.fromString(t,...r)),new fo(e,null,n);if(e instanceof Co||e instanceof fo)return Tr(n=e._path.child(A.fromString(t,...r))),new fo(e.firestore,null,n);throw new N(T.INVALID_ARGUMENT,"Expected first argument to collection() to be a CollectionReference, a DocumentReference or FirebaseFirestore")}function po(e,t,...r){var n;if(e=re(e),_r("doc","path",t=1===arguments.length?zt.newId():t),e instanceof lo)return br(n=A.fromString(t,...r)),new Co(e,null,new x(n));if(e instanceof Co||e instanceof fo)return br(n=e._path.child(A.fromString(t,...r))),new Co(e.firestore,e instanceof fo?e.converter:null,new x(n));throw new N(T.INVALID_ARGUMENT,"Expected first argument to doc() to be a CollectionReference, a DocumentReference or FirebaseFirestore")}function mo(e,t){return e=re(e),t=re(t),(e instanceof Co||e instanceof fo)&&(t instanceof Co||t instanceof fo)&&e.firestore===t.firestore&&e.path===t.path&&e.converter===t.converter}function Eo(e,t){return e=re(e),t=re(t),e instanceof co&&t instanceof co&&e.firestore===t.firestore&&Pi(e._query,t._query)&&e.converter===t.converter}class Do{constructor(e,t){this.pattern=e,this.options=t}isEqual(e){return this.pattern===e.pattern&&this.options===e.options}}class vo{constructor(e){this._values=(e||[]).map(e=>e)}toArray(){return this._values.map(e=>e)}isEqual(e){var t=this._values,r=e._values;if(t.length!==r.length)return!1;for(let n=0;n<t.length;++n)if(t[n]!==r[n])return!1;return!0}toJSON(){return{type:vo._jsonSchemaVersion,vectorValues:this._values}}static fromJSON(e){if(Sr(e,vo._jsonSchema)){if(Array.isArray(e.vectorValues)&&e.vectorValues.every(e=>"number"==typeof e))return new vo(e.vectorValues);throw new N(T.INVALID_ARGUMENT,"Expected 'vectorValues' field to be a number array")}}}vo._jsonSchemaVersion="firestore/vectorValue/1.0",vo._jsonSchema={type:Fr("string",vo._jsonSchemaVersion),vectorValues:Fr("object")};let wo=/^__.*__$/;class yo{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return null!==this.fieldMask?new Gs(e,this.data,this.fieldMask,t,this.fieldTransforms):new ks(e,this.data,t,this.fieldTransforms)}}class _o{constructor(e,t,r){this.data=e,this.fieldMask=t,this.fieldTransforms=r}toMutation(e,t){return new Gs(e,this.data,this.fieldMask,t,this.fieldTransforms)}}function Io(e){switch(e){case 0:case 2:case 1:return 1;case 3:case 4:return;default:throw w(40011,{dataSource:e})}}class bo{constructor(e,t,r,n,s,i){this.settings=e,this.databaseId=t,this.serializer=r,this.ignoreUndefinedProperties=n,void 0===s&&this.validatePath(),this.fieldTransforms=s||[],this.fieldMask=i||[]}get path(){return this.settings.path}get dataSource(){return this.settings.dataSource}contextWith(e){return new bo({...this.settings,...e},this.databaseId,this.serializer,this.ignoreUndefinedProperties,this.fieldTransforms,this.fieldMask)}childContextForField(e){var t=this.path?.child(e),t=this.contextWith({path:t,arrayElement:!1});return t.validatePathSegment(e),t}childContextForFieldPath(e){var t=this.path?.child(e),t=this.contextWith({path:t,arrayElement:!1});return t.validatePath(),t}childContextForArray(e){return this.contextWith({path:void 0,arrayElement:!0})}createError(e){return Qo(e,this.settings.methodName,this.settings.hasConverter||!1,this.path,this.settings.targetDoc)}contains(t){return void 0!==this.fieldMask.find(e=>t.isPrefixOf(e))||void 0!==this.fieldTransforms.find(e=>t.isPrefixOf(e.field))}validatePath(){if(this.path)for(let e=0;e<this.path.length;e++)this.validatePathSegment(this.path.get(e))}validatePathSegment(e){if(0===e.length)throw this.createError("Document fields must not be empty");if(Io(this.dataSource)&&wo.test(e))throw this.createError('Document fields cannot begin and end with "__"')}}class To{constructor(e,t,r){this.databaseId=e,this.ignoreUndefinedProperties=t,this.serializer=r||$a(e)}createContext(e,t,r,n=!1){return new bo({dataSource:e,methodName:t,targetDoc:r,path:Er.emptyPath(),arrayElement:!1,hasConverter:n},this.databaseId,this.serializer,this.ignoreUndefinedProperties)}}function No(e){var t=e._freezeSettings(),r=$a(e._databaseId);return new To(e._databaseId,!!t.ignoreUndefinedProperties,r)}function Ao(e,n,s,t,r,i={}){var a=e.createContext(i.merge||i.mergeFields?2:0,n,s,r),B=(qo("Data must be an object, but it was:",a,t),Vo(t,a));let o,u;if(i.merge)o=new Dr(a.fieldMask),u=a.fieldTransforms;else if(i.mergeFields){let t=[];for(let r of i.mergeFields){let e=Jo(n,r,s);if(!a.contains(e))throw new N(T.INVALID_ARGUMENT,`Field '${e}' is specified in your field mask but missing from your input data.`);zo(t,e)||t.push(e)}o=new Dr(t),u=a.fieldTransforms.filter(e=>o.covers(e.field))}else o=null,u=a.fieldTransforms;return new yo(new hs(B),o,u)}class xo extends iB{_toFieldTransform(e){if(2!==e.dataSource)throw 1===e.dataSource?e.createError(this._methodName+"() can only appear at the top level of your update data"):e.createError(this._methodName+"() cannot be used with set() unless you pass {merge:true}");return e.fieldMask.push(e.path),null}isEqual(e){return e instanceof xo}}function Fo(e,t,r){return new bo({dataSource:3,targetDoc:t.settings.targetDoc,methodName:e._methodName,arrayElement:r},t.databaseId,t.serializer,t.ignoreUndefinedProperties)}class So extends iB{_toFieldTransform(e){return new Ns(e.path,new ps)}isEqual(e){return e instanceof So}}class Oo extends iB{constructor(e,t){super(e),this.Ai=t}_toFieldTransform(e){let t=Fo(this,e,!0),r=this.Ai.map(e=>Mo(e,t)),n=new ms(r);return new Ns(e.path,n)}isEqual(e){return e instanceof Oo&&ee(this.Ai,e.Ai)}}class Lo extends iB{constructor(e,t){super(e),this.Ai=t}_toFieldTransform(e){let t=Fo(this,e,!0),r=this.Ai.map(e=>Mo(e,t)),n=new Ds(r);return new Ns(e.path,n)}isEqual(e){return e instanceof Lo&&ee(this.Ai,e.Ai)}}class Ro extends iB{constructor(e,t){super(e),this.Vi=t}_toFieldTransform(e){var t=new ys(e.serializer,ds(e.serializer,this.Vi));return new Ns(e.path,t)}isEqual(e){return e instanceof Ro&&(this.Vi===e.Vi||Number.isNaN(this.Vi)&&Number.isNaN(e.Vi))}}function ko(e,s,i,t){let a=e.createContext(1,s,i),B=(qo("Data must be an object, but it was:",a,t),[]),o=hs.empty();wr(t,(e,t)=>{var r=jo(s,e,i),n=(t=re(t),a.childContextForFieldPath(r));if(t instanceof xo)B.push(r);else{let e=Mo(t,n);null!=e&&(B.push(r),o.set(r,e))}});var r=new Dr(B);return new _o(o,r,a.fieldTransforms)}function Go(e,t,r,n,s,i){var a=e.createContext(1,t,r),B=[Jo(t,n,r)],o=[s];if(i.length%2!=0)throw new N(T.INVALID_ARGUMENT,`Function ${t}() needs to be called with an even number of arguments that alternate between field names and values.`);for(let C=0;C<i.length;C+=2)B.push(Jo(t,i[C])),o.push(i[C+1]);var u=[],l=hs.empty();for(let d=B.length-1;0<=d;--d)if(!zo(u,B[d])){let t=B[d];var h=re(o[d]);let r=a.childContextForFieldPath(t);if(h instanceof xo)u.push(t);else{let e=Mo(h,r);null!=e&&(u.push(t),l.set(t,e))}}var c=new Dr(u);return new _o(l,c,a.fieldTransforms)}function Po(e,t,r,n=!1){return Mo(r,e.createContext(n?4:3,t))}function Mo(e,r){if(Uo(e=re(e)))return qo("Unsupported field value:",r,e),Vo(e,r);if(e instanceof iB){{var n=e;var s=r;if(!Io(s.dataSource))throw s.createError(n._methodName+"() can only be used with update() and set()");if(!s.path)throw s.createError(n._methodName+"() is not currently supported inside arrays");var t=n._toFieldTransform(s);t&&s.fieldTransforms.push(t)}return null}if(void 0===e&&r.ignoreUndefinedProperties)return null;if(r.path&&r.fieldMask.push(r.path),e instanceof Array){if(r.settings.arrayElement&&4!==r.dataSource)throw r.createError("Nested arrays are not supported");{var i,a=r,B=[];let t=0;for(i of e){let e=Mo(i,a.childContextForArray(t));null==e&&(e={nullValue:"NULL_VALUE"}),B.push(e),t++}return{arrayValue:{values:B}}}}var o,u,l,h,c,C,n=e,s=r;if(null===(n=re(n)))return{nullValue:"NULL_VALUE"};if("number"==typeof n)return ds(s.serializer,n);if("boolean"==typeof n)return{booleanValue:n};if("string"==typeof n)return{stringValue:n};if(n instanceof Date){let e=g.fromDate(n);return{timestampValue:va(s.serializer,e)}}if(n instanceof g){let e=new g(n.seconds,1e3*Math.floor(n.nanoseconds/1e3));return{timestampValue:va(s.serializer,e)}}if(Ho(n)){let e=g.fromInstant(n),t=new g(e.seconds,1e3*Math.floor(e.nanoseconds/1e3));return{timestampValue:va(s.serializer,t)}}if(n instanceof aB)return{geoPointValue:{latitude:n.latitude,longitude:n.longitude}};if(n instanceof rB)return 0===n.subtype?{bytesValue:ya(s.serializer,n._byteString)}:(h=s.serializer,l=(o=n).toUint8Array(),(t=new Uint8Array(l.length+1))[0]=o.subtype,t.set(l,1),{mapValue:{fields:{[gn]:{bytesValue:ya(h,Rr.fromUint8Array(t))}}}});if(n instanceof Co){let e=s.databaseId,t=n.firestore._databaseId;if(t.isEqual(e))return{referenceValue:ba(n.firestore._databaseId||s.databaseId,n._key.path)};throw s.createError(`Document reference is for database ${t.projectId}/${t.database} but should be for database ${e.projectId}/`+e.database)}if(n instanceof vo)return u=s,l=(o=n)instanceof vo?o.toArray():o,{mapValue:{fields:{[tn]:{stringValue:rn},[nn]:{arrayValue:{values:l.map(e=>{if("number"!=typeof e)throw u.createError("VectorValues must only contain numeric values.");return cs(u.serializer,e)})}}}}};if(n instanceof Do)return h=n,{mapValue:{fields:{[Bn]:{mapValue:{fields:{[on]:{stringValue:h.pattern},[un]:{stringValue:h.options}}}}}}};if(n instanceof eB)return c=n,{mapValue:{fields:{[ln]:{stringValue:c.value}}}};if(n instanceof BB)return c=n,{mapValue:{fields:{[hn]:Cs(c.value)}}};if(n instanceof nB)return C=n,{mapValue:{fields:{[cn]:{stringValue:C.stringValue}}}};if(n instanceof tB)return C=n,{mapValue:{fields:{[Cn]:{mapValue:{fields:{[dn]:Cs(C.seconds),[fn]:Cs(C.increment)}}}}}};if(n instanceof uB)return{mapValue:{fields:{[sn]:{nullValue:"NULL_VALUE"}}}};if(n instanceof oB)return{mapValue:{fields:{[an]:{nullValue:"NULL_VALUE"}}}};if(Wa(n))return n._toProto(s.serializer);throw s.createError("Unsupported field value: "+Ar(n))}function Vo(e,n){let s={};return yr(e)?n.path&&0<n.path.length&&n.fieldMask.push(n.path):wr(e,(e,t)=>{var r=Mo(t,n.childContextForField(e));null!=r&&(s[e]=r)}),{mapValue:{fields:s}}}function Ho(e){return"object"==typeof e&&null!==e&&("undefined"!=typeof Temporal&&"function"==typeof Temporal.Instant&&e instanceof Temporal.Instant||"Temporal.Instant"===e[Symbol.toStringTag]&&"bigint"==typeof e.t)}function Uo(e){return!("object"!=typeof e||null===e||e instanceof Array||e instanceof Date||e instanceof g||e instanceof aB||e instanceof rB||e instanceof Co||e instanceof iB||e instanceof vo||e instanceof uB||e instanceof oB||e instanceof BB||e instanceof nB||e instanceof Do||e instanceof eB||e instanceof tB||Ho(e)||Wa(e))}function qo(e,t,r){var n;if(!Uo(r)||!Nr(r))throw"an object"===(n=Ar(r))?t.createError(e+" a custom object"):t.createError(e+" "+n)}function Jo(e,t,r){if((t=re(t))instanceof sB)return t._internalPath;if("string"==typeof t)return jo(e,t);throw Qo("Field path arguments must be of type string or ",e,!1,void 0,r)}let Ko=new RegExp("[~\\*/\\[\\]]");function jo(t,r,n){if(0<=r.search(Ko))throw Qo(`Invalid field path (${r}). Paths must not contain '~', '*', '/', '[', or ']'`,t,!1,void 0,n);try{return new sB(...r.split("."))._internalPath}catch(e){throw Qo(`Invalid field path (${r}). Paths must not be empty, begin with '.', end with '.', or contain '..'`,t,!1,void 0,n)}}function Qo(e,t,r,n,s){var i=n&&!n.isEmpty(),a=void 0!==s;let B=`Function ${t}() called with invalid data`,o=(r&&(B+=" (via `toFirestore()`)"),B+=". ","");return(i||a)&&(o+=" (found",i&&(o+=" in field "+n),a&&(o+=" in document "+s),o+=")"),new N(T.INVALID_ARGUMENT,B+e+o)}function zo(e,t){return e.some(e=>e.isEqual(t))}function Yo(e){return"function"==typeof e._readUserData}class Wo{constructor(e){this.optionDefinitions=e}_getKnownOptions(t,r){var n,s=hs.empty();for(n in this.optionDefinitions)if(this.optionDefinitions.hasOwnProperty(n)){var i=this.optionDefinitions[n];if(n in t){var a=t[n];let e;i.nestedOptions&&Nr(a)?e={mapValue:{fields:new Wo(i.nestedOptions).getOptionsProto(r,a)}}:a&&(e=Mo(a,r)??void 0),e&&s.set(Er.fromServerFormat(i.serverName),e)}}return s}getOptionsProto(r,e,t){var n=this._getKnownOptions(e,r);if(t){let e=new Map(((e,t)=>{var r,n=[];for(r in e)Object.prototype.hasOwnProperty.call(e,r)&&n.push(t(e[r],r,e));return n})(t,(e,t)=>[Er.fromServerFormat(t),void 0!==e?Mo(e,r):null]));n.setAll(e)}return n.value.mapValue.fields??{}}}function i(e){return e instanceof $o?e:Nr(e)?(e=>{var t,r=[];for(let n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t=e[n],r.push(Bu(n)),r.push(i(t)));return new o("map",r,"map")})(e):e instanceof Array?((e,t)=>new o("array",e.map(e=>i(e)),t))(e,"array"):ou(e,void 0)}function Xo(e){if(e instanceof $o)return e;if(e instanceof vo)return Bu(e);if(Array.isArray(e))return Bu((t=e,new vo(t)));var t;throw new Error("Unsupported value: "+typeof e)}function Zo(e){return(en(e)?iu:i)(e)}class $o{constructor(){this._protoValueType="ProtoValue"}add(e){return new o("add",[this,i(e)],"add")}asBoolean(){if(this instanceof uu)return this;if(this instanceof au)return new hu(this);if(this instanceof su)return new cu(this);if(this instanceof o)return new lu(this);throw new N("invalid-argument",`Conversion of type ${typeof this} to BooleanExpression not supported.`)}subtract(e){return new o("subtract",[this,i(e)],"subtract")}multiply(e){return new o("multiply",[this,i(e)],"multiply")}divide(e){return new o("divide",[this,i(e)],"divide")}mod(e){return new o("mod",[this,i(e)],"mod")}equal(e){return new o("equal",[this,i(e)],"equal").asBoolean()}notEqual(e){return new o("not_equal",[this,i(e)],"notEqual").asBoolean()}lessThan(e){return new o("less_than",[this,i(e)],"lessThan").asBoolean()}lessThanOrEqual(e){return new o("less_than_or_equal",[this,i(e)],"lessThanOrEqual").asBoolean()}greaterThan(e){return new o("greater_than",[this,i(e)],"greaterThan").asBoolean()}greaterThanOrEqual(e){return new o("greater_than_or_equal",[this,i(e)],"greaterThanOrEqual").asBoolean()}arrayConcat(e,...t){var r=[e,...t].map(e=>i(e));return new o("array_concat",[this,...r],"arrayConcat")}arrayContains(e){return new o("array_contains",[this,i(e)],"arrayContains").asBoolean()}arrayContainsAll(e){var t=Array.isArray(e)?new nu(e.map(i),"arrayContainsAll"):e;return new o("array_contains_all",[this,t],"arrayContainsAll").asBoolean()}arrayContainsAny(e){var t=Array.isArray(e)?new nu(e.map(i),"arrayContainsAny"):e;return new o("array_contains_any",[this,t],"arrayContainsAny").asBoolean()}arrayReverse(){return new o("array_reverse",[this])}arrayLength(){return new o("array_length",[this],"arrayLength")}equalAny(e){var t=Array.isArray(e)?new nu(e.map(i),"equalAny"):e;return new o("equal_any",[this,t],"equalAny").asBoolean()}notEqualAny(e){var t=Array.isArray(e)?new nu(e.map(i),"notEqualAny"):e;return new o("not_equal_any",[this,t],"notEqualAny").asBoolean()}exists(){return new o("exists",[this],"exists").asBoolean()}charLength(){return new o("char_length",[this],"charLength")}like(e){return new o("like",[this,i(e)],"like").asBoolean()}regexContains(e){return new o("regex_contains",[this,i(e)],"regexContains").asBoolean()}regexFind(e){return new o("regex_find",[this,i(e)],"regexFind")}regexFindAll(e){return new o("regex_find_all",[this,i(e)],"regexFindAll")}regexMatch(e){return new o("regex_match",[this,i(e)],"regexMatch").asBoolean()}stringContains(e){return new o("string_contains",[this,i(e)],"stringContains").asBoolean()}startsWith(e){return new o("starts_with",[this,i(e)],"startsWith").asBoolean()}endsWith(e){return new o("ends_with",[this,i(e)],"endsWith").asBoolean()}toLower(){return new o("to_lower",[this],"toLower")}toUpper(){return new o("to_upper",[this],"toUpper")}trim(e){var t=[this];return e&&t.push(i(e)),new o("trim",t,"trim")}ltrim(e){var t=[this];return e&&t.push(i(e)),new o("ltrim",t,"ltrim")}rtrim(e){var t=[this];return e&&t.push(i(e)),new o("rtrim",t,"rtrim")}type(){return new o("type",[this])}isType(e){return new o("is_type",[this,Bu(e)],"isType").asBoolean()}stringConcat(e,...t){var r=[e,...t].map(i);return new o("string_concat",[this,...r],"stringConcat")}stringIndexOf(e){return new o("string_index_of",[this,i(e)],"stringIndexOf")}stringRepeat(e){return new o("string_repeat",[this,i(e)],"stringRepeat")}stringReplaceAll(e,t){return new o("string_replace_all",[this,i(e),i(t)],"stringReplaceAll")}stringReplaceOne(e,t){return new o("string_replace_one",[this,i(e),i(t)],"stringReplaceOne")}concat(e,...t){var r=[e,...t].map(i);return new o("concat",[this,...r],"concat")}reverse(){return new o("reverse",[this],"reverse")}arrayFilter(e,t){return new o("array_filter",[this,i(e),t],"arrayFilter")}arrayTransform(e,t){return new o("array_transform",[this,i(e),t],"arrayTransform")}arrayTransformWithIndex(e,t,r){return new o("array_transform",[this,i(e),i(t),r],"arrayTransformWithIndex")}arraySlice(e,t){var r=[this,i(e)];return void 0!==t&&r.push(i(t)),new o("array_slice",r,"arraySlice")}arrayFirst(){return new o("array_first",[this],"arrayFirst")}arrayFirstN(e){return new o("array_first_n",[this,i(e)],"arrayFirstN")}arrayLast(){return new o("array_last",[this],"arrayLast")}arrayLastN(e){return new o("array_last_n",[this,i(e)],"arrayLastN")}arrayMaximum(){return new o("maximum",[this],"arrayMaximum")}arrayMaximumN(e){return new o("maximum_n",[this,i(e)],"arrayMaximumN")}arrayMinimum(){return new o("minimum",[this],"arrayMinimum")}arrayMinimumN(e){return new o("minimum_n",[this,i(e)],"arrayMinimumN")}arrayIndexOf(e){return new o("array_index_of",[this,i(e),i("first")],"arrayIndexOf")}arrayLastIndexOf(e){return new o("array_index_of",[this,i(e),i("last")],"arrayLastIndexOf")}arrayIndexOfAll(e){return new o("array_index_of_all",[this,i(e)],"arrayIndexOfAll")}byteLength(){return new o("byte_length",[this],"byteLength")}ceil(){return new o("ceil",[this])}floor(){return new o("floor",[this])}abs(){return new o("abs",[this])}exp(){return new o("exp",[this])}mapGet(e){return new o("map_get",[this,Bu(e)],"mapGet")}mapSet(e,t,...r){var n=[this,i(e),i(t),...r.map(i)];return new o("map_set",n,"mapSet")}mapKeys(){return new o("map_keys",[this],"mapKeys")}mapValues(){return new o("map_values",[this],"mapValues")}mapEntries(){return new o("map_entries",[this],"mapEntries")}getField(e){return new o("get_field",[this,i(e)],"get_field")}count(){return eu._create("count",[this],"count")}sum(){return eu._create("sum",[this],"sum")}average(){return eu._create("average",[this],"average")}minimum(){return eu._create("minimum",[this],"minimum")}maximum(){return eu._create("maximum",[this],"maximum")}first(){return eu._create("first",[this],"first")}last(){return eu._create("last",[this],"last")}arrayAgg(){return eu._create("array_agg",[this],"arrayAgg")}arrayAggDistinct(){return eu._create("array_agg_distinct",[this],"arrayAggDistinct")}countDistinct(){return eu._create("count_distinct",[this],"countDistinct")}logicalMaximum(e,...t){var r=[e,...t];return new o("maximum",[this,...r.map(i)],"logicalMaximum")}logicalMinimum(e,...t){var r=[e,...t];return new o("minimum",[this,...r.map(i)],"minimum")}vectorLength(){return new o("vector_length",[this],"vectorLength")}cosineDistance(e){return new o("cosine_distance",[this,Xo(e)],"cosineDistance")}dotProduct(e){return new o("dot_product",[this,Xo(e)],"dotProduct")}euclideanDistance(e){return new o("euclidean_distance",[this,Xo(e)],"euclideanDistance")}unixMicrosToTimestamp(){return new o("unix_micros_to_timestamp",[this],"unixMicrosToTimestamp")}timestampToUnixMicros(){return new o("timestamp_to_unix_micros",[this],"timestampToUnixMicros")}unixMillisToTimestamp(){return new o("unix_millis_to_timestamp",[this],"unixMillisToTimestamp")}timestampToUnixMillis(){return new o("timestamp_to_unix_millis",[this],"timestampToUnixMillis")}unixSecondsToTimestamp(){return new o("unix_seconds_to_timestamp",[this],"unixSecondsToTimestamp")}timestampToUnixSeconds(){return new o("timestamp_to_unix_seconds",[this],"timestampToUnixSeconds")}timestampAdd(e,t){return new o("timestamp_add",[this,i(e),i(t)],"timestampAdd")}timestampSubtract(e,t){return new o("timestamp_subtract",[this,i(e),i(t)],"timestampSubtract")}timestampDiff(e,t){return new o("timestamp_diff",[this,Zo(e),i(t)],"timestampDiff")}timestampExtract(e,t){var r=[this,i(e)];return t&&r.push(i(t)),new o("timestamp_extract",r,"timestampExtract")}documentId(){return new o("document_id",[this],"documentId")}parent(){return new o("parent",[this],"parent")}substring(e,t){var r=i(e);return new o("substring",void 0===t?[this,r]:[this,r,i(t)],"substring")}arrayGet(e){return new o("array_get",[this,i(e)],"arrayGet")}isError(){return new o("is_error",[this],"isError").asBoolean()}ifError(e){var t=new o("if_error",[this,i(e)],"ifError");return e instanceof uu?t.asBoolean():t}isAbsent(){return new o("is_absent",[this],"isAbsent").asBoolean()}mapRemove(e){return new o("map_remove",[this,i(e)],"mapRemove")}mapMerge(e,...t){var r=i(e),n=t.map(i);return new o("map_merge",[this,r,...n],"mapMerge")}pow(e){return new o("pow",[this,i(e)])}trunc(e){return void 0===e?new o("trunc",[this]):new o("trunc",[this,i(e)],"trunc")}round(e){return void 0===e?new o("round",[this]):new o("round",[this,i(e)],"round")}collectionId(){return new o("collection_id",[this])}length(){return new o("length",[this])}ln(){return new o("ln",[this])}sqrt(){return new o("sqrt",[this])}stringReverse(){return new o("string_reverse",[this])}ifAbsent(e){return new o("if_absent",[this,i(e)],"ifAbsent")}ifNull(e){return new o("if_null",[this,i(e)],"ifNull")}coalesce(e,...t){return new o("coalesce",[this,i(e),...t.map(i)],"coalesce")}join(e){return new o("join",[this,i(e)],"join")}log10(){return new o("log10",[this])}arraySum(){return new o("sum",[this])}split(e){return new o("split",[this,i(e)])}timestampTruncate(e,t){var r=[this,i(e)];return t&&r.push(i(t)),new o("timestamp_trunc",r)}ascending(){return new Cu(Zo(this),"ascending","ascending")}descending(){return new Cu(Zo(this),"descending","descending")}as(e){return new ru(this,e,"as")}}class eu{constructor(e,t){this.name=e,this.params=t,this.exprType="AggregateFunction",this._protoValueType="ProtoValue"}static _create(e,t,r){var n=new eu(e,t);return n._methodName=r,n}as(e){return new tu(this,e,"as")}over(e){return new gu(this.name,this.params,new fu(e),"over")}_toProto(t){return{functionValue:{name:this.name,args:this.params.map(e=>e._toProto(t))}}}_readUserData(t){t=this._methodName?t.contextWith({methodName:this._methodName}):t,this.params.forEach(e=>e._readUserData(t))}}class tu{constructor(e,t,r){this.aggregate=e,this.alias=t,this._methodName=r}_readUserData(e){this.aggregate._readUserData(e)}}class ru{constructor(e,t,r){this.expr=e,this.alias=t,this._methodName=r,this.exprType="AliasedExpression",this.selectable=!0}_readUserData(e){this.expr._readUserData(e)}}class nu extends $o{constructor(e,t){super(),this.di=e,this._methodName=t,this.expressionType="ListOfExpressions"}_toProto(t){return{arrayValue:{values:this.di.map(e=>e._toProto(t))}}}_readUserData(t){this.di.forEach(e=>e._readUserData(t))}}class su extends $o{constructor(e,t){super(),this.fieldPath=e,this._methodName=t,this.expressionType="Field",this.selectable=!0}get _fieldPath(){return this.fieldPath}get fieldName(){return this.fieldPath.canonicalString()}get alias(){return this.fieldName}get expr(){return this}geoDistance(e){return new o("geo_distance",[this,i(e)],"geoDistance")}_toProto(e){return{fieldReferenceValue:this.fieldPath.canonicalString()}}_readUserData(e){}}function iu(e){return e=e,t="field",new su("string"==typeof e?gr===e?new sB(gr)._internalPath:Jo("field",e):e._internalPath,t);var t}class au extends $o{constructor(e,t){super(),this.value=e,this._methodName=t,this.expressionType="Constant"}static _fromProto(e){var t=new au(e,void 0);return t._protoValue=e,t}_toProto(e){return p(void 0!==this._protoValue,237),this._protoValue}_getValue(){return this._protoValue}_readUserData(e){var t,r,n,s;e=this._methodName?e.contextWith({methodName:this._methodName}):e,"object"==typeof(t=this._protoValue)&&null!==t&&("nullValue"in t&&(null===t.nullValue||"NULL_VALUE"===t.nullValue)||"booleanValue"in t&&(null===t.booleanValue||"boolean"==typeof t.booleanValue)||"integerValue"in t&&(null===t.integerValue||"number"==typeof t.integerValue||"string"==typeof t.integerValue)||"doubleValue"in t&&(null===t.doubleValue||"number"==typeof t.doubleValue)||"timestampValue"in t&&(null===t.timestampValue||"object"==typeof(s=t.timestampValue)&&null!==s&&"seconds"in s&&(null===s.seconds||"number"==typeof s.seconds||"string"==typeof s.seconds)&&"nanos"in s&&(null===s.nanos||"number"==typeof s.nanos))||"stringValue"in t&&(null===t.stringValue||"string"==typeof t.stringValue)||"bytesValue"in t&&(null===t.bytesValue||t.bytesValue instanceof Uint8Array)||"referenceValue"in t&&(null===t.referenceValue||"string"==typeof t.referenceValue)||"geoPointValue"in t&&(null===t.geoPointValue||"object"==typeof(s=t.geoPointValue)&&null!==s&&"latitude"in s&&(null===s.latitude||"number"==typeof s.latitude)&&"longitude"in s&&(null===s.longitude||"number"==typeof s.longitude))||"arrayValue"in t&&(null===t.arrayValue||"object"==typeof(n=t.arrayValue)&&null!==n&&"values"in n&&(null===n.values||Array.isArray(n.values)))||"mapValue"in t&&(null===t.mapValue||"object"==typeof(n=t.mapValue)&&null!==n&&"fields"in n&&(null===n.fields||Nr(n.fields)))||"fieldReferenceValue"in t&&(null===t.fieldReferenceValue||"string"==typeof t.fieldReferenceValue)||"functionValue"in t&&(null===t.functionValue||"object"==typeof(r=t.functionValue)&&null!==r&&"name"in r&&(null===r.name||"string"==typeof r.name)&&"args"in r&&(null===r.args||Array.isArray(r.args)))||"pipelineValue"in t&&(null===t.pipelineValue||"object"==typeof(r=t.pipelineValue)&&null!==r&&"stages"in r&&(null===r.stages||Array.isArray(r.stages))))||(this._protoValue=Mo(this.value,e))}}function Bu(e){return ou(e,"constant")}function ou(e,t){var r=new au(e,t);return"boolean"==typeof e?new hu(r):r}class o extends $o{constructor(e,t,r,n){super(),this.name=e,this.params=t,this.expressionType="Function",(this._optionsProto=void 0)!==r&&(this._methodName=r),void 0!==n&&(this._options=n)}get _optionsUtil(){return new Wo({})}_toProto(t){var e={functionValue:{name:this.name,args:this.params.map(e=>e._toProto(t))}};return this._optionsProto&&(e.functionValue.options=this._optionsProto),e}_readUserData(t){t=this._methodName?t.contextWith({methodName:this._methodName}):t,this.params.forEach(e=>e._readUserData(t)),this._options&&(this._optionsProto=this._optionsUtil.getOptionsProto(t,this._options))}}class uu extends $o{get _methodName(){return this._expr._methodName}countIf(){return eu._create("count_if",[this],"countIf")}not(){return new o("not",[this],"not").asBoolean()}conditional(e,t){return new o("conditional",[this,e,t],"conditional")}ifError(e){var t=i(e),r=new o("if_error",[this,t],"ifError");return t instanceof uu?r.asBoolean():r}_toProto(e){return this._expr._toProto(e)}_readUserData(e){this._expr._readUserData(e)}}class lu extends uu{constructor(e){super(),this._expr=e,this.expressionType="Function"}}class hu extends uu{constructor(e){super(),this._expr=e,this.expressionType="Constant"}_getValue(){return this._expr._getValue()}}class cu extends uu{constructor(e){super(),this._expr=e,this.expressionType="Field"}}class Cu{constructor(e,t,r){this.expr=e,this.direction=t,this._methodName=r,this._protoValueType="ProtoValue"}_toProto(e){return{mapValue:{fields:{direction:Za(this.direction),expression:this.expr._toProto(e)}}}}_readUserData(e){this.expr._readUserData(e)}}function du(e){return e instanceof $o}class fu{constructor(e){this._protoValueType="ProtoValue";var t=e.sort;this.partition=(e.partition??[]).map(Zo),this.sort=void 0===t?[]:Array.isArray(t)?t:[t],this.documents=e.documents,this.range=e.range}_toProto(t){var e={};return 0<this.partition.length&&(e.partition={arrayValue:{values:this.partition.map(e=>e._toProto(t))}}),0<this.sort.length&&(e.sort={arrayValue:{values:this.sort.map(e=>e._toProto(t))}}),void 0!==this.documents&&(e.documents=this.frameToProto(t,this.documents)),void 0!==this.range&&(e.range=this.frameToProto(t,this.range)),{mapValue:{fields:e}}}_readUserData(t){this.partition.forEach(e=>e._readUserData(t)),this.sort.forEach(e=>e._readUserData(t));for(var e of[this.documents,this.range])void 0!==e&&(du(e.preceding)&&e.preceding._readUserData(t),du(e.following)&&e.following._readUserData(t),void 0!==(e=e.unit)&&du(e))&&e._readUserData(t)}frameToProto(e,t){var r={},n=(void 0!==t.preceding&&(r.preceding=this.frameBoundToProto(e,t.preceding,"preceding")),void 0!==t.following&&(r.following=this.frameBoundToProto(e,t.following,"following")),t.unit);return void 0!==n&&(r.unit=en(n)?Za(n):n._toProto(e)),{mapValue:{fields:r}}}frameBoundToProto(e,t,r){if("number"==typeof t)return ds(e,t);if(en(t))return Za(t);if(du(t))return t._toProto(e);throw new N("invalid-argument",`Invalid window frame bound: '${r}'. Expected a number, 'current', 'unbounded', or an Expression.`)}}class gu{constructor(e,t=[],r,n){this.name=e,this.params=t,this.window=r,this._methodName=n,this.exprType="WindowFunction",this._protoValueType="ProtoValue"}over(e){return new gu(this.name,this.params,new fu(e),this._methodName??"over")}as(e){return new pu(this,e,"as")}_toProto(t){var e={functionValue:{name:this.name,args:this.params.map(e=>e._toProto(t))}};return void 0===this.window?e:{functionValue:{name:"over",args:[e,this.window._toProto(t)]}}}_readUserData(t){t=this._methodName?t.contextWith({methodName:this._methodName}):t,this.params.forEach(e=>e._readUserData(t)),this.window?._readUserData(t)}}class pu{constructor(e,t,r){this.windowFunction=e,this.alias=t,this._methodName=r}_readUserData(e){this.windowFunction._readUserData(e)}}class mu{constructor(e){this.optionsProto=void 0,{rawOptions:this.rawOptions,...this.knownOptions}=e}_readUserData(e){this.optionsProto=this._optionsUtil.getOptionsProto(e,this.knownOptions,this.rawOptions)}_toProto(e){return{name:this._name,options:this.optionsProto}}}class Eu extends mu{get _name(){return"add_fields"}get _optionsUtil(){return new Wo({})}constructor(e,t){super(t),this.fields=e}_toProto(e){return{...super._toProto(e),args:[Xa(e,this.fields)]}}_readUserData(e){super._readUserData(e),Fu(this.fields,e)}}class Du extends mu{get _name(){return"aggregate"}get _optionsUtil(){return new Wo({})}constructor(e,t,r){super(r),this.groups=e,this.accumulators=t}_toProto(e){return{...super._toProto(e),args:[Xa(e,this.accumulators),Xa(e,this.groups)]}}_readUserData(e){super._readUserData(e),Fu(this.groups,e),Fu(this.accumulators,e)}}class vu extends mu{get _name(){return"distinct"}get _optionsUtil(){return new Wo({})}constructor(e,t){super(t),this.groups=e}_toProto(e){return{...super._toProto(e),args:[Xa(e,this.groups)]}}_readUserData(e){super._readUserData(e),Fu(this.groups,e)}}class wu extends mu{get _name(){return"collection"}get _optionsUtil(){return new Wo({forceIndex:{serverName:"force_index"}})}constructor(e,t){var r;super(t),this.pi=(r="string"==typeof(t=e)?t:t.path).startsWith("/")?r:"/"+r}_toProto(e){return{...super._toProto(e),args:[{referenceValue:this.pi}]}}_readUserData(e){super._readUserData(e)}}class yu extends mu{get _name(){return"collection_group"}get _optionsUtil(){return new Wo({forceIndex:{serverName:"force_index"}})}constructor(e,t){super(t),this.collectionId=e}_toProto(e){return{...super._toProto(e),args:[{referenceValue:""},{stringValue:this.collectionId}]}}_readUserData(e){super._readUserData(e)}}class _u extends mu{get _name(){return"database"}get _optionsUtil(){return new Wo({})}_toProto(e){return{...super._toProto(e)}}_readUserData(e){super._readUserData(e)}}class Iu extends mu{get _name(){return"documents"}get _optionsUtil(){return new Wo({})}constructor(e,t){if(super(t),!e||0===e.length)throw new N(T.INVALID_ARGUMENT,"Empty document paths are not allowed in DocumentsSource");var r=e.map(e=>e.startsWith("/")?e:"/"+e),n=new Set(r);if(n.size!==r.length)throw new N(T.INVALID_ARGUMENT,"Duplicate document paths are not allowed in DocumentsSource");this.gi=r,this.yi=n}_toProto(e){return{...super._toProto(e),args:this.gi.map(e=>({referenceValue:e}))}}_readUserData(e){super._readUserData(e)}}class bu extends mu{get _name(){return"where"}get _optionsUtil(){return new Wo({})}constructor(e,t){super(t),this.condition=e}_toProto(e){return{...super._toProto(e),args:[this.condition._toProto(e)]}}_readUserData(e){super._readUserData(e),Fu(this.condition,e)}}class Tu extends mu{get _name(){return"limit"}get _optionsUtil(){return new Wo({})}constructor(e,t){p(!isNaN(e)&&e!==1/0&&e!==-1/0,34860),super(t),this.limit=e}_toProto(e){return{...super._toProto(e),args:[ds(e,this.limit)]}}}class Nu extends mu{get _name(){return"select"}get _optionsUtil(){return new Wo({})}constructor(e,t){super(t),this.selections=e}_toProto(e){return{...super._toProto(e),args:[Xa(e,this.selections)]}}_readUserData(e){super._readUserData(e),Fu(this.selections,e)}}class Au extends mu{get _name(){return"sort"}get _optionsUtil(){return new Wo({})}constructor(e,t){super(t),this.orderings=e}_toProto(t){return{...super._toProto(t),args:this.orderings.map(e=>e._toProto(t))}}_readUserData(e){super._readUserData(e),Fu(this.orderings,e)}}class xu extends mu{get _name(){return"replace_with"}get _optionsUtil(){return new Wo({})}constructor(e,t){super(t),this.map=e}_toProto(e){return{...super._toProto(e),args:[this.map._toProto(e),Za(xu.bi)]}}_readUserData(e){super._readUserData(e),Fu(this.map,e)}}function Fu(e,t){Yo(e)?e._readUserData(t):Array.isArray(e)?e.forEach(e=>e._readUserData(t)):e instanceof Map?e.forEach(e=>e._readUserData(t)):Object.values(e).forEach(e=>e._readUserData(t))}xu.bi="full_replace";class Su{constructor(e,t,r){this.serializer=e,this.stages=t,this.listenOptions=r,this.isCorePipeline=!0}getPipelineCollection(){return Lu(this)}getPipelineCollectionGroup(){return Ru(this)}getPipelineCollectionId(){return ku(this)}getPipelineDocuments(){return Gu(this)}getPipelineFlavor(){{var n=this;let r="exact";return n.stages.forEach((e,t)=>{e._name!==vu.name&&e._name!==Du.name||(r="keyless"),e._name===Nu.name&&"exact"===r&&(r="augmented"),e._name===Eu.name&&t<n.stages.length-1&&"exact"===r&&(r="augmented")}),r}}getPipelineSourceType(){return Ou(this)}}function Ou(e){var t=e.stages[0];return t instanceof wu||t instanceof yu||t instanceof _u||t instanceof Iu?t._name:"unknown"}function Lu(e){if("collection"===Ou(e))return e.stages[0].pi}function Ru(e){if("collection_group"===Ou(e))return e.stages[0].collectionId}function ku(e){switch(Ou(e)){case"collection":return A.fromString(Lu(e)).lastSegment();case"collection_group":return Ru(e);default:return}}function Gu(e){if("documents"===Ou(e))return e.stages[0].gi}class L{constructor(e,t){this.type=e,this.value=t}static Oi(){return new L("ERROR",void 0)}static Mi(){return new L("UNSET",void 0)}static Ni(){return new L("NULL",pn)}static newValue(e){return rs(e)?new L("NULL",pn):(t=e)&&"booleanValue"in t?new L("BOOLEAN",e):Wn(e)?new L("INT",e):Xn(e)?new L("DOUBLE",e):(t=e)&&"timestampValue"in t&&t.timestampValue?new L("TIMESTAMP",e):(t=e)&&"stringValue"in t?new L("STRING",e):(t=e)&&"bytesValue"in t?new L("BYTES",e):e.referenceValue?new L("REFERENCE",e):e.geoPointValue?new L("GEO_POINT",e):ts(e)?new L("ARRAY",e):as(e)?new L("VECTOR",e):ss(e)?new L("MAP",e):new L("ERROR",void 0);var t}Bi(){return"ERROR"===this.type||"UNSET"===this.type}Li(){return"NULL"===this.type}}function Pu(e){if(!e.Bi())return e.value}function Mu(e){return e instanceof uu?e._expr:e}function R(e){if((e=Mu(e))instanceof su)return new Vu(e);if(e instanceof au)return new Hu(e);if(e instanceof nu)return new Uu(e);if(e instanceof o){if("add"===e.name)return new Yu(e);if("subtract"===e.name)return new Wu(e);if("multiply"===e.name)return new Xu(e);if("divide"===e.name)return new Zu(e);if("mod"===e.name)return new $u(e);if("and"===e.name)return new el(e);if("equal"===e.name)return new gl(e);if("not_equal"===e.name)return new pl(e);if("less_than"===e.name)return new ml(e);if("less_than_or_equal"===e.name)return new El(e);if("greater_than"===e.name)return new Dl(e);if("greater_than_or_equal"===e.name)return new vl(e);if("array_concat"===e.name)return new wl(e);if("array_reverse"===e.name)return new yl(e);if("array_contains"===e.name)return new _l(e);if("array_contains_all"===e.name)return new Il(e);if("array_contains_any"===e.name)return new bl(e);if("array_length"===e.name)return new Tl(e);if("array_element"===e.name)return new Nl(e);if("equal_any"===e.name)return new sl(e);if("not_equal_any"===e.name)return new il(e);if("is_nan"===e.name)return new al(e);if("is_not_nan"===e.name)return new Bl(e);if("is_null"===e.name)return new ol(e);if("is_not_null"===e.name)return new ul(e);if("is_error"===e.name)return new ll(e);if("exists"===e.name)return new hl(e);if("not"===e.name)return new tl(e);if("or"===e.name)return new rl(e);if("xor"===e.name)return new nl(e);if("conditional"===e.name)return new cl(e);if("maximum"===e.name)return new Cl(e);if("minimum"===e.name)return new dl(e);if("reverse"===e.name)return new Al(e);if("replace_first"===e.name)return new xl(e);if("replace_all"===e.name)return new Fl(e);if("char_length"===e.name)return new Sl(e);if("byte_length"===e.name)return new Ol(e);if("like"===e.name)return new Rl(e);if("regex_contains"===e.name)return new kl(e);if("regex_match"===e.name)return new Gl(e);if("string_contains"===e.name)return new Pl(e);if("starts_with"===e.name)return new Ml(e);if("ends_with"===e.name)return new Vl(e);if("to_lower"===e.name)return new Hl(e);if("to_upper"===e.name)return new Ul(e);if("trim"===e.name)return new ql(e);if("string_concat"===e.name)return new Jl(e);if("map_get"===e.name)return new Kl(e);if("cosine_distance"===e.name)return new Ql(e);if("dot_product"===e.name)return new zl(e);if("euclidean_distance"===e.name)return new Yl(e);if("vector_length"===e.name)return new Wl(e);if("unix_micros_to_timestamp"===e.name)return new hh(e);if("timestamp_to_unix_micros"===e.name)return new fh(e);if("unix_millis_to_timestamp"===e.name)return new ch(e);if("timestamp_to_unix_millis"===e.name)return new gh(e);if("unix_seconds_to_timestamp"===e.name)return new Ch(e);if("timestamp_to_unix_seconds"===e.name)return new ph(e);if("timestamp_add"===e.name)return new Eh(e);if("timestamp_subtract"===e.name)return new Dh(e)}throw new Error("Unknown Expr : "+e)}class Vu{constructor(e){this.expr=e}evaluate(e,t){var r;return this.expr.fieldName===gr?L.newValue({referenceValue:Aa(e.serializer,t.key)}):"__update_time__"===this.expr.fieldName?L.newValue({timestampValue:_a(e.serializer,t.version)}):"__create_time__"===this.expr.fieldName?L.newValue({timestampValue:_a(e.serializer,t.createTime)}):(r=t.data.field(this.expr._fieldPath))?Jr(r)?L.newValue(((e,t)=>{if("estimate"===e.serverTimestampBehavior)return{timestampValue:_a(e.serializer,F.fromTimestamp(jr(t)))};if("previous"===e.serverTimestampBehavior){let e=Kr(t);if(e)return e}return{nullValue:"NULL_VALUE"}})(e,r)):L.newValue(r):L.Mi()}}class Hu{constructor(e){this.expr=e}evaluate(e,t){return L.newValue(this.expr._getValue())}}class Uu{constructor(e){this.expr=e}evaluate(t,r){var e=this.expr.di.map(e=>R(e).evaluate(t,r));return e.some(e=>e.Bi())?L.Oi():L.newValue({arrayValue:{values:e.map(e=>e.value)}})}}function qu(e){return Xn(e)?Number(e.doubleValue):Number(e.integerValue)}function Ju(e){return BigInt(e.integerValue)}let Ku=BigInt("0x7fffffffffffffff"),ju=-BigInt("0x8000000000000000");class Qu{constructor(e){this.expr=e}evaluate(t,r){p(2<=this.expr.params.length,24778);let n=R(this.expr.params[0]).evaluate(t,r),e=R(this.expr.params[1]).evaluate(t,r),s=this.$i(n,e);for(let n of this.expr.params.slice(2)){let e=R(n).evaluate(t,r);s=this.$i(s,e)}return s}$i(e,t){if(!e.Bi()&&!t.Bi()){if(e.Li()||t.Li())return L.Ni();var r=e.value,n=t.value;if((Xn(r)||Wn(r))&&(Xn(n)||Wn(n))){if(Xn(r)||Xn(n)){let e=this.Ui(r,n);return e?L.newValue(e):L.Oi()}if(Wn(r)&&Wn(n)){let e=this.ki(r,n);return void 0===e?L.Oi():"number"==typeof e?L.newValue({doubleValue:e}):e<ju||e>Ku?L.Oi():L.newValue({integerValue:""+e})}}}return L.Oi()}}function zu(r,n){{if(xn(r)!==xn(n))return"TYPE_MISMATCH";if(ns(r)||ns(n))return"NOT_EQ";if(rs(r)&&rs(n))return"EQ";if(rs(r)||rs(n))return"NULL";if(ts(r)&&ts(n)){var s=r.arrayValue,i=n.arrayValue;if(s.values?.length!==i.values?.length)return"NOT_EQ";let e=!1;for(let t=0;t<(s.values?.length??0);t++){var a=s.values[t],B=i.values[t];switch(zu(a,B)){case"EQ":break;case"NOT_EQ":case"TYPE_MISMATCH":return"NOT_EQ";case"NULL":e=!0;break;default:w(44609,{Qi:a,qi:B})}}return e?"NULL":"EQ"}if(as(r)&&as(n)||ss(r)&&ss(n)){var o=r.mapValue,u=n.mapValue,l=o.fields||{},h=u.fields||{};if(vr(l)!==vr(h))return"NOT_EQ";let e=!1;for(let t in l)if(l.hasOwnProperty(t)){if(void 0===h[t])return"NOT_EQ";switch(zu(l[t],h[t])){case"NOT_EQ":case"TYPE_MISMATCH":return"NOT_EQ";case"NULL":e=!0}}return e?"NULL":"EQ"}return Fn(r,n,{be:!1,ye:!0,we:!0})?"EQ":"NOT_EQ"}}class Yu extends Qu{ki(e,t){return Ju(e)+Ju(t)}Ui(e,t){return{doubleValue:qu(e)+qu(t)}}}class Wu extends Qu{constructor(e){super(e),this.expr=e}ki(e,t){return Ju(e)-Ju(t)}Ui(e,t){return{doubleValue:qu(e)-qu(t)}}}class Xu extends Qu{constructor(e){super(e),this.expr=e}ki(e,t){return Ju(e)*Ju(t)}Ui(e,t){return{doubleValue:qu(e)*qu(t)}}}class Zu extends Qu{constructor(e){super(e),this.expr=e}ki(e,t){var r=Ju(t);if(r!==BigInt(0))return Ju(e)/r}Ui(e,t){var r=qu(t);return 0===r?{doubleValue:Zr(r)?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY}:{doubleValue:qu(e)/r}}}class $u extends Qu{constructor(e){super(e),this.expr=e}ki(e,t){var r=Ju(t);if(r!==BigInt(0))return Ju(e)%r}Ui(e,t){var r=qu(t);if(0!==r)return{doubleValue:qu(e)%r}}}class el{constructor(e){this.expr=e}evaluate(e,t){let r=!1,n=!1;for(var s of this.expr.params){var i=R(s).evaluate(e,t);switch(i.type){case"BOOLEAN":if(i.value?.booleanValue)break;return L.newValue(An);case"NULL":n=!0;break;default:r=!0}}return r?L.Oi():n?L.Ni():L.newValue(Nn)}}class tl{constructor(e){this.expr=e}evaluate(e,t){p(1===this.expr.params.length,9634);var r=R(this.expr.params[0]).evaluate(e,t);switch(r.type){case"BOOLEAN":return L.newValue({booleanValue:!r.value?.booleanValue});case"NULL":return L.Ni();default:return L.Oi()}}}class rl{constructor(e){this.expr=e}evaluate(e,t){let r=!1,n=!1;for(var s of this.expr.params){var i=R(s).evaluate(e,t);switch(i.type){case"BOOLEAN":if(i.value?.booleanValue)return L.newValue(Nn);break;case"NULL":n=!0;break;default:r=!0}}return r?L.Oi():n?L.Ni():L.newValue(An)}}class nl{constructor(e){this.expr=e}evaluate(e,t){let r=!1,n=!1;for(var s of this.expr.params){var i=R(s).evaluate(e,t);switch(i.type){case"BOOLEAN":r=nl.xor(r,!!i.value?.booleanValue);break;case"NULL":n=!0;break;default:return L.Oi()}}return n?L.Ni():L.newValue({booleanValue:r})}static xor(e,t){return(e||t)&&!(e&&t)}}class sl{constructor(e){this.expr=e}evaluate(e,t){p(2===this.expr.params.length,55094);let r=!1;var n=R(this.expr.params[0]).evaluate(e,t);switch(n.type){case"NULL":r=!0;break;case"ERROR":case"UNSET":return L.Oi()}var s=R(this.expr.params[1]).evaluate(e,t);switch(s.type){case"ARRAY":break;case"NULL":r=!0;break;default:return L.Oi()}if(r)return L.Ni();for(let e of s.value?.arrayValue?.values??[])switch(rs(n.value)&&rs(e)?"EQ":zu(n.value,e)){case"EQ":return L.newValue(Nn);case"NOT_EQ":case"TYPE_MISMATCH":break;case"NULL":r=!0;break;default:w(44608,{value:n.value,candidate:e})}return r?L.Ni():L.newValue(An)}}class il{constructor(e){this.expr=e}evaluate(e,t){return new tl(new o("not",[new o("equal_any",this.expr.params)])).evaluate(e,t)}}class al{constructor(e){this.expr=e}evaluate(e,t){p(1===this.expr.params.length,23322);var r=R(this.expr.params[0]).evaluate(e,t);switch(r.type){case"INT":return L.newValue(An);case"DOUBLE":return L.newValue({booleanValue:isNaN(qu(r.value))});case"NULL":return L.Ni();default:return L.Oi()}}}class Bl{constructor(e){this.expr=e}evaluate(e,t){return p(1===this.expr.params.length,50406),new tl(new o("not",[new o("is_nan",this.expr.params)])).evaluate(e,t)}}class ol{constructor(e){this.expr=e}evaluate(e,t){switch(p(1===this.expr.params.length,23123),R(this.expr.params[0]).evaluate(e,t).type){case"NULL":return L.newValue(Nn);case"UNSET":case"ERROR":return L.Oi();default:return L.newValue(An)}}}class ul{constructor(e){this.expr=e}evaluate(e,t){return p(1===this.expr.params.length,23167),new tl(new o("not",[new o("is_null",this.expr.params)])).evaluate(e,t)}}class ll{constructor(e){this.expr=e}evaluate(e,t){return p(1===this.expr.params.length,5228),"ERROR"===R(this.expr.params[0]).evaluate(e,t).type?L.newValue(Nn):L.newValue(An)}}class hl{constructor(e){this.expr=e}evaluate(e,t){switch(p(1===this.expr.params.length,6877),R(this.expr.params[0]).evaluate(e,t).type){case"ERROR":return L.Oi();case"UNSET":return L.newValue(An);default:return L.newValue(Nn)}}}class cl{constructor(e){this.expr=e}evaluate(e,t){p(3===this.expr.params.length,11706);var r=R(this.expr.params[0]).evaluate(e,t);switch(r.type){case"BOOLEAN":return(r.value?.booleanValue?R(this.expr.params[1]):R(this.expr.params[2])).evaluate(e,t);case"NULL":return R(this.expr.params[2]).evaluate(e,t);default:return L.Oi()}}}class Cl{constructor(e){this.expr=e}evaluate(t,r){var e=this.expr.params.map(e=>R(e).evaluate(t,r));let n;for(let t of e)switch(t.type){case"ERROR":case"UNSET":case"NULL":continue;default:n=void 0===n||0<On(t.value,n.value)?t:n}return void 0===n?L.Ni():n}}class dl{constructor(e){this.expr=e}evaluate(t,r){var e=this.expr.params.map(e=>R(e).evaluate(t,r));let n;for(let t of e)switch(t.type){case"ERROR":case"UNSET":case"NULL":continue;default:n=void 0===n||On(t.value,n.value)<0?t:n}return void 0===n?L.Ni():n}}class fl{constructor(e){this.expr=e}evaluate(e,t){p(2===this.expr.params.length,31033,this.expr.name+"() function should have exactly 2 params");var r=R(this.expr.params[0]).evaluate(e,t);switch(r.type){case"ERROR":case"UNSET":return L.Oi()}var n=R(this.expr.params[1]).evaluate(e,t);switch(n.type){case"ERROR":case"UNSET":return L.Oi()}return this.Ki(r,n)}}class gl extends fl{constructor(e){super(e),this.expr=e}Ki(e,t){if(e.Li()&&t.Li())return L.newValue(Nn);if(e.Li()||t.Li())return L.newValue(An);if(ns(e.value)||ns(t.value))return L.newValue(An);if(xn(e.value)!==xn(t.value))return L.newValue(An);switch(zu(e.value,t.value)){case"EQ":return L.newValue(Nn);case"NOT_EQ":return L.newValue(An);case"NULL":return L.Ni();default:w(44615,{left:e,right:t})}}}class pl extends fl{constructor(e){super(e),this.expr=e}Ki(e,t){switch(zu(e.value,t.value)){case"EQ":return L.newValue(An);case"NOT_EQ":case"TYPE_MISMATCH":return L.newValue(Nn);case"NULL":return L.Ni();default:w(44614,{left:e,right:t})}}}class ml extends fl{constructor(e){super(e),this.expr=e}Ki(e,t){return xn(e.value)!==xn(t.value)||ns(e.value)||ns(t.value)?L.newValue(An):L.newValue({booleanValue:On(e.value,t.value)<0})}}class El extends fl{constructor(e){super(e),this.expr=e}Ki(e,t){return xn(e.value)!==xn(t.value)||ns(e.value)||ns(t.value)?L.newValue(An):"EQ"===zu(e.value,t.value)?L.newValue(Nn):L.newValue({booleanValue:On(e.value,t.value)<0})}}class Dl extends fl{constructor(e){super(e),this.expr=e}Ki(e,t){return xn(e.value)!==xn(t.value)||ns(e.value)||ns(t.value)?L.newValue(An):L.newValue({booleanValue:0<On(e.value,t.value)})}}class vl extends fl{constructor(e){super(e),this.expr=e}Ki(e,t){return xn(e.value)!==xn(t.value)||ns(e.value)||ns(t.value)?L.newValue(An):"EQ"===zu(e.value,t.value)?L.newValue(Nn):L.newValue({booleanValue:0<On(e.value,t.value)})}}class wl{constructor(e){this.expr=e}evaluate(e,t){throw new Error("Unimplemented")}}class yl{constructor(e){this.expr=e}evaluate(e,t){p(1===this.expr.params.length,216);var r=R(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return L.Ni();case"ARRAY":{let e=r.value.arrayValue?.values??[];return L.newValue({arrayValue:{values:[...e].reverse()}})}default:return L.Oi()}}}class _l{constructor(e){this.expr=e}evaluate(e,t){return p(2===this.expr.params.length,52884),new sl(new o("eq_any",[this.expr.params[1],this.expr.params[0]])).evaluate(e,t)}}class Il{constructor(e){this.expr=e}evaluate(r,e){p(2===this.expr.params.length,1392);let n=!1,t=R(this.expr.params[0]).evaluate(r,e);switch(t.type){case"ARRAY":break;case"NULL":n=!0;break;default:return L.Oi()}var s=R(this.expr.params[1]).evaluate(r,e);switch(s.type){case"ARRAY":break;case"NULL":n=!0;break;default:return L.Oi()}if(n)return L.Ni();var s=s.value?.arrayValue?.values??[],i=t.value?.arrayValue?.values??[];for(let r of s){let e=!1;n=!1;for(let t of i){switch(rs(r)&&rs(t)?"EQ":zu(r,t)){case"EQ":e=!0;break;case"NOT_EQ":case"TYPE_MISMATCH":break;case"NULL":n=!0;break;default:w(44613,{value:t,search:r})}if(e)break}if(!e)return L.newValue(An)}return L.newValue(Nn)}}class bl{constructor(e){this.expr=e}evaluate(t,e){p(2===this.expr.params.length,2680);let r=!1;var n=R(this.expr.params[0]).evaluate(t,e);switch(n.type){case"ARRAY":break;case"NULL":r=!0;break;default:return L.Oi()}var s=R(this.expr.params[1]).evaluate(t,e);switch(s.type){case"ARRAY":break;case"NULL":r=!0;break;default:return L.Oi()}if(r)return L.Ni();var i=s.value?.arrayValue?.values??[];for(let t of n.value?.arrayValue?.values??[])for(let e of i)switch(rs(t)&&rs(e)?"EQ":zu(t,e)){case"EQ":return L.newValue(Nn);case"NOT_EQ":case"TYPE_MISMATCH":break;case"NULL":r=!0;break;default:w(60403,{value:t,search:e})}return r?L.Ni():L.newValue(An)}}class Tl{constructor(e){this.expr=e}evaluate(e,t){p(1===this.expr.params.length,38605);var r=R(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return L.Ni();case"ARRAY":return L.newValue({integerValue:""+(r.value?.arrayValue?.values?.length??0)});default:return L.Oi()}}}class Nl{constructor(e){this.expr=e}evaluate(e,t){throw new Error("Unimplemented")}}class Al{constructor(e){this.expr=e}evaluate(e,t){p(1===this.expr.params.length,1508);var n=R(this.expr.params[0]).evaluate(e,t);switch(n.type){case"NULL":return L.Ni();case"BYTES":{let t=n.value?.bytesValue;if("string"!=typeof t)return L.newValue({bytesValue:new Uint8Array(t).reverse()});{let e=Rr.fromBase64String(t).toUint8Array();return e.reverse(),L.newValue({bytesValue:Rr.fromUint8Array(e).toBase64()})}}case"STRING":{let e=n.value?.stringValue,t=new Intl.__PRIVATE_Segmenter(void 0,{granularity:"grapheme"}).segment(e),r=Array.from(t,e=>e.segment).reverse();return L.newValue({stringValue:r.join("")})}default:return L.Oi()}}}class xl{constructor(e){this.expr=e}evaluate(e,t){throw new Error("Unimplemented")}}class Fl{constructor(e){this.expr=e}evaluate(e,t){throw new Error("Unimplemented")}}class Sl{constructor(e){this.expr=e}evaluate(e,t){p(1===this.expr.params.length,19400);var r=R(this.expr.params[0]).evaluate(e,t);switch(r.type){case"NULL":return L.Ni();case"STRING":{let e=(e=>{let t=0;for(let s=0;s<e.length;s++){var r,n=e.codePointAt(s);if(void 0===n)return;if(n<=65535)55296<=n&&n<=57343&&n<=56319&&void 0!==(r=e.codePointAt(s+1))&&56320<=r&&r<=57343?(t+=1,s++):t+=1;else{if(!(n<=1114111))return;t+=1,s++}}return t})(r.value.stringValue);return void 0===e?L.Oi():L.newValue({integerValue:e})}default:return L.Oi()}}}class Ol{constructor(e){this.expr=e}evaluate(e,t){p(1===this.expr.params.length,8486);var r=R(this.expr.params[0]).evaluate(e,t);switch(r.type){case"BYTES":{let e=r.value?.bytesValue;return"string"==typeof e?L.newValue({integerValue:Rr.fromBase64String(e).toUint8Array().length}):L.newValue({integerValue:new Uint8Array(e).length})}case"STRING":{let e=(e=>{let t=0;for(let s=0;s<e.length;s++){var r=e.codePointAt(s);if(void 0===r)return;if(55296<=r&&r<=57343){if(!(r<=56319))return;var n=e.codePointAt(s+1);if(void 0===n||!(56320<=n&&n<=57343))return;t+=4,s++}else if(r<=127)t+=1;else if(r<=2047)t+=2;else if(r<=65535)t+=3;else{if(!(r<=1114111))return;t+=4,s++}}return t})(r.value?.stringValue);return void 0===e?L.Oi():L.newValue({integerValue:e})}case"NULL":return L.Ni();default:return L.Oi()}}}class Ll{constructor(e){this.expr=e}evaluate(e,t){p(2===this.expr.params.length,39773,this.expr.name+"() function should have exactly two parameters");let r=!1;var n=R(this.expr.params[0]).evaluate(e,t);switch(n.type){case"STRING":break;case"NULL":r=!0;break;default:return L.Oi()}var s=R(this.expr.params[1]).evaluate(e,t);switch(s.type){case"STRING":break;case"NULL":r=!0;break;default:return L.Oi()}return r?L.Ni():this.Wi(n.value?.stringValue,s.value?.stringValue)}}class Rl extends Ll{Wi(e,t){try{var r=(e=>{let t="";for(let n=0;n<e.length;n++){var r=e.charAt(n);switch(r){case"_":t+=".";break;case"%":t+=".*";break;case"\\":case".":case"*":case"?":case"+":case"^":case"$":case"|":case"(":case")":case"[":case"]":case"{":case"}":t+="\\"+r;break;default:t+=r}}return"^"+t+"$"})(t),n=Vt.compile(r);return L.newValue({booleanValue:n.matches(e)})}catch(e){return Kt(`Invalid LIKE pattern converted to regex: ${t}, returning error. Error: `+e),L.Oi()}}}class kl extends Ll{Wi(e,t){try{var r=Vt.compile(t);return L.newValue({booleanValue:r.test(e)})}catch(e){return Kt(`Invalid regex pattern found in regex_contains: ${t}, returning error`),L.Oi()}}}class Gl extends Ll{Wi(e,t){try{return L.newValue({booleanValue:Vt.compile(t).matches(e)})}catch(e){return Kt(`Invalid regex pattern found in regex_match: ${t}, returning error`),L.Oi()}}}class Pl extends Ll{Wi(e,t){return L.newValue({booleanValue:e.includes(t)})}}class Ml extends Ll{Wi(e,t){return L.newValue({booleanValue:e.startsWith(t)})}}class Vl extends Ll{Wi(e,t){return L.newValue({booleanValue:e.endsWith(t)})}}class Hl{constructor(e){this.expr=e}evaluate(e,t){p(1===this.expr.params.length,29079);var r=R(this.expr.params[0]).evaluate(e,t);switch(r.type){case"STRING":return L.newValue({stringValue:r.value?.stringValue?.toLowerCase()});case"NULL":return L.Ni();default:return L.Oi()}}}class Ul{constructor(e){this.expr=e}evaluate(e,t){p(1===this.expr.params.length,60487);var r=R(this.expr.params[0]).evaluate(e,t);switch(r.type){case"STRING":return L.newValue({stringValue:r.value?.stringValue?.toUpperCase()});case"NULL":return L.Ni();default:return L.Oi()}}}class ql{constructor(e){this.expr=e}evaluate(e,t){p(1===this.expr.params.length,28544);var r=R(this.expr.params[0]).evaluate(e,t);switch(r.type){case"STRING":return L.newValue({stringValue:r.value?.stringValue?.trim()});case"NULL":return L.Ni();default:return L.Oi()}}}class Jl{constructor(e){this.expr=e}evaluate(t,r){var e=this.expr.params.map(e=>R(e).evaluate(t,r));let n="",s=!1;for(let t of e)switch(t.type){case"STRING":n+=t.value.stringValue;break;case"NULL":s=!0;break;default:return L.Oi()}return s?L.Ni():L.newValue({stringValue:n})}}class Kl{constructor(e){this.expr=e}evaluate(e,t){p(2===this.expr.params.length,4483);var r=R(this.expr.params[0]).evaluate(e,t);switch(r.type){case"UNSET":return L.Mi();case"MAP":break;default:return L.Oi()}var n=R(this.expr.params[1]).evaluate(e,t);return"STRING"!==n.type?L.Oi():void 0===(r=r.value?.mapValue?.fields?.[n.value?.stringValue])?L.Mi():L.newValue(r)}}class jl{constructor(e){this.expr=e}evaluate(e,t){p(2===this.expr.params.length,25231,this.expr.name+"() function should have exactly 2 params");let r=!1;var n=R(this.expr.params[0]).evaluate(e,t);switch(n.type){case"VECTOR":break;case"NULL":r=!0;break;default:return L.Oi()}var s=R(this.expr.params[1]).evaluate(e,t);switch(s.type){case"VECTOR":break;case"NULL":r=!0;break;default:return L.Oi()}return r?L.Ni():(n=Bs(n.value),s=Bs(s.value),void 0===n||void 0===s||n.values?.length!==s.values?.length||void 0===(n=this.Gi(n,s))||isNaN(n)?L.Oi():L.newValue({doubleValue:n}))}}class Ql extends jl{Gi(e,t){var a=e?.values??[],B=t?.values??[];if(0!==a.length){let r=0,n=0,s=0;for(let i=0;i<a.length;i++){if(!es(a[i])||!es(B[i]))return;let e=qu(a[i]),t=qu(B[i]);r+=e*t,n+=e*e,s+=t*t}let e=Math.sqrt(n)*Math.sqrt(s);if(0!==e)return 1-Math.max(-1,Math.min(1,r/e))}}}class zl extends jl{Gi(e,t){var r=e?.values??[],n=t?.values??[];if(0===r.length)return 0;let s=0;for(let i=0;i<r.length;i++){if(!es(r[i])||!es(n[i]))return;s+=qu(r[i])*qu(n[i])}return s}}class Yl extends jl{Gi(e,t){var r=e?.values??[],n=t?.values??[];if(0===r.length)return 0;let s=0;for(let i=0;i<r.length;i++){if(!es(r[i])||!es(n[i]))return;let e=qu(r[i]),t=qu(n[i]);s+=Math.pow(e-t,2)}return Math.sqrt(s)}}class Wl{constructor(e){this.expr=e}evaluate(e,t){p(1===this.expr.params.length,39044);var r=R(this.expr.params[0]).evaluate(e,t);switch(r.type){case"VECTOR":{let e=Bs(r.value);return L.newValue({integerValue:e?.values?.length??0})}case"NULL":return L.Ni();default:return L.Oi()}}}let Xl=BigInt(-62135596800),Zl=BigInt(253402300799),$l=BigInt(1e3),eh=BigInt(1e6),th=Xl*$l,rh=Zl*$l+BigInt(999),nh=Xl*eh,sh=Zl*eh+BigInt(999999);function ih(e){return e>=nh&&e<=sh}function ah(e){return e>=Xl&&e<=Zl}function Bh(e,t){var r=BigInt(e);return!(r<Xl||r>Zl||t<0||1e9<=t||r===Xl&&0!==t||r===Zl&&999999999<t)}function oh(e,t){return t<0?{seconds:e-1,nanos:t+1e9}:{seconds:e,nanos:t}}function uh(e){return BigInt(e.seconds)*eh+BigInt(Math.trunc(e.nanoseconds/1e3))}class lh{constructor(e){this.expr=e}evaluate(e,t){p(1===this.expr.params.length,49262,this.expr.name+"() function should have exactly one parameter");var r=R(this.expr.params[0]).evaluate(e,t);switch(r.type){case"INT":return this.toTimestamp(BigInt(r.value.integerValue));case"NULL":return L.Ni();default:return L.Oi()}}}class hh extends lh{toTimestamp(e){var t,r;return ih(e)&&Bh(t=(r=oh(Number(e/eh),Number(e%eh*BigInt(1e3)))).seconds,r=r.nanos)?L.newValue({timestampValue:{seconds:t,nanos:r}}):L.Oi()}}class ch extends lh{toTimestamp(e){var t,r,n;return(t=e)>=th&&t<=rh&&Bh(r=(n=oh(Number(e/$l),Number(e%$l*BigInt(1e6)))).seconds,n=n.nanos)?L.newValue({timestampValue:{seconds:r,nanos:n}}):L.Oi()}}class Ch extends lh{toTimestamp(e){var t;return ah(e)?(t=Number(e),L.newValue({timestampValue:{seconds:t,nanos:0}})):L.Oi()}}class dh{constructor(e){this.expr=e}evaluate(e,t){p(1===this.expr.params.length,1265,this.expr.name+"() function should have exactly one parameter");var r=R(this.expr.params[0]).evaluate(e,t);switch(r.type){case"TIMESTAMP":break;case"NULL":return L.Ni();default:return L.Oi()}r=wa(r.value.timestampValue);return Bh(r.seconds,r.nanoseconds)?this.ji(r):L.Oi()}}class fh extends dh{ji(e){var t=uh(e);return ih(t)?L.newValue({integerValue:""+t.toString()}):L.Oi()}}class gh extends dh{ji(e){var t=uh(e),r=t/BigInt(1e3),t=t%BigInt(1e3);return r>BigInt(0)||t===BigInt(0)?L.newValue({integerValue:r.toString()}):L.newValue({integerValue:(r-BigInt(1)).toString()})}}class ph extends dh{ji(e){var t=BigInt(e.seconds);return ah(t)?L.newValue({integerValue:t.toString()}):L.Oi()}}class mh{constructor(e){this.expr=e}evaluate(e,t){p(3===this.expr.params.length,2775,this.expr.name+"() function should have exactly 3 parameters");let r=!1;var n=R(this.expr.params[0]).evaluate(e,t);switch(n.type){case"TIMESTAMP":break;case"NULL":r=!0;break;default:return L.Oi()}var s=R(this.expr.params[1]).evaluate(e,t);let i;switch(s.type){case"STRING":if(void 0===(i=(e=>{switch(e){case"microsecond":return"microsecond";case"millisecond":return"millisecond";case"second":return"second";case"minute":return"minute";case"hour":return"hour";case"day":return"day";default:return}})(s.value.stringValue)))return L.Oi();break;case"NULL":r=!0;break;default:return L.Oi()}var a=R(this.expr.params[2]).evaluate(e,t);switch(a.type){case"INT":break;case"NULL":r=!0;break;default:return L.Oi()}if(r)return L.Ni();var B=BigInt(a.value.integerValue);let o;try{switch(i){case"microsecond":o=B;break;case"millisecond":o=B*BigInt(1e3);break;case"second":o=B*BigInt(1e6);break;case"minute":o=B*BigInt(6e7);break;case"hour":o=B*BigInt(36e8);break;case"day":o=B*BigInt(864e8);break;default:return L.Oi()}if("microsecond"!==i&&B!==BigInt(0)&&o/B!==BigInt(this.zi(i)))return L.Oi()}catch(e){return Kt("Error during timestamp arithmetic: "+e),L.Oi()}var a=wa(n.value.timestampValue);return Bh(a.seconds,a.nanoseconds)&&(n=uh(a),ih(a=this.Hi(n,o)))&&(n=Number(a/eh),Bh(n=(a=a%eh)<0?n-1:n,a=Number((a<0?a+eh:a)*BigInt(1e3))))?L.newValue({timestampValue:{seconds:n,nanos:a}}):L.Oi()}zi(e){switch(e){case"millisecond":return 1e3;case"second":return 1e6;case"minute":return 6e7;case"hour":return 36e8;case"day":return 864e8;default:return 1}}}class Eh extends mh{Hi(e,t){return e+t}}class Dh extends mh{Hi(e,t){return e-t}}function vh(e){if((e=Mu(e))instanceof su)return`fld(${e.fieldName})`;if(e instanceof au)return`cst(${t=e.value,null===t?"null":"number"==typeof t?t.toString():"string"==typeof t?`"${t}"`:t instanceof Co?`ref(${t.path})`:t instanceof vo?`vec(${JSON.stringify(t)})`:JSON.stringify(t)})`;var t;if(e instanceof o)return`fn(${e.name},[${e.params.map(vh).join(",")}])`;if("ListOfExpressions"===e.expressionType)return`list([${e.di.map(vh).join(",")}])`;throw new Error("Unrecognized expr "+JSON.stringify(e,null,2))}function wh(e){return""+Array.from(e.entries()).sort().map(([e,t])=>e+"="+vh(t)).join(",")}function yh(e){return e.stages.map(t=>{var e;if(t instanceof Eu)return`${t._name}(${wh(t.fields)})`;if(t instanceof Du){let e=`${t._name}(${wh(t.accumulators)})`;return 0<t.groups.size&&(e+=`grouping(${wh(t.groups)})`),e}if(t instanceof vu)return`${t._name}(${wh(t.groups)})`;if(t instanceof wu)return t._name+`(${t.pi})`;if(t instanceof yu)return t._name+`(${t.collectionId})`;if(t instanceof _u)return t._name+"()";if(t instanceof Iu)return`${t._name}(${t.gi.sort()})`;if(t instanceof bu)return`${t._name}(${vh(t.condition)})`;if(t instanceof Tu)return t._name+`(${t.limit})`;if(t instanceof Au)return`${t._name}(${e=t.orderings,e.map(e=>""+vh(e.expr)+e.direction).join(",")})`;throw new Error("Unrecognized stage "+t._name)}).join("|")}function _h(e,t){return yh(e)===yh(t)}function Ih(e){return e instanceof Su}function bh(e){return(Ih(e)?yh:Mi)(e)}function Th(e){return Ih(e)?yh(e):wi(Ri(e=e))+"|lt:"+e.limitType}function Nh(e,t){return e instanceof Su&&t instanceof Su?_h(e,t):!(e instanceof Su&&!(t instanceof Su)||!(e instanceof Su)&&t instanceof Su)&&Pi(e,t)}function Ah(e){return(_i(e)?yh:wi)(e)}function xh(e,t){return e instanceof Su&&t instanceof Su?_h(e,t):!(e instanceof Su&&!(t instanceof Su)||!(e instanceof Su)&&t instanceof Su)&&yi(e,t)}function Fh(e,t){var r=(e=>{let t=!1;var r,n=[];for(r of e)if(r instanceof Au)if(t=!0,r.orderings.some(e=>e.expr instanceof su&&e.expr.fieldName===gr))n.push(r);else{let e=r.orderings.map(e=>e);e.push(iu(gr).ascending()),n.push(new Au(e,{}))}else r instanceof Tu&&(t||(n.push(new Au([iu(gr).ascending()],{})),t=!0)),n.push(r);return t||n.push(new Au([iu(gr).ascending()],{})),n})(e.stages);if(e.userDataReader){let t=e.userDataReader.createContext(3,"toCorePipeline");r.forEach(e=>e._readUserData(t))}return new Su(e.userDataReader.serializer,r,t)}class Sh{constructor(e,t,r,n){this.batchId=e,this.localWriteTime=t,this.baseMutations=r,this.mutations=n}applyToRemoteDocument(e,t){var r,n,s,i,a,B,o,u=t.mutationResults;for(let h=0;h<this.mutations.length;h++){var l=this.mutations[h];l.key.isEqual(e.key)&&(r=l,n=e,s=u[h],o=l=B=a=i=void 0,r instanceof ks?(a=n,B=s,l=(i=r).value.clone(),o=Ms(i.fieldTransforms,a,B.transformResults),l.setAll(o),a.convertToFoundDocument(B.version,l).setHasCommittedMutations()):r instanceof Gs?(i=n,a=s,Fs((B=r).precondition,i)?(o=Ms(B.fieldTransforms,i,a.transformResults),(l=i.data).setAll(Ps(B)),l.setAll(o),i.convertToFoundDocument(a.version,l).setHasCommittedMutations()):i.convertToUnknownDocument(a.version)):n.convertToNoDocument(s.version).setHasCommittedMutations())}}applyToLocalView(e,t){for(var r of this.baseMutations)r.key.isEqual(e.key)&&(t=Ls(r,e,t,this.localWriteTime));for(var n of this.mutations)n.key.isEqual(e.key)&&(t=Ls(n,e,t,this.localWriteTime));return t}applyToLocalDocumentSet(n,s){let i=Wi();return this.mutations.forEach(e=>{var t=n.get(e.key),r=t.overlayedDocument,t=this.applyToLocalView(r,t.mutatedFields),t=Os(r,s.has(e.key)?null:t);null!==t&&i.set(e.key,t),r.isValidDocument()||r.convertToNoDocument(F.min())}),i}keys(){return this.mutations.reduce((e,t)=>e.add(t.key),S())}isEqual(e){return this.batchId===e.batchId&&$t(this.mutations,e.mutations,(e,t)=>Rs(e,t))&&$t(this.baseMutations,e.baseMutations,(e,t)=>Rs(e,t))}}class Oh{constructor(e,t,r,n){this.batch=e,this.commitVersion=t,this.mutationResults=r,this.docVersions=n}static from(e,t,r){p(e.mutations.length===r.length,58842,{Ji:e.mutations.length,Yi:r.length});let n=Xi;var s=e.mutations;for(let i=0;i<s.length;i++)n=n.insert(s[i].key,r[i].version);return new Oh(e,t,r,n)}}let Lh="";function Rh(e){let t="";for(let r=0;r<e.length;r++)0<t.length&&(t=kh(t)),t=((t,e)=>{let r=e,n=t.length;for(let s=0;s<n;s++){let e=t.charAt(s);switch(e){case"\0":r+="";break;case Lh:r+="";break;default:r+=e}}return r})(e.get(r),t);return kh(t)}function kh(e){return e+Lh+""}function Gh(r){let e=r.length;if(p(2<=e,64408,{path:r}),2===e)return p(r.charAt(0)===Lh&&""===r.charAt(1),56145,{path:r}),A.emptyPath();var __PRIVATE_lastReasonableEscapeIndex=e-2,n=[];let s="";for(let a=0;a<e;){let t=r.indexOf(Lh,a);switch((t<0||t>__PRIVATE_lastReasonableEscapeIndex)&&w(50515,{path:r}),r.charAt(t+1)){case"":var i=r.substring(a,t);let e;0===s.length?e=i:(s+=i,e=s,s=""),n.push(e);break;case"":s=s+r.substring(a,t)+"\0";break;case"":s+=r.substring(a,t+1);break;default:w(61167,{path:r})}a=t+2}return new A(n)}let Ph="remoteDocuments",Mh="owner",Vh="owner",Hh="mutationQueues",Uh="mutations",qh="batchId",Jh="userMutationsIndex",Kh=["userId","batchId"];function jh(e,t){return[e,Rh(t)]}function Qh(e,t,r){return[e,Rh(t),r]}let zh={},Yh="documentMutations",Wh="remoteDocumentsV14",Xh=["prefixPath","collectionGroup","readTime","documentId"],Zh="documentKeyIndex",$h=["prefixPath","collectionGroup","documentId"],ec="collectionGroupIndex",tc=["collectionGroup","readTime","prefixPath","documentId"],rc="remoteDocumentGlobal",nc="remoteDocumentGlobalKey",sc="targets",ic="queryTargetsIndex",ac=["canonicalId","targetId"],Bc="targetDocuments",oc=["targetId","path"],uc="documentTargetsIndex",lc=["path","targetId"],hc="targetGlobalKey",cc="targetGlobal",Cc="collectionParents",dc=["collectionId","parent"],fc="clientMetadata",gc="bundles",pc="namedQueries",mc="indexConfiguration",Ec="collectionGroupIndex",Dc="indexState",vc=["indexId","uid"],wc="sequenceNumberIndex",yc=["uid","sequenceNumber"],_c="indexEntries",Ic=["indexId","uid","arrayValue","directionalValue","orderedDocumentKey","documentKey"],bc="documentKeyIndex",Tc=["indexId","uid","orderedDocumentKey"],Nc="documentOverlays",Ac=["userId","collectionPath","documentId"],xc="collectionPathOverlayIndex",Fc=["userId","collectionPath","largestBatchId"],Sc="collectionGroupOverlayIndex",Oc=["userId","collectionGroup","largestBatchId"],Lc="globals",Rc=[Hh,Uh,Yh,Ph,sc,Mh,cc,Bc,fc,rc,Cc,gc,pc],kc=[...Rc,Nc],Gc=[Hh,Uh,Yh,Wh,sc,Mh,cc,Bc,fc,rc,Cc,gc,pc,Nc],Pc=Gc,Mc=[...Pc,mc,Dc,_c],Vc=Mc,Hc=[...Mc,Lc],Uc=Hc;function qc(t,r,n){let e=t.store(Uh),s=t.store(Yh),i=[],a=IDBKeyRange.only(n.batchId),B=0;var o=e._i({range:a},(e,t,r)=>(B++,r.delete()));i.push(o.next(()=>{p(1===B,47070,{batchId:n.batchId})}));let u=[];for(let t of n.mutations){let e=Qh(r,t.key.path,n.batchId);i.push(s.delete(e)),u.push(t.key)}return O.waitFor(i).next(()=>u)}function Jc(e){if(!e)return 0;let t;if(e.document)t=e.document;else if(e.unknownDocument)t=e.unknownDocument;else{if(!e.noDocument)throw w(14731);t=e.noDocument}return JSON.stringify(t).length}class Kc extends qB{constructor(e,t){super(),this.Zi=e,this.currentSequenceNumber=t}}function jc(e,t){var r=e;return QB.qr(r.Zi,t)}class Qc{constructor(e,t){this.largestBatchId=e,this.mutation=t}getKey(){return this.mutation.key}isEqual(e){return null!==e&&this.mutation===e.mutation}toString(){return`Overlay{
      largestBatchId: ${this.largestBatchId},
      mutation: ${this.mutation.toString()}
    }`}}class zc{constructor(e,t,r,n,s=F.min(),i=F.min(),a=Rr.EMPTY_BYTE_STRING,B=null){this.target=e,this.targetId=t,this.purpose=r,this.sequenceNumber=n,this.snapshotVersion=s,this.lastLimboFreeSnapshotVersion=i,this.resumeToken=a,this.expectedCount=B}withSequenceNumber(e){return new zc(this.target,this.targetId,this.purpose,e,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,this.expectedCount)}withResumeToken(e,t){return new zc(this.target,this.targetId,this.purpose,this.sequenceNumber,t,this.lastLimboFreeSnapshotVersion,e,null)}withExpectedCount(e){return new zc(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,this.lastLimboFreeSnapshotVersion,this.resumeToken,e)}withLastLimboFreeSnapshotVersion(e){return new zc(this.target,this.targetId,this.purpose,this.sequenceNumber,this.snapshotVersion,e,this.resumeToken,this.expectedCount)}}class Yc{constructor(e){this.Xi=e}}function Wc(e,t){var r,n=t.key,s={prefixPath:n.getCollectionPath().popLast().toArray(),collectionGroup:n.collectionGroup,documentId:n.path.lastSegment(),readTime:Xc(t.readTime),hasCommittedMutations:t.hasCommittedMutations};if(t.isFoundDocument())s.document={name:Aa(e=e.Xi,(r=t).key),fields:r.data.value.mapValue.fields,updateTime:va(e,r.version.toTimestamp()),createTime:va(e,r.createTime.toTimestamp())};else if(t.isNoDocument())s.noDocument={path:n.path.toArray(),readTime:Zc(t.version)};else{if(!t.isUnknownDocument())return w(57904,{document:t});s.unknownDocument={path:n.path.toArray(),version:Zc(t.version)}}return s}function Xc(e){var t=e.toTimestamp();return[t.seconds,t.nanoseconds]}function Zc(e){var t=e.toTimestamp();return{seconds:t.seconds,nanoseconds:t.nanoseconds}}function $c(e){var t=new g(e.seconds,e.nanoseconds);return F.fromTimestamp(t)}function eC(t,r){let e=(r.baseMutations||[]).map(e=>Pa(t.Xi,e));for(let i=0;i<r.mutations.length-1;++i){let t=r.mutations[i];if(i+1<r.mutations.length&&void 0!==r.mutations[i+1].transform){let e=r.mutations[i+1];t.updateTransforms=e.transform.fieldTransforms,r.mutations.splice(i+1,1),++i}}let n=r.mutations.map(e=>Pa(t.Xi,e)),s=g.fromMillis(r.localWriteTimeMs);return new Sh(r.batchId,s,e,n)}function tC(e,t){var r,n,s=$c(t.readTime),i=void 0!==t.lastLimboFreeSnapshotVersion?$c(t.lastLimboFreeSnapshotVersion):F.min(),a=void 0!==t.query.structuredPipeline?(r=t.query,e=e.Xi,p(0<((n=r.structuredPipeline)?.pipeline?.stages??[]).length,1845),n=n?.pipeline?.stages.map(BC),new Su(e,n)):void 0!==t.query.documents?(r=t.query,p(1===(n=r.documents.length),1966,{count:n}),Ri(Fi(Sa(r.documents[0])))):Ri(Ua(t.query));return new zc(a,t.targetId,"TargetPurposeListen",t.lastListenSequenceNumber,s,i,Rr.fromBase64String(t.resumeToken))}function rC(e,t){var r=Zc(t.snapshotVersion),n=Zc(t.lastLimboFreeSnapshotVersion),s=_i(t.target)?Ja(e.Xi,t.target):Ii(t.target)?Va(e.Xi,t.target):Ha(e.Xi,t.target).Lt,i=t.resumeToken.toBase64();return{targetId:t.targetId,canonicalId:Ah(t.target),readTime:r,resumeToken:i,lastListenSequenceNumber:t.sequenceNumber,lastLimboFreeSnapshotVersion:n,query:s}}function nC(e){var t=Ua({parent:e.parent,structuredQuery:e.structuredQuery});return"LAST"===e.limitType?Gi(t,t.limit,"L"):t}function sC(e,t){return new Qc(t.largestBatchId,Pa(e.Xi,t.overlayMutation))}function iC(e,t){var r=t.path.lastSegment();return[e,Rh(t.path.popLast()),r]}function aC(e,t,r,n){return{indexId:e,uid:t,sequenceNumber:r,readTime:Zc(n.readTime),documentKey:Rh(n.documentKey.path),largestBatchId:n.largestBatchId}}function BC(e){switch(e.name){case"collection":return new wu(e.args[0].referenceValue,{});case"collection_group":return new yu(e.args[1].stringValue,{});case"database":return new _u({});case"documents":return new Iu(e.args.map(e=>e.referenceValue),{});case"where":return new bu(oC(e.args[0]),{});case"limit":var t=e.args[0].integerValue??e.args[0].doubleValue;return new Tu("number"==typeof t?t:Number(t),{});case"sort":return new Au(e.args.map(e=>{return t=e.mapValue?.fields,new Cu(oC(t.expression),t.direction?.stringValue,"orderingFromProto");var t}),{});default:throw new Error(`Stage type: ${e.name} not supported.`)}}function oC(e){return e.fieldReferenceValue?new su(Jo("_exprFromProto",e.fieldReferenceValue),"_exprFromProto"):e.functionValue?(t=e,new o(t.functionValue.name,t.functionValue.args?.map(oC)||[])):au._fromProto(e);var t}class uC{constructor(e,t,r,n){this.userId=e,this.serializer=t,this.indexManager=r,this.referenceDelegate=n,this.es={}}static ts(e,t,r,n){p(""!==e.uid,64387);var s=e.isAuthenticated()?e.uid:"";return new uC(s,t,r,n)}checkEmpty(e){let n=!0;var t=IDBKeyRange.bound([this.userId,Number.NEGATIVE_INFINITY],[this.userId,Number.POSITIVE_INFINITY]);return hC(e)._i({index:Jh,range:t},(e,t,r)=>{n=!1,r.done()}).next(()=>n)}addMutationBatch(h,c,C,d){let f=cC(h),g=hC(h);return g.add({}).next(t=>{p("number"==typeof t,49019);let e=new Sh(t,c,C,d),r=(s=this.serializer,i=this.userId,a=e,B=a.baseMutations.map(e=>Ga(s.Xi,e)),o=a.mutations.map(e=>Ga(s.Xi,e)),{userId:i,batchId:a.batchId,localWriteTimeMs:a.localWriteTime.toMillis(),baseMutations:B,mutations:o}),n=[];var s,i,a,B,o;let u=new sr((e,t)=>b(e.canonicalString(),t.canonicalString()));for(let l of d){let e=Qh(this.userId,l.key.path,t);u=u.add(l.key.path.popLast()),n.push(g.put(r)),n.push(f.put(e,zh))}return u.forEach(e=>{n.push(this.indexManager.addToCollectionParentIndex(h,e))}),h.addOnCommittedListener(()=>{this.es[t]=e.keys()}),O.waitFor(n).next(()=>e)})}lookupMutationBatch(e,t){return hC(e).get(t).next(e=>e?(p(e.userId===this.userId,48,"Unexpected user for mutation batch",{userId:e.userId,batchId:t}),eC(this.serializer,e)):null)}ns(e,r){return this.es[r]?O.resolve(this.es[r]):this.lookupMutationBatch(e,r).next(e=>{var t;return e?(t=e.keys(),this.es[r]=t):null})}getNextMutationBatchAfterBatchId(e,t){let n=t+1,r=IDBKeyRange.lowerBound([this.userId,n]),s=null;return hC(e)._i({index:Jh,range:r},(e,t,r)=>{t.userId===this.userId&&(p(t.batchId>=n,47524,{rs:n}),s=eC(this.serializer,t)),r.done()}).next(()=>s)}getHighestUnacknowledgedBatchId(e){var t=IDBKeyRange.upperBound([this.userId,Number.POSITIVE_INFINITY]);let n=Wr;return hC(e)._i({index:Jh,range:t,reverse:!0},(e,t,r)=>{n=t.batchId,r.done()}).next(()=>n)}getAllMutationBatches(e){var t=IDBKeyRange.bound([this.userId,Wr],[this.userId,Number.POSITIVE_INFINITY]);return hC(e).ti(Jh,t).next(e=>e.map(e=>eC(this.serializer,e)))}getAllMutationBatchesAffectingDocumentKey(B,o){let e=jh(this.userId,o.path),t=IDBKeyRange.lowerBound(e),u=[];return cC(B)._i({range:t},(t,e,r)=>{let[n,s,i]=t,a=Gh(s);if(n===this.userId&&o.path.isEqual(a))return hC(B).get(i).next(e=>{if(!e)throw w(61480,{ss:t,batchId:i});p(e.userId===this.userId,10503,"Unexpected user for mutation batch",{userId:e.userId,batchId:i}),u.push(eC(this.serializer,e))});r.done()}).next(()=>u)}getAllMutationBatchesAffectingDocumentKeys(t,e){let B=new sr(b),r=[];return e.forEach(a=>{var e=jh(this.userId,a.path),e=IDBKeyRange.lowerBound(e),e=cC(t)._i({range:e},(e,t,r)=>{var[n,s,i]=e,s=Gh(s);n===this.userId&&a.path.isEqual(s)?B=B.add(i):r.done()});r.push(e)}),O.waitFor(r).next(()=>this._s(t,B))}getAllMutationBatchesAffectingQuery(e,t){let a=t.path,B=a.length+1,r=jh(this.userId,a),n=IDBKeyRange.lowerBound(r),o=new sr(b);return cC(e)._i({range:n},(e,t,r)=>{var[n,s,i]=e,s=Gh(s);n===this.userId&&a.isPrefixOf(s)?s.length===B&&(o=o.add(i)):r.done()}).next(()=>this._s(e,o))}_s(e,t){let r=[],n=[];return t.forEach(t=>{n.push(hC(e).get(t).next(e=>{if(null===e)throw w(35274,{batchId:t});p(e.userId===this.userId,9748,"Unexpected user for mutation batch",{userId:e.userId,batchId:t}),r.push(eC(this.serializer,e))}))}),O.waitFor(n).next(()=>r)}removeMutationBatch(t,r){return qc(t.Zi,this.userId,r).next(e=>(t.addOnCommittedListener(()=>{this.us(r.batchId)}),O.forEach(e,e=>this.referenceDelegate.markPotentiallyOrphaned(t,e))))}us(e){delete this.es[e]}performConsistencyCheck(r){return this.checkEmpty(r).next(e=>{if(!e)return O.resolve();let t=IDBKeyRange.lowerBound([this.userId]),n=[];return cC(r)._i({range:t},(t,e,r)=>{if(t[0]===this.userId){let e=Gh(t[1]);n.push(e)}else r.done()}).next(()=>{p(0===n.length,56720,{cs:n.map(e=>e.canonicalString())})})})}containsKey(e,t){return lC(e,this.userId,t)}ls(e){return CC(e).get(this.userId).next(e=>e||{userId:this.userId,lastAcknowledgedBatchId:Wr,lastStreamToken:""})}}function lC(e,i,t){let r=jh(i,t.path),a=r[1],n=IDBKeyRange.lowerBound(r),B=!1;return cC(e)._i({range:n,si:!0},(e,t,r)=>{var[n,s,,]=e;n===i&&s===a&&(B=!0),r.done()}).next(()=>B)}function hC(e){return jc(e,Uh)}function cC(e){return jc(e,Yh)}function CC(e){return jc(e,Hh)}class dC{getBundleMetadata(e,t){return fC(e).get(t).next(e=>{if(e)return{id:(e=e).bundleId,createTime:$c(e.createTime),version:e.version}})}saveBundleMetadata(e,t){return fC(e).put({bundleId:(e=t).id,createTime:Zc(Ia(e.createTime)),version:e.version})}getNamedQuery(e,t){return gC(e).get(t).next(e=>{if(e)return{name:(e=e).name,query:nC(e.bundledQuery),readTime:$c(e.readTime)}})}saveNamedQuery(e,t){return gC(e).put({name:(e=t).name,readTime:Zc(Ia(e.readTime)),bundledQuery:e.bundledQuery})}}function fC(e){return jc(e,gc)}function gC(e){return jc(e,pc)}class pC{constructor(e,t){this.serializer=e,this.userId=t}static ts(e,t){var r=t.uid||"";return new pC(e,r)}getOverlay(e,t){return mC(e).get(iC(this.userId,t)).next(e=>e?sC(this.serializer,e):null)}getOverlays(e,t){let r=Wi();return O.forEach(t,t=>this.getOverlay(e,t).next(e=>{null!==e&&r.set(t,e)})).next(()=>r)}getAllOverlays(e,n){let s=Wi();return mC(e)._i((e,t)=>{var r=sC(this.serializer,t);r.largestBatchId>n&&s.set(r.getKey(),r)}).next(()=>s)}saveOverlays(n,s,e){let i=[];return e.forEach((e,t)=>{var r=new Qc(s,t);i.push(this.Es(n,r))}),O.waitFor(i)}removeOverlaysForBatchId(r,e,n){let t=new Set,s=(e.forEach(e=>t.add(Rh(e.getCollectionPath()))),[]);return t.forEach(e=>{var t=IDBKeyRange.bound([this.userId,e,n],[this.userId,e,n+1],!1,!0);s.push(mC(r).ii(xc,t))}),O.waitFor(s)}getOverlaysForCollection(e,t,r){let n=Wi(),s=Rh(t),i=IDBKeyRange.bound([this.userId,s,r],[this.userId,s,Number.POSITIVE_INFINITY],!0);return mC(e).ti(xc,i).next(e=>{for(var t of e){let e=sC(this.serializer,t);n.set(e.getKey(),e)}return n})}getOverlaysForCollectionGroup(e,t,r,s){let i=Wi(),a;var n=IDBKeyRange.bound([this.userId,t,r],[this.userId,t,Number.POSITIVE_INFINITY],!0);return mC(e)._i({index:Sc,range:n},(e,t,r)=>{var n=sC(this.serializer,t);i.size()<s||n.largestBatchId===a?(i.set(n.getKey(),n),a=n.largestBatchId):r.done()}).next(()=>i)}Es(e,t){return mC(e).put(((e,t,r)=>{var[,n,s]=iC(t,r.mutation.key);return{userId:t,collectionPath:n,documentId:s,collectionGroup:r.mutation.key.getCollectionGroup(),largestBatchId:r.largestBatchId,overlayMutation:Ga(e.Xi,r.mutation)}})(this.serializer,this.userId,t))}}function mC(e){return jc(e,Nc)}class EC{hs(e){return jc(e,Lc)}getSessionToken(e){return this.hs(e).get("sessionToken").next(e=>{var t=e?.value;return t?Rr.fromUint8Array(t):Rr.EMPTY_BYTE_STRING})}setSessionToken(e,t){return this.hs(e).put({name:"sessionToken",value:t.toUint8Array()})}}class DC{constructor(){}Ts(e,t){this.Ps(e,t),t.Is()}Ps(e,t){if("nullValue"in e)this.Rs(t,5);else if("booleanValue"in e)this.Rs(t,10),t.As(e.booleanValue?1:0);else if("integerValue"in e)this.Rs(t,15),t.As(Pr(e.integerValue));else if("doubleValue"in e){var r=Pr(e.doubleValue);this.Vs(r,t)}else if("timestampValue"in e)this.ds(e.timestampValue,t);else if("stringValue"in e)this.fs(e.stringValue,t),this.ps(t);else if("bytesValue"in e)this.Rs(t,30),t.gs(Mr(e.bytesValue)),this.ps(t);else if("referenceValue"in e)this.ys(e.referenceValue,t);else if("geoPointValue"in e)this.ws(e.geoPointValue,t);else if("mapValue"in e){r=is(e);if(r===a.fe)this.Rs(t,Number.MAX_SAFE_INTEGER);else if(r===a.me)this.bs(e.mapValue,t);else if(r===a.de)this.Rs(t,999);else if(r===a.Ve)this.Rs(t,7);else if(r===a.Ae){var n=Mr(((e.mapValue?.fields)?.[gn])?.bytesValue).toUint8Array();if(0===n[0]){let e=n.slice(1);this.Rs(t,30),t.gs(Rr.fromUint8Array(e)),this.ps(t)}else this.Ss(e.mapValue,t)}else r===a.he?this.xs(e.mapValue,t):r===a.Re?this.vs(e.mapValue,t):r===a.Te?this.Ds(e.mapValue,t):r===a.Pe?this.Cs(e.mapValue,t):r===a.Ie?(n=parseFloat(e.mapValue.fields[cn].stringValue),this.Vs(n,t)):(this.Fs(e.mapValue,t),this.ps(t))}else"arrayValue"in e?(this.Os(e.arrayValue,t),this.ps(t)):w(19022,{Ms:e})}fs(e,t){this.Rs(t,25),this.Ns(e,t)}Ns(e,t){t.Bs(e)}Vs(e,t){isNaN(e)?this.Rs(t,13):(this.Rs(t,15),Zr(e)?t.As(0):t.As(e))}Cs(e,t){this.Rs(t,15),t.As(Pr(e.fields[hn].integerValue))}ds(e,t){this.Rs(t,20),"string"==typeof e&&(e=Gr(e)),t.Bs(""+(e.seconds||"")),t.As(e.nanos||0)}ws(e,t){this.Rs(t,45),t.As(e.latitude||0),t.As(e.longitude||0)}Fs(e,t){var r=e.fields||{};this.Rs(t,55);for(let e of Object.keys(r))this.fs(e,t),this.Ps(r[e],t)}bs(e,t){var r=e.fields||{},n=(this.Rs(t,53),nn),s=r[n].arrayValue?.values?.length||0;this.Rs(t,15),t.As(Pr(s)),this.fs(n,t),this.Ps(r[n],t)}Os(e,t){var r=e.values||[];this.Rs(t,50);for(let e of r)this.Ps(e,t)}ys(e,t){this.Rs(t,37);var r=e.split("/").filter(e=>0<e.length);x.fromSegments(r.slice(5)).path.forEach(e=>{this.Rs(t,60),this.Ns(e,t)})}Rs(e,t){e.As(t)}ps(e){e.As(2)}vs(e,t){this.Rs(t,22);var r=e.fields||{};r&&this.Fs(r[Cn].mapValue,t)}Ds(e,t){this.Rs(t,43);var r=(e.fields||{})[ln]?.stringValue||"";t.gs(Mr(r))}Ss(e,t){this.Rs(t,31);var r=(e.fields||{})[gn]?.bytesValue||"";t.gs(Mr(r)),this.ps(t)}xs(e,t){this.Rs(t,47);var r=(e.fields||{})[Bn]?.mapValue?.fields||{};r&&(t.Bs(r[on]?.stringValue||""),t.Bs(r[un]?.stringValue||"")),this.ps(t)}}DC.Ls=new DC;function vC(e){var t=64-(e=>{let t=0;for(let n=0;n<8;++n){var r=(e=>{if(0===e)return 8;let t=0;return e>>4||(t+=4,e<<=4),e>>6||(t+=2,e<<=2),e>>7||(t+=1),t})(255&e[n]);if(t+=r,8!==r)break}return t})(e);return Math.ceil(t/8)}class wC{constructor(){this.buffer=new Uint8Array(1024),this.position=0}$s(e){var t=e[Symbol.iterator]();let r=t.next();for(;!r.done;)this.Us(r.value),r=t.next();this.ks()}Qs(e){var t=e[Symbol.iterator]();let r=t.next();for(;!r.done;)this.qs(r.value),r=t.next();this.Ks()}Ws(e){for(var t of e){let e=t.charCodeAt(0);if(e<128)this.Us(e);else if(e<2048)this.Us(960|e>>>6),this.Us(128|63&e);else if(t<"\ud800"||"\udbff"<t)this.Us(480|e>>>12),this.Us(128|63&e>>>6),this.Us(128|63&e);else{let e=t.codePointAt(0);this.Us(240|e>>>18),this.Us(128|63&e>>>12),this.Us(128|63&e>>>6),this.Us(128|63&e)}}this.ks()}Gs(e){for(var t of e){let e=t.charCodeAt(0);if(e<128)this.qs(e);else if(e<2048)this.qs(960|e>>>6),this.qs(128|63&e);else if(t<"\ud800"||"\udbff"<t)this.qs(480|e>>>12),this.qs(128|63&e>>>6),this.qs(128|63&e);else{let e=t.codePointAt(0);this.qs(240|e>>>18),this.qs(128|63&e>>>12),this.qs(128|63&e>>>6),this.qs(128|63&e)}}this.Ks()}js(e){var t=this.zs(e),r=vC(t);this.Hs(1+r),this.buffer[this.position++]=255&r;for(let n=t.length-r;n<t.length;++n)this.buffer[this.position++]=255&t[n]}Js(e){var t=this.zs(e),r=vC(t);this.Hs(1+r),this.buffer[this.position++]=~(255&r);for(let n=t.length-r;n<t.length;++n)this.buffer[this.position++]=~(255&t[n])}Ys(){this.Zs(255),this.Zs(255)}Xs(){this.e_(255),this.e_(255)}reset(){this.position=0}seed(e){this.Hs(e.length),this.buffer.set(e,this.position),this.position+=e.length}t_(){return this.buffer.slice(0,this.position)}zs(e){e=e,(t=new DataView(new ArrayBuffer(8))).setFloat64(0,e,!1);var t,r=new Uint8Array(t.buffer),n=!!(128&r[0]);r[0]^=n?255:128;for(let s=1;s<r.length;++s)r[s]^=n?255:0;return r}Us(e){var t=255&e;0==t?(this.Zs(0),this.Zs(255)):255==t?(this.Zs(255),this.Zs(0)):this.Zs(t)}qs(e){var t=255&e;0==t?(this.e_(0),this.e_(255)):255==t?(this.e_(255),this.e_(0)):this.e_(e)}ks(){this.Zs(0),this.Zs(1)}Ks(){this.e_(0),this.e_(1)}Zs(e){this.Hs(1),this.buffer[this.position++]=e}e_(e){this.Hs(1),this.buffer[this.position++]=~e}Hs(e){var t=e+this.position;if(!(t<=this.buffer.length)){let e=2*this.buffer.length;e<t&&(e=t);t=new Uint8Array(e);t.set(this.buffer),this.buffer=t}}}class yC{constructor(e){this.n_=e}gs(e){this.n_.$s(e)}Bs(e){this.n_.Ws(e)}As(e){this.n_.js(e)}Is(){this.n_.Ys()}}class _C{constructor(e){this.n_=e}gs(e){this.n_.Qs(e)}Bs(e){this.n_.Gs(e)}As(e){this.n_.Js(e)}Is(){this.n_.Xs()}}class IC{constructor(){this.n_=new wC,this.ascending=new yC(this.n_),this.descending=new _C(this.n_)}seed(e){this.n_.seed(e)}r_(e){return 0===e?this.ascending:this.descending}t_(){return this.n_.t_()}reset(){this.n_.reset()}}class bC{constructor(e,t,r,n){this.i_=e,this.s_=t,this.__=r,this.o_=n}a_(){var e=this.o_.length,t=0===e||255===this.o_[e-1]?e+1:e,r=new Uint8Array(t);return r.set(this.o_,0),t!==e?r.set([0],this.o_.length):++r[r.length-1],new bC(this.i_,this.s_,this.__,r)}u_(e,t,r){return{indexId:this.i_,uid:e,arrayValue:AC(this.__),directionalValue:AC(this.o_),orderedDocumentKey:AC(t),documentKey:r.path.toArray()}}c_(e,t,r){var n=this.u_(e,t,r);return[n.indexId,n.uid,n.arrayValue,n.directionalValue,n.orderedDocumentKey,n.documentKey]}}function TC(e,t){var r=e.i_-t.i_;return 0!=r||0!==(r=NC(e.__,t.__))||0!==(r=NC(e.o_,t.o_))?r:x.comparator(e.s_,t.s_)}function NC(e,t){for(let n=0;n<e.length&&n<t.length;++n){var r=e[n]-t[n];if(0!=r)return r}return e.length-t.length}function AC(r){if(X()){var n=r;let e="";for(let t=0;t<n.length;t++)e+=String.fromCharCode(n[t]);return e}return r}function xC(e){if("string"!=typeof e)return e;var t=e,r=new Uint8Array(t.length);for(let n=0;n<t.length;n++)r[n]=t.charCodeAt(n);return r}class FC{constructor(e){this.l_=new sr((e,t)=>Er.comparator(e.field,t.field)),this.collectionId=null!=e.collectionGroup?e.collectionGroup:e.path.lastSegment(),this.E_=e.orderBy,this.h_=[];for(var t of e.filters){let e=t;e.isInequality()?this.l_=this.l_.add(e):this.h_.push(e)}}get T_(){return 1<this.l_.size}P_(e){if(p(e.collectionGroup===this.collectionId,49279),this.T_)return!1;let t=ci(e);if(void 0!==t&&!this.I_(t))return!1;var r=Ci(e);let n=new Set,s=0,i=0;for(;s<r.length&&this.I_(r[s]);++s)n=n.add(r[s].fieldPath.canonicalString());if(s!==r.length){if(0<this.l_.size){let t=this.l_.getIterator().getNext();if(!n.has(t.field.canonicalString())){let e=r[s];if(!this.R_(t,e)||!this.A_(this.E_[i++],e))return!1}++s}for(;s<r.length;++s){let e=r[s];if(i>=this.E_.length||!this.A_(this.E_[i++],e))return!1}}return!0}V_(){if(this.T_)return null;let e=new sr(Er.comparator);var t,r,n=[];for(t of this.h_)t.field.isKeyField()||("array-contains"===t.op||"array-contains-any"===t.op?n.push(new di(t.field,2)):e.has(t.field)||(e=e.add(t.field),n.push(new di(t.field,0))));for(r of this.E_)r.field.isKeyField()||e.has(r.field)||(e=e.add(r.field),n.push(new di(r.field,"asc"===r.dir?0:1)));return new hi(hi.UNKNOWN_ID,this.collectionId,n,fi.empty())}I_(e){for(var t of this.h_)if(this.R_(t,e))return!0;return!1}R_(e,t){var r;return!(void 0===e||!e.field.isEqual(t.fieldPath))&&(r="array-contains"===e.op||"array-contains-any"===e.op,2===t.kind==r)}A_(e,t){return!!e.field.isEqual(t.fieldPath)&&(0===t.kind&&"asc"===e.dir||1===t.kind&&"desc"===e.dir)}}function SC(e){var t;return 0===e.getFilters().length?[]:(t=function t(e){if(p(e instanceof m||e instanceof Qs,34018),e instanceof m)return e;if(1===e.filters.length)return t(e.filters[0]);let r=e.filters.map(e=>t(e));let n=Qs.create(r,e.op);return n=PC(n),RC(n)?n:(p(n instanceof Qs,64498),p(zs(n),40251),p(1<n.filters.length,57927),n.filters.reduce((e,t)=>kC(e,t)))}(function t(r){if(p(r instanceof m||r instanceof Qs,20012),r instanceof m){if(r instanceof ii){let e=r.value.arrayValue?.values?.map(e=>m.create(r.field,"==",e))||[];return Qs.create(e,"or")}return r}let e=r.filters.map(e=>t(e));return Qs.create(e,r.op)}(e)),p(RC(t),7391),OC(t)||LC(t)?[t]:t.getFilters())}function OC(e){return e instanceof m}function LC(e){return e instanceof Qs&&Ws(e)}function RC(e){return OC(e)||LC(e)||(e=>{if(e instanceof Qs&&Ys(e)){for(var t of e.getFilters())if(!OC(t)&&!LC(t))return!1;return!0}return!1})(e)}function kC(e,t){var r,n;return p(e instanceof m||e instanceof Qs,38388),p(t instanceof m||t instanceof Qs,25473),PC(e instanceof m?t instanceof m?(r=e,n=t,Qs.create([r,n],"and")):GC(e,t):t instanceof m?GC(t,e):((e,t)=>{if(p(0<e.filters.length&&0<t.filters.length,48005),zs(e)&&zs(t))return Zs(e,t.getFilters());let r=Ys(e)?e:t,n=Ys(e)?t:e,s=r.filters.map(e=>kC(e,n));return Qs.create(s,"or")})(e,t))}function GC(t,e){var r;return zs(e)?Zs(e,t.getFilters()):(r=e.filters.map(e=>kC(t,e)),Qs.create(r,"or"))}function PC(t){if(p(t instanceof m||t instanceof Qs,11850),t instanceof m)return t;var e=t.getFilters();if(1===e.length)return PC(e[0]);if(Xs(t))return t;let r=e.map(e=>PC(e)),n=[];return r.forEach(e=>{e instanceof m?n.push(e):e instanceof Qs&&(e.op===t.op?n.push(...e.filters):n.push(e))}),1===n.length?n[0]:Qs.create(n,t.op)}class MC{constructor(){this.d_=new VC}addToCollectionParentIndex(e,t){return this.d_.add(t),O.resolve()}getCollectionParents(e,t){return O.resolve(this.d_.getEntries(t))}addFieldIndex(e,t){return O.resolve()}deleteFieldIndex(e,t){return O.resolve()}deleteAllFieldIndexes(e){return O.resolve()}createTargetIndexes(e,t){return O.resolve()}getDocumentsMatchingTarget(e,t){return O.resolve(null)}getIndexType(e,t){return O.resolve(0)}getFieldIndexes(e,t){return O.resolve([])}getNextCollectionGroupToUpdate(e){return O.resolve(null)}getMinOffset(e,t){return O.resolve(mi.min())}getMinOffsetFromCollectionGroup(e,t){return O.resolve(mi.min())}updateCollectionGroup(e,t,r){return O.resolve()}updateIndexEntries(e,t){return O.resolve()}}class VC{constructor(){this.index={}}add(e){var t=e.lastSegment(),r=e.popLast(),n=this.index[t]||new sr(A.comparator),s=!n.has(r);return this.index[t]=n.add(r),s}has(e){var t=e.lastSegment(),r=e.popLast(),t=this.index[t];return t&&t.has(r)}getEntries(e){return(this.index[e]||new sr(A.comparator)).toArray()}}let HC="IndexedDbIndexManager",UC=new Uint8Array(0);class qC{constructor(e,t){this.databaseId=t,this.f_=new VC,this.m_=new Ki(e=>wi(e),(e,t)=>yi(e,t)),this.uid=e.uid||""}addToCollectionParentIndex(e,t){var r,n;return this.f_.has(t)?O.resolve():(n=t.lastSegment(),r=t.popLast(),e.addOnCommittedListener(()=>{this.f_.add(t)}),n={collectionId:n,parent:Rh(r)},JC(e).put(n))}getCollectionParents(e,r){let n=[],t=IDBKeyRange.bound([r,""],[er(r),""],!1,!0);return JC(e).ti(t).next(e=>{for(var t of e){if(t.collectionId!==r)break;n.push(Gh(t.parent))}return n})}addFieldIndex(e,r){let t=jC(e),n={indexId:r.indexId,collectionGroup:r.collectionGroup,fields:r.fields.map(e=>[e.fieldPath.canonicalString(),e.kind])};delete n.indexId;var s=t.add(n);if(r.indexState){let t=QC(e);return s.next(e=>{t.put(aC(e,this.uid,r.indexState.sequenceNumber,r.indexState.offset))})}return s.next()}deleteFieldIndex(e,t){let r=jC(e),n=QC(e),s=KC(e);return r.delete(t.indexId).next(()=>n.delete(IDBKeyRange.bound([t.indexId],[t.indexId+1],!1,!0))).next(()=>s.delete(IDBKeyRange.bound([t.indexId],[t.indexId+1],!1,!0)))}deleteAllFieldIndexes(e){let t=jC(e),r=KC(e),n=QC(e);return t.ii().next(()=>r.ii()).next(()=>n.ii())}createTargetIndexes(r,e){return O.forEach(this.p_(e),t=>this.getIndexType(r,t).next(e=>{if(0===e||1===e){let e=new FC(t).V_();if(null!=e)return this.addFieldIndex(r,e)}}))}getDocumentsMatchingTarget(e,h){let c=KC(e),r=!0,n=new Map;return O.forEach(this.p_(h),t=>this.g_(e,t).next(e=>{r=r&&!!e,n.set(t,e)})).next(()=>{if(r){let u=S(),l=[];return O.forEach(n,(e,t)=>{C(HC,`Using index ${r=e,`id=${r.indexId}|cg=${r.collectionGroup}|f=`+r.fields.map(e=>e.fieldPath+":"+e.kind).join(",")} to execute `+wi(h));var r,n=((t,e)=>{var r=ci(e);if(void 0!==r)for(let e of bi(t,r.fieldPath))switch(e.op){case"array-contains-any":return e.value.arrayValue.values||[];case"array-contains":return[e.value]}return null})(t,e),s=((t,r)=>{var n,s=new Map;for(n of Ci(r))for(let e of bi(t,n.fieldPath))switch(e.op){case"==":case"in":s.set(n.fieldPath.canonicalString(),e.value);break;case"not-in":case"!=":return s.set(n.fieldPath.canonicalString(),e.value),Array.from(s.values())}return null})(t,e),i=((t,e)=>{var r,n=[];let s=!0;for(r of Ci(e)){let e=(0===r.kind?Ti:Ni)(t,r.fieldPath,t.startAt);n.push(e.value),s=s&&e.inclusive}return new qs(n,s)})(t,e),a=((t,e)=>{var r,n=[];let s=!0;for(r of Ci(e)){let e=(0===r.kind?Ni:Ti)(t,r.fieldPath,t.endAt);n.push(e.value),s=s&&e.inclusive}return new qs(n,s)})(t,e),B=this.y_(e,t,i),o=this.y_(e,t,a),s=this.w_(e,t,s),n=this.b_(e.indexId,n,B,i.inclusive,o,a.inclusive,s);return O.forEach(n,e=>c.ri(e,h.limit).next(e=>{e.forEach(e=>{var t=x.fromSegments(e.documentKey);u.has(t)||(u=u.add(t),l.push(t))})}))}).next(()=>l)}return O.resolve(null)})}p_(t){let e=this.m_.get(t);return e||(e=0===t.filters.length?[t]:SC(Qs.create(t.filters,"and")).map(e=>vi(t.path,t.collectionGroup,t.orderBy,e.getFilters(),t.limit,t.startAt,t.endAt)),this.m_.set(t,e)),e}b_(s,i,a,B,o,u,l){let e=(null!=i?i.length:1)*Math.max(a.length,o.length),h=e/(null!=i?i.length:1),c=[];for(let C=0;C<e;++C){let t=i?this.S_(i[C/h]):UC,e=this.x_(s,t,a[C%h],B),r=this.v_(s,t,o[C%h],u),n=l.map(e=>this.x_(s,t,e,!0));c.push(...this.createRange(e,r,n))}return c}x_(e,t,r,n){var s=new bC(e,x.empty(),t,r);return n?s:s.a_()}v_(e,t,r,n){var s=new bC(e,x.empty(),t,r);return n?s.a_():s}g_(e,t){let n=new FC(t),r=null!=t.collectionGroup?t.collectionGroup:t.path.lastSegment();return this.getFieldIndexes(e,r).next(e=>{let t=null;for(var r of e)n.P_(r)&&(!t||r.fields.length>t.fields.length)&&(t=r);return t})}getIndexType(e,t){let r=2,n=this.p_(t);return O.forEach(n,t=>this.g_(e,t).next(e=>{e?0!==r&&e.fields.length<(t=>{let r=new sr(Er.comparator),n=!1;for(var s of t.filters)for(let e of s.getFlattenedFilters())e.field.isKeyField()||("array-contains"===e.op||"array-contains-any"===e.op?n=!0:r=r.add(e.field));for(let n of t.orderBy)n.field.isKeyField()||(r=r.add(n.field));return r.size+(n?1:0)})(t)&&(r=1):r=0})).next(()=>null!==t.limit&&1<n.length&&2===r?1:r)}D_(e,t){var r,n=new IC;for(r of Ci(e)){let e=t.data.field(r.fieldPath);if(null==e)return null;var s=n.r_(r.kind);DC.Ls.Ts(e,s)}return n.t_()}S_(e){var t=new IC;return DC.Ls.Ts(e,t.r_(0)),t.t_()}C_(e,t){var r,n=new IC;return DC.Ls.Ts(Yn(this.databaseId,t),n.r_(0===(r=Ci(e)).length?0:r[r.length-1].kind)),n.t_()}w_(e,n,s){if(null===s)return[];let i=[],a=(i.push(new IC),0);for(var B of Ci(e)){let t=s[a++];for(let r of i)if(this.F_(n,B.fieldPath)&&ts(t))i=this.O_(i,B,t);else{let e=r.r_(B.kind);DC.Ls.Ts(t,e)}}return this.M_(i)}y_(e,t,r){return this.w_(e,t,r.position)}M_(e){var t=[];for(let r=0;r<e.length;++r)t[r]=e[r].t_();return t}O_(r,n,e){let s=[...r],i=[];for(let r of e.arrayValue.values||[])for(let t of s){let e=new IC;e.seed(t.t_()),DC.Ls.Ts(r,e.r_(n.kind)),i.push(e)}return i}F_(e,t){return!!e.filters.find(e=>e instanceof m&&e.field.isEqual(t)&&("in"===e.op||"not-in"===e.op))}getFieldIndexes(e,t){let r=jC(e),n=QC(e);return(t?r.ti(Ec,IDBKeyRange.bound(t,t)):r.ti()).next(e=>{let i=[];return O.forEach(e,s=>n.get([s.indexId,this.uid]).next(e=>{var t,r,n;i.push((t=s,r=(e=e)?new fi(e.sequenceNumber,new mi($c(e.readTime),new x(Gh(e.documentKey)),e.largestBatchId)):fi.empty(),n=t.fields.map(([e,t])=>new di(Er.fromServerFormat(e),t)),new hi(t.indexId,t.collectionGroup,n,r)))})).next(()=>i)})}getNextCollectionGroupToUpdate(e){return this.getFieldIndexes(e).next(e=>0===e.length?null:(e.sort((e,t)=>{var r=e.indexState.sequenceNumber-t.indexState.sequenceNumber;return 0!=r?r:b(e.collectionGroup,t.collectionGroup)}),e[0].collectionGroup))}updateCollectionGroup(e,r,n){let s=jC(e),i=QC(e);return this.N_(e).next(t=>s.ti(Ec,IDBKeyRange.bound(r,r)).next(e=>O.forEach(e,e=>i.put(aC(e.indexId,this.uid,t,n)))))}updateIndexEntries(s,e){let r=new Map;return O.forEach(e,(t,n)=>{var e=r.get(t.collectionGroup);return(e?O.resolve(e):this.getFieldIndexes(s,t.collectionGroup)).next(e=>(r.set(t.collectionGroup,e),O.forEach(e,r=>this.B_(s,t,r).next(e=>{var t=this.L_(n,r);return e.isEqual(t)?O.resolve():this.U_(s,n,r,e,t)}))))})}k_(e,t,r,n){return KC(e).put(n.u_(this.uid,this.C_(r,t.key),t.key))}Q_(e,t,r,n){return KC(e).delete(n.c_(this.uid,this.C_(r,t.key),t.key))}B_(e,r,n){var t=KC(e);let s=new sr(TC);return t._i({index:bc,range:IDBKeyRange.only([n.indexId,this.uid,AC(this.C_(n,r))])},(e,t)=>{s=s.add(new bC(n.indexId,r,xC(t.arrayValue),xC(t.directionalValue)))}).next(()=>s)}L_(t,r){let n=new sr(TC);var s=this.D_(r,t);if(null!=s){let e=ci(r);if(null!=e){var i=t.data.field(e.fieldPath);if(ts(i))for(let e of i.arrayValue.values||[])n=n.add(new bC(r.indexId,t.key,this.S_(e),s))}else n=n.add(new bC(r.indexId,t.key,UC,s))}return n}U_(t,r,i,e,a){C(HC,"Updating index entries for document '%s'",r.key);let B=[];{var o=TC,u=e=>{B.push(this.k_(t,r,i,e))},l=e=>{B.push(this.Q_(t,r,i,e))},h=e.getIterator(),c=a.getIterator();let n=fr(h),s=fr(c);for(;n||s;){let t=!1,r=!1;if(n&&s){let e=o(n,s);e<0?r=!0:0<e&&(t=!0)}else null!=n?r=!0:t=!0;t?(u(s),s=fr(c)):r?(l(n),n=fr(h)):(n=fr(h),s=fr(c))}}return O.waitFor(B)}N_(e){let n=1;return QC(e)._i({index:wc,reverse:!0,range:IDBKeyRange.upperBound([this.uid,Number.MAX_SAFE_INTEGER])},(e,t,r)=>{r.done(),n=t.sequenceNumber+1}).next(()=>n)}createRange(r,n,e){e=e.sort((e,t)=>TC(e,t)).filter((e,t,r)=>!t||0!==TC(e,r[t-1]));var s=[];s.push(r);for(let i of e){let e=TC(i,r),t=TC(i,n);if(0===e)s[0]=r.a_();else if(0<e&&t<0)s.push(i),s.push(i.a_());else if(0<t)break}s.push(n);let i=[];for(let a=0;a<s.length;a+=2){if(this.q_(s[a],s[a+1]))return[];let e=s[a].c_(this.uid,UC,x.empty()),t=s[a+1].c_(this.uid,UC,x.empty());i.push(IDBKeyRange.bound(e,t))}return i}q_(e,t){return 0<TC(e,t)}getMinOffsetFromCollectionGroup(e,t){return this.getFieldIndexes(e,t).next(zC)}getMinOffset(t,e){return O.mapArray(this.p_(e),e=>this.g_(t,e).next(e=>e||w(44426))).next(zC)}}function JC(e){return jc(e,Cc)}function KC(e){return jc(e,_c)}function jC(e){return jc(e,mc)}function QC(e){return jc(e,Dc)}function zC(e){p(0!==e.length,28825);let t=e[0].indexState.offset,r=t.largestBatchId;for(let s=1;s<e.length;s++){var n=e[s].indexState.offset;Ei(n,t)<0&&(t=n),r<n.largestBatchId&&(r=n.largestBatchId)}return new mi(t.readTime,t.documentKey,r)}class YC{constructor(e){this.K_=e}next(){return this.K_+=2,this.K_}static W_(){return new YC(0)}static G_(){return new YC(-1)}}class WC{constructor(e,t){this.referenceDelegate=e,this.serializer=t}allocateTargetId(r){return this.j_(r).next(e=>{var t=new YC(e.highestTargetId);return e.highestTargetId=t.next(),this.z_(r,e).next(()=>e.highestTargetId)})}getLastRemoteSnapshotVersion(e){return this.j_(e).next(e=>F.fromTimestamp(new g(e.lastRemoteSnapshotVersion.seconds,e.lastRemoteSnapshotVersion.nanoseconds)))}getHighestSequenceNumber(e){return this.j_(e).next(e=>e.highestListenSequenceNumber)}setTargetsMetadata(t,r,n){return this.j_(t).next(e=>(e.highestListenSequenceNumber=r,n&&(e.lastRemoteSnapshotVersion=n.toTimestamp()),e.highestListenSequenceNumber<r&&(e.highestListenSequenceNumber=r),this.z_(t,e)))}addTargetData(t,r){return this.H_(t,r).next(()=>this.j_(t).next(e=>(e.targetCount+=1,this.J_(r,e),this.z_(t,e))))}updateTargetData(e,t){return this.H_(e,t)}removeTargetData(t,e){return this.removeMatchingKeysForTargetId(t,e.targetId).next(()=>XC(t).delete(e.targetId)).next(()=>this.j_(t)).next(e=>(p(0<e.targetCount,8065),--e.targetCount,this.z_(t,e)))}removeTargets(n,s,i){let a=0,B=[];return XC(n)._i((e,t)=>{var r=tC(this.serializer,t);r.sequenceNumber<=s&&null===i.get(r.targetId)&&(a++,B.push(this.removeTargetData(n,r)))}).next(()=>O.waitFor(B)).next(()=>a)}forEachTarget(e,n){return XC(e)._i((e,t)=>{var r=tC(this.serializer,t);n(r)})}j_(e){return ZC(e).get(hc).next(e=>(p(null!==e,2888),e))}z_(e,t){return ZC(e).put(hc,t)}H_(e,t){return XC(e).put(rC(this.serializer,t))}J_(e,t){let r=!1;return e.targetId>t.highestTargetId&&(t.highestTargetId=e.targetId,r=!0),t.highestListenSequenceNumber<e.sequenceNumber&&(t.highestListenSequenceNumber=e.sequenceNumber,r=!0),r}getTargetCount(e){return this.j_(e).next(e=>e.targetCount)}getTargetData(e,s){var t=Ah(s),t=IDBKeyRange.bound([t,Number.NEGATIVE_INFINITY],[t,Number.POSITIVE_INFINITY]);let i=null;return XC(e)._i({range:t,index:ic},(e,t,r)=>{var n=tC(this.serializer,t);xh(s,n.target)&&(i=n,r.done())}).next(()=>i)}addMatchingKeys(r,e,n){let s=[],i=$C(r);return e.forEach(e=>{var t=Rh(e.path);s.push(i.put({targetId:n,path:t})),s.push(this.referenceDelegate.addReference(r,n,e))}),O.waitFor(s)}removeMatchingKeys(r,e,n){let s=$C(r);return O.forEach(e,e=>{var t=Rh(e.path);return O.waitFor([s.delete([n,t]),this.referenceDelegate.removeReference(r,n,e)])})}removeMatchingKeysForTargetId(e,t){var r=$C(e),n=IDBKeyRange.bound([t],[t+1],!1,!0);return r.delete(n)}getMatchingKeysForTargetId(e,t){var r=IDBKeyRange.bound([t],[t+1],!1,!0),n=$C(e);let s=S();return n._i({range:r,si:!0},(e,t,r)=>{var n=Gh(e[1]),n=new x(n);s=s.add(n)}).next(()=>s)}containsKey(e,t){var r=Rh(t.path),r=IDBKeyRange.bound([r],[er(r)],!1,!0);let n=0;return $C(e)._i({index:uc,si:!0,range:r},([e],t,r)=>{0!==e&&(n++,r.done())}).next(()=>0<n)}Mt(e,t){return XC(e).get(t).next(e=>e?tC(this.serializer,e):null)}}function XC(e){return jc(e,sc)}function ZC(e){return jc(e,cc)}function $C(e){return jc(e,Bc)}class ed{constructor(e,t){this.db=e,this.garbageCollector=Bo(this,t)}Pi(e){let r=this.Y_(e);return this.db.getTargetCache().getTargetCount(e).next(t=>r.next(e=>t+e))}Y_(e){let t=0;return this.Ii(e,e=>{t++}).next(()=>t)}forEachTarget(e,t){return this.db.getTargetCache().forEachTarget(e,t)}Ii(e,r){return this.Z_(e,(e,t)=>r(t))}addReference(e,t,r){return td(e,r)}removeReference(e,t,r){return td(e,r)}removeTargets(e,t,r){return this.db.getTargetCache().removeTargets(e,t,r)}markPotentiallyOrphaned(e,t){return td(e,t)}X_(e,r){{var n=e,s=r;let t=!1;return CC(n).oi(e=>lC(n,e,s).next(e=>(e&&(t=!0),O.resolve(!e)))).next(()=>t)}}removeOrphanedDocuments(r,n){let s=this.db.getRemoteDocumentCache().newChangeBuffer(),i=[],a=0;return this.Z_(r,(t,e)=>{if(e<=n){let e=this.X_(r,t).next(e=>{if(!e)return a++,s.getEntry(r,t).next(()=>(s.removeEntry(t,F.min()),$C(r).delete([0,Rh(t.path)])))});i.push(e)}}).next(()=>O.waitFor(i)).next(()=>s.apply(r)).next(()=>a)}removeTarget(e,t){var r=t.withSequenceNumber(e.currentSequenceNumber);return this.db.getTargetCache().updateTargetData(e,r)}updateLimboDocument(e,t){return td(e,t)}Z_(e,n){var t=$C(e);let s,i=HB.Br;return t._i({index:uc},([e],{path:t,sequenceNumber:r})=>{0===e?(i!==HB.Br&&n(new x(Gh(s)),i),i=r,s=t):i=HB.Br}).next(()=>{i!==HB.Br&&n(new x(Gh(s)),i)})}getCacheSize(e){return this.db.getRemoteDocumentCache().getSize(e)}}function td(e,t){return $C(e).put((e=e.currentSequenceNumber,{targetId:0,path:Rh(t.path),sequenceNumber:e}))}function rd(e,t){let r=t;for(let t of e.stages)r=((t,r,n)=>{var s,i,a,B,o;if(r instanceof wu)return s=r,n.filter(e=>e.isFoundDocument()&&"/"+e.key.getCollectionPath().canonicalString()===s.pi);if(r instanceof bu)return i=t,a=r,n.filter(e=>{var t=Pu(R(a.condition).evaluate(i,e));return void 0!==t&&Fn(t,Nn)});if(r instanceof yu)return B=r,n.filter(e=>e.isFoundDocument()&&e.key.getCollectionPath().lastSegment()===B.collectionId);if(r instanceof _u)return n.filter(e=>e.isFoundDocument());if(r instanceof Iu)return o=r,n.filter(e=>e.isFoundDocument()&&o.yi.has(e.key.path.toStringWithLeadingSlash()));if(r instanceof Tu)return n.slice(0,r.limit);if(r instanceof Au){var u=t,t=n;let e=r.orderings.map(e=>({eo:R(e.expr),direction:e.direction}));return[...t].sort((n,s)=>{for(var{eo:i,direction:a}of e){let e=Pu(i.evaluate(u,n)),t=Pu(i.evaluate(u,s)),r=On(e??pn,t??pn);if(0!==r)return"ascending"===a?r:-r}return 0})}throw new Error("Unknown stage: "+r._name)})({serializer:e.serializer,serverTimestampBehavior:e.listenOptions?.serverTimestampBehavior},t,r);return r}function nd(e,t){return 0<rd(e,[t]).length}function sd(e,t){return(Ih(e)?nd:Vi)(e,t)}function id(a){let e=(e=>{for(let r=e.stages.length-1;0<=r;r--){var t=e.stages[r];if(t instanceof Au)return t.orderings}throw new Error("Pipeline must contain at least one Sort stage")})(a);return(n,s)=>{for(var i of e){let e=Pu(R(i.expr).evaluate({serializer:a.serializer},n)),t=Pu(R(i.expr).evaluate({serializer:a.serializer},s)),r=On(e||pn,t||pn);if(0!==r)return"ascending"===i.direction?r:-r}return 0}}function ad(e){for(let r=e.stages.length-1;0<=r;r--){var t=e.stages[r];if(t instanceof Tu)return{limit:t.limit}}}class Bd{constructor(){this.changes=new Ki(e=>e.toString(),(e,t)=>e.isEqual(t)),this.changesApplied=!1}addEntry(e){this.assertNotApplied(),this.changes.set(e.key,e)}removeEntry(e,t){this.assertNotApplied(),this.changes.set(e,ui.newInvalidDocument(e).setReadTime(t))}getEntry(e,t){this.assertNotApplied();var r=this.changes.get(t);return void 0!==r?O.resolve(r):this.getFromCache(e,t)}getEntries(e,t){return this.getAllFromCache(e,t)}apply(e){return this.assertNotApplied(),this.changesApplied=!0,this.applyChanges(e)}assertNotApplied(){}}class od{constructor(e){this.serializer=e}setIndexManager(e){this.indexManager=e}addEntry(e,t,r){return cd(e).put(r)}removeEntry(e,t,r){return cd(e).delete((e=r,[(n=t.path.toArray()).slice(0,n.length-2),n[n.length-2],Xc(e),n[n.length-1]]));var n}updateMetadata(t,r){return this.getMetadata(t).next(e=>(e.byteSize+=r,this.no(t,e)))}getEntry(e,r){let n=ui.newInvalidDocument(r);return cd(e)._i({index:Zh,range:IDBKeyRange.only(Cd(r))},(e,t)=>{n=this.ro(r,t)}).next(()=>n)}io(e,r){let n={size:0,document:ui.newInvalidDocument(r)};return cd(e)._i({index:Zh,range:IDBKeyRange.only(Cd(r))},(e,t)=>{n={document:this.ro(r,t),size:Jc(t)}}).next(()=>n)}getEntries(e,t){let n=ji;return this.so(e,t,(e,t)=>{var r=this.ro(e,t);n=n.insert(e,r)}).next(()=>n)}getAllEntries(e){let n=ji;return cd(e)._i((e,t)=>{var r=this.ro(x.fromSegments(t.prefixPath.concat(t.collectionGroup,t.documentId)),t);n=n.insert(r.key,r)}).next(()=>n)}_o(e,t){let n=ji,s=new tr(x.comparator);return this.so(e,t,(e,t)=>{var r=this.ro(e,t);n=n.insert(e,r),s=s.insert(e,Jc(t))}).next(()=>({documents:n,oo:s}))}so(e,t,s){if(t.isEmpty())return O.resolve();let r=new sr(fd),n=(t.forEach(e=>r=r.add(e)),IDBKeyRange.bound(Cd(r.first()),Cd(r.last()))),i=r.getIterator(),a=i.getNext();return cd(e)._i({index:Zh,range:n},(e,t,r)=>{for(var n=x.fromSegments([...t.prefixPath,t.collectionGroup,t.documentId]);a&&fd(a,n)<0;)s(a,null),a=i.getNext();a&&a.isEqual(n)&&(s(a,t),a=i.hasNext()?i.getNext():null),a?r.ei(Cd(a)):r.done()}).next(()=>{for(;a;)s(a,null),a=i.hasNext()?i.getNext():null})}getDocumentsMatchingQuery(e,n,t,s,i){var r=Ih(n)?A.fromString(Lu(n)):n.path,a=[r.popLast().toArray(),r.lastSegment(),Xc(t.readTime),t.documentKey.path.isEmpty()?"":t.documentKey.path.lastSegment()],r=[r.popLast().toArray(),r.lastSegment(),[Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],""];return cd(e).ti(IDBKeyRange.bound(a,r,!0)).next(e=>{i?.incrementDocumentReadCount(e.length);let t=ji;for(let r of e){let e=this.ro(x.fromSegments(r.prefixPath.concat(r.collectionGroup,r.documentId)),r);e.isFoundDocument()&&(sd(n,e)||s.has(e.key))&&(t=t.insert(e.key,e))}return t})}getAllFromCollectionGroup(e,t,r,s){let i=ji;var n=dd(t,r),a=dd(t,mi.max());return cd(e)._i({index:ec,range:IDBKeyRange.bound(n,a,!0)},(e,t,r)=>{var n=this.ro(x.fromSegments(t.prefixPath.concat(t.collectionGroup,t.documentId)),t);(i=i.insert(n.key,n)).size===s&&r.done()}).next(()=>i)}newChangeBuffer(e){return new ld(this,!!e&&e.trackRemovals)}getSize(e){return this.getMetadata(e).next(e=>e.byteSize)}getMetadata(e){return hd(e).get(nc).next(e=>(p(!!e,20021),e))}no(e,t){return hd(e).put(nc,t)}ro(e,t){if(t){let e=((e,r)=>{let n;if(r.document)n=ka(e.Xi,r.document,!!r.hasCommittedMutations);else if(r.noDocument){let e=x.fromSegments(r.noDocument.path),t=$c(r.noDocument.readTime);n=ui.newNoDocument(e,t),r.hasCommittedMutations&&n.setHasCommittedMutations()}else{if(!r.unknownDocument)return w(56709);{let e=x.fromSegments(r.unknownDocument.path),t=$c(r.unknownDocument.version);n=ui.newUnknownDocument(e,t)}}return r.readTime&&n.setReadTime((e=r.readTime,t=new g(e[0],e[1]),F.fromTimestamp(t))),n;var t})(this.serializer,t);if(!e.isNoDocument()||!e.version.isEqual(F.min()))return e}return ui.newInvalidDocument(e)}}function ud(e){return new od(e)}class ld extends Bd{constructor(e,t){super(),this.ao=e,this.trackRemovals=t,this.uo=new Ki(e=>e.toString(),(e,t)=>e.isEqual(t))}applyChanges(i){let a=[],B=0,o=new sr((e,t)=>b(e.canonicalString(),t.canonicalString()));return this.changes.forEach((t,r)=>{var e=this.uo.get(t);if(a.push(this.ao.removeEntry(i,t,e.readTime)),r.isValidDocument()){var n=Wc(this.ao.serializer,r),s=(o=o.add(t.path.popLast()),Jc(n));B+=s-e.size,a.push(this.ao.addEntry(i,t,n))}else if(B-=e.size,this.trackRemovals){let e=Wc(this.ao.serializer,r.convertToNoDocument(F.min()));a.push(this.ao.addEntry(i,t,e))}}),o.forEach(e=>{a.push(this.ao.indexManager.addToCollectionParentIndex(i,e))}),a.push(this.ao.updateMetadata(i,B)),O.waitFor(a)}getFromCache(e,t){return this.ao.io(e,t).next(e=>(this.uo.set(t,{size:e.size,readTime:e.document.readTime}),e.document))}getAllFromCache(e,t){return this.ao._o(e,t).next(({documents:r,oo:e})=>(e.forEach((e,t)=>{this.uo.set(e,{size:t,readTime:r.get(e).readTime})}),r))}}function hd(e){return jc(e,rc)}function cd(e){return jc(e,Wh)}function Cd(e){var t=e.path.toArray();return[t.slice(0,t.length-2),t[t.length-2],t[t.length-1]]}function dd(e,t){var r=t.documentKey.path.toArray();return[e,Xc(t.readTime),r.slice(0,r.length-2),0<r.length?r[r.length-1]:""]}function fd(e,t){var r=e.path.toArray(),n=t.path.toArray();let s=0;for(let i=0;i<r.length-2&&i<n.length-2;++i)if(s=b(r[i],n[i]))return s;return(s=b(r.length,n.length))||(s=b(r[r.length-2],n[n.length-2]))||b(r[r.length-1],n[n.length-1])}class gd{constructor(e,t){this.overlayedDocument=e,this.mutatedFields=t}}class pd{constructor(e,t,r,n){this.remoteDocumentCache=e,this.mutationQueue=t,this.documentOverlayCache=r,this.indexManager=n}getDocument(t,r){let n=null;return this.documentOverlayCache.getOverlay(t,r).next(e=>(n=e,this.remoteDocumentCache.getEntry(t,r))).next(e=>(null!==n&&Ls(n.mutation,e,Dr.empty(),g.now()),e))}getDocuments(t,e){return this.remoteDocumentCache.getEntries(t,e).next(e=>this.getLocalViewOfDocuments(t,e,S()).next(()=>e))}getLocalViewOfDocuments(e,t,r=S()){let n=Wi();return this.populateOverlays(e,n,t).next(()=>this.computeViews(e,t,n,r).next(e=>{let r=zi();return e.forEach((e,t)=>{r=r.insert(e,t.overlayedDocument)}),r}))}getOverlayedDocuments(e,t){let r=Wi();return this.populateOverlays(e,r,t).next(()=>this.computeViews(e,t,r,S()))}populateOverlays(e,r,t){let n=[];return t.forEach(e=>{r.has(e)||n.push(e)}),this.documentOverlayCache.getOverlays(e,n).next(e=>{e.forEach((e,t)=>{r.set(e,t)})})}computeViews(e,t,n,s){let i=ji,a=Wi(),r=Wi();return t.forEach((e,t)=>{var r=n.get(t.key);s.has(t.key)&&(void 0===r||r.mutation instanceof Gs)?i=i.insert(t.key,t):void 0!==r?(a.set(t.key,r.mutation.getFieldMask()),Ls(r.mutation,t,r.mutation.getFieldMask(),g.now())):a.set(t.key,Dr.empty())}),this.recalculateAndSaveOverlays(e,i).next(e=>(e.forEach((e,t)=>a.set(e,t)),t.forEach((e,t)=>r.set(e,new gd(t,a.get(e)??null))),r))}recalculateAndSaveOverlays(a,B){let o=Wi(),u=new tr((e,t)=>e-t),l=S();return this.mutationQueue.getAllMutationBatchesAffectingDocumentKeys(a,B).next(e=>{for(let n of e)n.keys().forEach(e=>{var t,r=B.get(e);null!==r&&(t=o.get(e)||Dr.empty(),t=n.applyToLocalView(r,t),o.set(e,t),r=(u.get(n.batchId)||S()).add(e),u=u.insert(n.batchId,r))})}).next(()=>{for(var s=[],i=u.getReverseIterator();i.hasNext();){let e=i.getNext(),t=e.key,r=e.value,n=Wi();r.forEach(e=>{var t;l.has(e)||(null!==(t=Os(B.get(e),o.get(e)))&&n.set(e,t),l=l.add(e))}),s.push(this.documentOverlayCache.saveOverlays(a,t,n))}return O.waitFor(s)}).next(()=>o)}recalculateAndSaveOverlaysForDocumentKeys(t,e){return this.remoteDocumentCache.getEntries(t,e).next(e=>this.recalculateAndSaveOverlays(t,e))}getDocumentsMatchingQuery(e,t,r,n){return Ih(t)?this.getDocumentsMatchingPipeline(e,t,r,n):(s=t,x.isDocumentKey(s.path)&&null===s.collectionGroup&&0===s.filters.length?this.getDocumentsMatchingDocumentQuery(e,t.path):Oi(t)?this.getDocumentsMatchingCollectionGroupQuery(e,t,r,n):this.getDocumentsMatchingCollectionQuery(e,t,r,n));var s}getNextDocuments(i,t,a,B){return this.remoteDocumentCache.getAllFromCollectionGroup(i,t,a,B).next(r=>{var e=0<B-r.size?this.documentOverlayCache.getOverlaysForCollectionGroup(i,t,a.largestBatchId,B-r.size):O.resolve(Wi());let n=li,s=r;return e.next(e=>O.forEach(e,(t,e)=>(n<e.largestBatchId&&(n=e.largestBatchId),r.get(t)?O.resolve():this.remoteDocumentCache.getEntry(i,t).next(e=>{s=s.insert(t,e)}))).next(()=>this.populateOverlays(i,e,r)).next(()=>this.computeViews(i,s,e,S())).next(e=>({batchId:n,changes:Yi(e)})))})}getDocumentsMatchingDocumentQuery(e,t){return this.getDocument(e,new x(t)).next(e=>{let t=zi();return t=e.isFoundDocument()?t.insert(e.key,e):t})}getDocumentsMatchingCollectionGroupQuery(n,s,i,a){let B=s.collectionGroup,o=zi();return this.indexManager.getCollectionParents(n,B).next(e=>O.forEach(e,e=>{t=s,e=e.child(B);var t,r=new Ai(e,null,t.explicitOrderBy.slice(),t.filters.slice(),t.limit,t.limitType,t.startAt,t.endAt);return this.getDocumentsMatchingCollectionQuery(n,r,i,a).next(e=>{e.forEach((e,t)=>{o=o.insert(e,t)})})}).next(()=>o))}getDocumentsMatchingCollectionQuery(t,r,n,s){let i;return this.documentOverlayCache.getOverlaysForCollection(t,r.path,n.largestBatchId).next(e=>(i=e,this.remoteDocumentCache.getDocumentsMatchingQuery(t,r,n,i,s))).next(e=>this.retrieveMatchingLocalDocuments(i,e,e=>Vi(r,e)))}getDocumentsMatchingPipeline(a,B,o,u){if("collection_group"===Ou(B)){let s=Ru(B),i=zi();return this.indexManager.getCollectionParents(a,s).next(e=>O.forEach(e,e=>{t=B,r=e.child(s),n=t.stages.map(e=>e instanceof yu?new wu(r.canonicalString(),{}):e);var t,r,n=new Su(t.serializer,n);return this.getDocumentsMatchingPipeline(a,n,o,u).next(e=>{e.forEach((e,t)=>{i=i.insert(e,t)})})}).next(()=>i))}{let r;return this.getOverlaysForPipeline(a,B,o.largestBatchId).next(e=>{switch(r=e,Ou(B)){case"collection":return this.remoteDocumentCache.getDocumentsMatchingQuery(a,B,o,r,u);case"documents":let e=S();for(let t of Gu(B))e=e.add(x.fromPath(t));return this.remoteDocumentCache.getEntries(a,e);case"database":return this.remoteDocumentCache.getAllEntries(a);default:throw new N("invalid-argument","Invalid pipeline source to execute offline: "+yh(B))}}).next(e=>this.retrieveMatchingLocalDocuments(r,e,e=>nd(B,e)))}}retrieveMatchingLocalDocuments(n,s,i){n.forEach((e,t)=>{var r=t.getKey();null===s.get(r)&&(s=s.insert(r,ui.newInvalidDocument(r)))});let a=zi();return s.forEach((e,t)=>{var r=n.get(e);void 0!==r&&Ls(r.mutation,t,Dr.empty(),g.now()),i(t)&&(a=a.insert(e,t))}),a}getOverlaysForPipeline(e,t,r){switch(Ou(t)){case"collection":return this.documentOverlayCache.getOverlaysForCollection(e,A.fromString(Lu(t)),r);case"collection_group":throw new N("invalid-argument","Unexpected collection group pipeline: "+yh(t));case"documents":return this.documentOverlayCache.getOverlays(e,Gu(t).map(e=>x.fromPath(e)));case"database":return this.documentOverlayCache.getAllOverlays(e,r);default:throw new N("invalid-argument","Failed to get overlays for pipeline: "+yh(t))}}}class md{constructor(e){this.serializer=e,this.co=new Map,this.lo=new Map}getBundleMetadata(e,t){return O.resolve(this.co.get(t))}saveBundleMetadata(e,t){return this.co.set(t.id,{id:t.id,version:t.version,createTime:Ia(t.createTime)}),O.resolve()}getNamedQuery(e,t){return O.resolve(this.lo.get(t))}saveNamedQuery(e,t){return this.lo.set(t.name,{name:(t=t).name,query:nC(t.bundledQuery),readTime:Ia(t.readTime)}),O.resolve()}}class Ed{constructor(){this.overlays=new tr(x.comparator),this.Eo=new Map}getOverlay(e,t){return O.resolve(this.overlays.get(t))}getOverlays(e,t){let r=Wi();return O.forEach(t,t=>this.getOverlay(e,t).next(e=>{null!==e&&r.set(t,e)})).next(()=>r)}getAllOverlays(e,r){let n=Wi();return this.overlays.forEach((e,t)=>{t.largestBatchId>r&&n.set(e,t)}),O.resolve(n)}saveOverlays(r,n,e){return e.forEach((e,t)=>{this.Es(r,n,t)}),O.resolve()}removeOverlaysForBatchId(e,t,r){var n=this.Eo.get(r);return void 0!==n&&(n.forEach(e=>this.overlays=this.overlays.remove(e)),this.Eo.delete(r)),O.resolve()}getOverlaysForCollection(e,r,n){let s=Wi(),i=r.length+1,t=new x(r.child("")),a=this.overlays.getIteratorFrom(t);for(;a.hasNext();){let e=a.getNext().value,t=e.getKey();if(!r.isPrefixOf(t.path))break;t.path.length===i&&e.largestBatchId>n&&s.set(e.getKey(),e)}return O.resolve(s)}getOverlaysForCollectionGroup(e,r,n,t){let s=new tr((e,t)=>e-t);for(var i=this.overlays.getIterator();i.hasNext();){let t=i.getNext().value;if(t.getKey().getCollectionGroup()===r&&t.largestBatchId>n){let e=s.get(t.largestBatchId);null===e&&(e=Wi(),s=s.insert(t.largestBatchId,e)),e.set(t.getKey(),t)}}let a=Wi(),B=s.getIterator();for(;B.hasNext()&&(B.getNext().value.forEach((e,t)=>a.set(e,t)),!(a.size()>=t)););return O.resolve(a)}Es(e,t,r){var n=this.overlays.get(r.key);if(null!==n){let e=this.Eo.get(n.largestBatchId).delete(r.key);this.Eo.set(n.largestBatchId,e)}this.overlays=this.overlays.insert(r.key,new Qc(t,r));let s=this.Eo.get(t);void 0===s&&(s=S(),this.Eo.set(t,s)),this.Eo.set(t,s.add(r.key))}}class Dd{constructor(){this.sessionToken=Rr.EMPTY_BYTE_STRING}getSessionToken(e){return O.resolve(this.sessionToken)}setSessionToken(e,t){return this.sessionToken=t,O.resolve()}}class vd{constructor(){this.ho=new sr(wd.To),this.Po=new sr(wd.Io)}isEmpty(){return this.ho.isEmpty()}addReference(e,t){var r=new wd(e,t);this.ho=this.ho.add(r),this.Po=this.Po.add(r)}Ro(e,t){e.forEach(e=>this.addReference(e,t))}removeReference(e,t){this.Ao(new wd(e,t))}Vo(e,t){e.forEach(e=>this.removeReference(e,t))}fo(e){let t=new x(new A([])),r=new wd(t,e),n=new wd(t,e+1),s=[];return this.Po.forEachInRange([r,n],e=>{this.Ao(e),s.push(e.key)}),s}mo(){this.ho.forEach(e=>this.Ao(e))}Ao(e){this.ho=this.ho.delete(e),this.Po=this.Po.delete(e)}po(e){var t=new x(new A([])),r=new wd(t,e),t=new wd(t,e+1);let n=S();return this.Po.forEachInRange([r,t],e=>{n=n.add(e.key)}),n}containsKey(e){var t=new wd(e,0),t=this.ho.firstAfterOrEqual(t);return null!==t&&e.isEqual(t.key)}}class wd{constructor(e,t){this.key=e,this.yo=t}static To(e,t){return x.comparator(e.key,t.key)||b(e.yo,t.yo)}static Io(e,t){return b(e.yo,t.yo)||x.comparator(e.key,t.key)}}class yd{constructor(e,t){this.indexManager=e,this.referenceDelegate=t,this.mutationQueue=[],this.rs=1,this.wo=new sr(wd.To)}checkEmpty(e){return O.resolve(0===this.mutationQueue.length)}addMutationBatch(e,t,r,n){var s=this.rs,i=(this.rs++,0<this.mutationQueue.length&&this.mutationQueue[this.mutationQueue.length-1],new Sh(s,t,r,n));this.mutationQueue.push(i);for(let t of n)this.wo=this.wo.add(new wd(t.key,s)),this.indexManager.addToCollectionParentIndex(e,t.key.path.popLast());return O.resolve(i)}lookupMutationBatch(e,t){return O.resolve(this.bo(t))}getNextMutationBatchAfterBatchId(e,t){var r=this.So(t+1),r=r<0?0:r;return O.resolve(this.mutationQueue.length>r?this.mutationQueue[r]:null)}getHighestUnacknowledgedBatchId(){return O.resolve(0===this.mutationQueue.length?Wr:this.rs-1)}getAllMutationBatches(e){return O.resolve(this.mutationQueue.slice())}getAllMutationBatchesAffectingDocumentKey(e,t){let r=new wd(t,0),n=new wd(t,Number.POSITIVE_INFINITY),s=[];return this.wo.forEachInRange([r,n],e=>{var t=this.bo(e.yo);s.push(t)}),O.resolve(s)}getAllMutationBatchesAffectingDocumentKeys(e,t){let n=new sr(b);return t.forEach(e=>{var t=new wd(e,0),r=new wd(e,Number.POSITIVE_INFINITY);this.wo.forEachInRange([t,r],e=>{n=n.add(e.yo)})}),O.resolve(this.xo(n))}getAllMutationBatchesAffectingQuery(e,t){let r=t.path,n=r.length+1,s=r;x.isDocumentKey(s)||(s=s.child(""));var i=new wd(new x(s),0);let a=new sr(b);return this.wo.forEachWhile(e=>{var t=e.key.path;return!!r.isPrefixOf(t)&&(t.length===n&&(a=a.add(e.yo)),!0)},i),O.resolve(this.xo(a))}xo(e){let r=[];return e.forEach(e=>{var t=this.bo(e);null!==t&&r.push(t)}),r}removeMutationBatch(r,n){p(0===this.vo(n.batchId,"removed"),55003),this.mutationQueue.shift();let s=this.wo;return O.forEach(n.mutations,e=>{var t=new wd(e.key,n.batchId);return s=s.delete(t),this.referenceDelegate.markPotentiallyOrphaned(r,e.key)}).next(()=>{this.wo=s})}us(e){}containsKey(e,t){var r=new wd(t,0),r=this.wo.firstAfterOrEqual(r);return O.resolve(t.isEqual(r&&r.key))}performConsistencyCheck(e){return this.mutationQueue.length,O.resolve()}vo(e,t){return this.So(e)}So(e){return 0===this.mutationQueue.length?0:e-this.mutationQueue[0].batchId}bo(e){var t=this.So(e);return t<0||t>=this.mutationQueue.length?null:this.mutationQueue[t]}}class _d{constructor(e){this.Do=e,this.docs=new tr(x.comparator),this.size=0}setIndexManager(e){this.indexManager=e}addEntry(e,t){var r=t.key,n=this.docs.get(r),n=n?n.size:0,s=this.Do(t);return this.docs=this.docs.insert(r,{document:t.mutableCopy(),size:s}),this.size+=s-n,this.indexManager.addToCollectionParentIndex(e,r.path.popLast())}removeEntry(e){var t=this.docs.get(e);t&&(this.docs=this.docs.remove(e),this.size-=t.size)}getEntry(e,t){var r=this.docs.get(t);return O.resolve(r?r.document.mutableCopy():ui.newInvalidDocument(t))}getEntries(e,t){let r=ji;return t.forEach(e=>{var t=this.docs.get(e);r=r.insert(e,t?t.document.mutableCopy():ui.newInvalidDocument(e))}),O.resolve(r)}getAllEntries(e){let r=ji;return this.docs.forEach((e,t)=>{r=r.insert(e,t.document)}),O.resolve(r)}getDocumentsMatchingQuery(e,t,r,n){let s,i,a=(i=Ih(t)?(s=A.fromString(Lu(t)),e=>nd(t,e)):(s=t.path,e=>Vi(t,e)),ji);for(var B=new x(s.child("__id-9223372036854775808__")),o=this.docs.getIteratorFrom(B);o.hasNext();){let{key:e,value:{document:t}}=o.getNext();if(!s.isPrefixOf(e.path))break;e.path.length>s.length+1||Ei(pi(t),r)<=0||(n.has(t.key)||i(t))&&(a=a.insert(t.key,t.mutableCopy()))}return O.resolve(a)}getAllFromCollectionGroup(e,t,r,n){w(9500)}Co(e,t){return O.forEach(this.docs,e=>t(e))}newChangeBuffer(e){return new Id(this)}getSize(e){return O.resolve(this.size)}}class Id extends Bd{constructor(e){super(),this.ao=e}applyChanges(r){let n=[];return this.changes.forEach((e,t)=>{t.isValidDocument()?n.push(this.ao.addEntry(r,t)):this.ao.removeEntry(e)}),O.waitFor(n)}getFromCache(e,t){return this.ao.getEntry(e,t)}getAllFromCache(e,t){return this.ao.getEntries(e,t)}}class bd{constructor(e){this.persistence=e,this.Fo=new Ki(e=>Ah(e),xh),this.lastRemoteSnapshotVersion=F.min(),this.highestTargetId=0,this.Oo=0,this.Mo=new vd,this.targetCount=0,this.No=YC.W_()}forEachTarget(e,r){return this.Fo.forEach((e,t)=>r(t)),O.resolve()}getLastRemoteSnapshotVersion(e){return O.resolve(this.lastRemoteSnapshotVersion)}getHighestSequenceNumber(e){return O.resolve(this.Oo)}allocateTargetId(e){return this.highestTargetId=this.No.next(),O.resolve(this.highestTargetId)}setTargetsMetadata(e,t,r){return r&&(this.lastRemoteSnapshotVersion=r),t>this.Oo&&(this.Oo=t),O.resolve()}H_(e){this.Fo.set(e.target,e);var t=e.targetId;t>this.highestTargetId&&(this.No=new YC(t),this.highestTargetId=t),e.sequenceNumber>this.Oo&&(this.Oo=e.sequenceNumber)}addTargetData(e,t){return this.H_(t),this.targetCount+=1,O.resolve()}updateTargetData(e,t){return this.H_(t),O.resolve()}removeTargetData(e,t){return this.Fo.delete(t.target),this.Mo.fo(t.targetId),--this.targetCount,O.resolve()}removeTargets(r,n,s){let i=0,a=[];return this.Fo.forEach((e,t)=>{t.sequenceNumber<=n&&null===s.get(t.targetId)&&(this.Fo.delete(e),a.push(this.removeMatchingKeysForTargetId(r,t.targetId)),i++)}),O.waitFor(a).next(()=>i)}getTargetCount(e){return O.resolve(this.targetCount)}getTargetData(e,t){var r=this.Fo.get(t)||null;return O.resolve(r)}addMatchingKeys(e,t,r){return this.Mo.Ro(t,r),O.resolve()}removeMatchingKeys(t,e,r){this.Mo.Vo(e,r);let n=this.persistence.referenceDelegate,s=[];return n&&e.forEach(e=>{s.push(n.markPotentiallyOrphaned(t,e))}),O.waitFor(s)}removeMatchingKeysForTargetId(e,t){return this.Mo.fo(t),O.resolve()}getMatchingKeysForTargetId(e,t){var r=this.Mo.po(t);return O.resolve(r)}containsKey(e,t){return O.resolve(this.Mo.containsKey(t))}}class Td{constructor(e,t){this.Bo={},this.overlays={},this.Lo=new HB(0),this.$o=!1,this.$o=!0,this.Uo=new Dd,this.referenceDelegate=e(this),this.ko=new bd(this),this.indexManager=new MC,this.remoteDocumentCache=(e=e=>this.referenceDelegate.Qo(e),new _d(e)),this.serializer=new Yc(t),this.qo=new md(this.serializer)}start(){return Promise.resolve()}shutdown(){return this.$o=!1,Promise.resolve()}get started(){return this.$o}setDatabaseDeletedListener(){}setNetworkEnabled(){}getIndexManager(e){return this.indexManager}getDocumentOverlayCache(e){let t=this.overlays[e.toKey()];return t||(t=new Ed,this.overlays[e.toKey()]=t),t}getMutationQueue(e,t){let r=this.Bo[e.toKey()];return r||(r=new yd(t,this.referenceDelegate),this.Bo[e.toKey()]=r),r}getGlobalsCache(){return this.Uo}getTargetCache(){return this.ko}getRemoteDocumentCache(){return this.remoteDocumentCache}getBundleCache(){return this.qo}runTransaction(e,t,r){C("MemoryPersistence","Starting transaction:",e);let n=new Nd(this.Lo.next());return this.referenceDelegate.Ko(),r(n).next(e=>this.referenceDelegate.Wo(n).next(()=>e)).toPromise().then(e=>(n.raiseOnCommittedEvent(),e))}Go(t,r){return O.or(Object.values(this.Bo).map(e=>()=>e.containsKey(t,r)))}}class Nd extends qB{constructor(e){super(),this.currentSequenceNumber=e}}class Ad{constructor(e){this.persistence=e,this.jo=new vd,this.zo=null}static Ho(e){return new Ad(e)}get Jo(){if(this.zo)return this.zo;throw w(60996)}addReference(e,t,r){return this.jo.addReference(r,t),this.Jo.delete(r.toString()),O.resolve()}removeReference(e,t,r){return this.jo.removeReference(r,t),this.Jo.add(r.toString()),O.resolve()}markPotentiallyOrphaned(e,t){return this.Jo.add(t.toString()),O.resolve()}removeTarget(e,t){this.jo.fo(t.targetId).forEach(e=>this.Jo.add(e.toString()));let r=this.persistence.getTargetCache();return r.getMatchingKeysForTargetId(e,t.targetId).next(e=>{e.forEach(e=>this.Jo.add(e.toString()))}).next(()=>r.removeTargetData(e,t))}Ko(){this.zo=new Set}Wo(r){let n=this.persistence.getRemoteDocumentCache().newChangeBuffer();return O.forEach(this.Jo,e=>{let t=x.fromPath(e);return this.Yo(r,t).next(e=>{e||n.removeEntry(t,F.min())})}).next(()=>(this.zo=null,n.apply(r)))}updateLimboDocument(e,t){return this.Yo(e,t).next(e=>{e?this.Jo.delete(t.toString()):this.Jo.add(t.toString())})}Qo(e){return 0}Yo(e,t){return O.or([()=>O.resolve(this.jo.containsKey(t)),()=>this.persistence.getTargetCache().containsKey(e,t),()=>this.persistence.Go(e,t)])}}class xd{constructor(e,t){this.persistence=e,this.Zo=new Ki(e=>Rh(e.path),(e,t)=>e.isEqual(t)),this.garbageCollector=Bo(this,t)}static Ho(e,t){return new xd(e,t)}Ko(){}Wo(e){return O.resolve()}forEachTarget(e,t){return this.persistence.getTargetCache().forEachTarget(e,t)}Pi(e){let r=this.Y_(e);return this.persistence.getTargetCache().getTargetCount(e).next(t=>r.next(e=>t+e))}Y_(e){let t=0;return this.Ii(e,e=>{t++}).next(()=>t)}Ii(r,n){return O.forEach(this.Zo,(e,t)=>this.X_(r,e,t).next(e=>e?O.resolve():n(t)))}removeTargets(e,t,r){return this.persistence.getTargetCache().removeTargets(e,t,r)}removeOrphanedDocuments(e,r){let n=0,t=this.persistence.getRemoteDocumentCache(),s=t.newChangeBuffer();return t.Co(e,t=>this.X_(e,t,r).next(e=>{e||(n++,s.removeEntry(t,F.min()))})).next(()=>s.apply(e)).next(()=>n)}markPotentiallyOrphaned(e,t){return this.Zo.set(t,e.currentSequenceNumber),O.resolve()}removeTarget(e,t){var r=t.withSequenceNumber(e.currentSequenceNumber);return this.persistence.getTargetCache().updateTargetData(e,r)}addReference(e,t,r){return this.Zo.set(r,e.currentSequenceNumber),O.resolve()}removeReference(e,t,r){return this.Zo.set(r,e.currentSequenceNumber),O.resolve()}updateLimboDocument(e,t){return this.Zo.set(t,e.currentSequenceNumber),O.resolve()}Qo(e){let t=e.key.toString().length;return e.isFoundDocument()&&(t+=Qn(e.data.value)),t}X_(e,t,r){return O.or([()=>this.persistence.Go(e,t),()=>this.persistence.getTargetCache().containsKey(e,t),()=>{var e=this.Zo.get(t);return O.resolve(void 0!==e&&r<e)}])}getCacheSize(e){return this.persistence.getRemoteDocumentCache().getSize(e)}}class Fd{constructor(e){this.serializer=e}jr(t,e,r,n){let i=new jB("createOrUpgrade",e);var s;r<1&&1<=n&&(t.createObjectStore(Mh),(s=t).createObjectStore(Hh,{keyPath:"userId"}),s.createObjectStore(Uh,{keyPath:qh,autoIncrement:!0}).createIndex(Jh,Kh,{unique:!0}),s.createObjectStore(Yh),Sd(t),t.createObjectStore(Ph));let a=O.resolve();return r<3&&3<=n&&(0!==r&&((s=t).deleteObjectStore(Bc),s.deleteObjectStore(sc),s.deleteObjectStore(cc),Sd(t)),a=a.next(()=>{return e=i,t=e.store(cc),r={highestTargetId:0,highestListenSequenceNumber:0,lastRemoteSnapshotVersion:F.min().toTimestamp(),targetCount:0},t.put(hc,r);var e,t,r})),r<4&&4<=n&&(a=(a=0!==r?a.next(()=>{return n=t,(s=i).store(Uh).ti().next(e=>{n.deleteObjectStore(Uh),n.createObjectStore(Uh,{keyPath:qh,autoIncrement:!0}).createIndex(Jh,Kh,{unique:!0});let t=s.store(Uh),r=e.map(e=>t.put(e));return O.waitFor(r)});var n,s}):a).next(()=>{t.createObjectStore(fc,{keyPath:"clientId"})})),r<5&&5<=n&&(a=a.next(()=>this.Xo(i))),r<6&&6<=n&&(a=a.next(()=>(t.createObjectStore(rc),this.ea(i)))),r<7&&7<=n&&(a=a.next(()=>this.ta(i))),r<8&&8<=n&&(a=a.next(()=>this.na(t,i))),r<9&&9<=n&&(a=a.next(()=>{var e;(e=t).objectStoreNames.contains("remoteDocumentChanges")&&e.deleteObjectStore("remoteDocumentChanges")})),r<10&&10<=n&&(a=a.next(()=>this.ra(i))),r<11&&11<=n&&(a=a.next(()=>{t.createObjectStore(gc,{keyPath:"bundleId"}),t.createObjectStore(pc,{keyPath:"name"})})),r<12&&12<=n&&(a=a.next(()=>{var e;(e=t.createObjectStore(Nc,{keyPath:Ac})).createIndex(xc,Fc,{unique:!1}),e.createIndex(Sc,Oc,{unique:!1})})),r<13&&13<=n&&(a=a.next(()=>{var e;(e=t.createObjectStore(Wh,{keyPath:Xh})).createIndex(Zh,$h),e.createIndex(ec,tc)}).next(()=>this.ia(t,i)).next(()=>t.deleteObjectStore(Ph))),r<14&&14<=n&&(a=a.next(()=>this.sa(t,i))),r<15&&15<=n&&(a=a.next(()=>{var e;(e=t).createObjectStore(mc,{keyPath:"indexId",autoIncrement:!0}).createIndex(Ec,"collectionGroup",{unique:!1}),e.createObjectStore(Dc,{keyPath:vc}).createIndex(wc,yc,{unique:!1}),e.createObjectStore(_c,{keyPath:Ic}).createIndex(bc,Tc,{unique:!1})})),r<16&&16<=n&&(a=a.next(()=>{e.objectStore(Dc).clear()}).next(()=>{e.objectStore(_c).clear()})),r<17&&17<=n&&(a=a.next(()=>{t.createObjectStore(Lc,{keyPath:"name"})})),a=r<18&&18<=n&&X()?a.next(()=>{e.objectStore(Dc).clear()}).next(()=>{e.objectStore(_c).clear()}):a}ea(t){let r=0;return t.store(Ph)._i((e,t)=>{r+=Jc(t)}).next(()=>{var e={byteSize:r};return t.store(rc).put(nc,e)})}Xo(n){let e=n.store(Hh),t=n.store(Uh);return e.ti().next(e=>O.forEach(e,r=>{var e=IDBKeyRange.bound([r.userId,Wr],[r.userId,r.lastAcknowledgedBatchId]);return t.ti(Jh,e).next(e=>O.forEach(e,e=>{p(e.userId===r.userId,18650,"Cannot process batch from unexpected user",{batchId:e.batchId});var t=eC(this.serializer,e);return qc(n,r.userId,t).next(()=>{})}))}))}ta(e){let a=e.store(Bc),t=e.store(Ph);return e.store(cc).get(hc).next(s=>{let i=[];return t._i((e,t)=>{let r=new A(e),n=[0,Rh(r)];i.push(a.get(n).next(e=>e?O.resolve():(e=r,a.put({targetId:0,path:Rh(e),sequenceNumber:s.highestListenSequenceNumber}))))}).next(()=>O.waitFor(i))})}na(e,t){e.createObjectStore(Cc,{keyPath:dc});let n=t.store(Cc),s=new VC,i=r=>{if(s.add(r)){let e=r.lastSegment(),t=r.popLast();return n.put({collectionId:e,parent:Rh(t)})}};return t.store(Ph)._i({si:!0},(e,t)=>{var r=new A(e);return i(r.popLast())}).next(()=>t.store(Yh)._i({si:!0},([,e],t)=>{var r=Gh(e);return i(r.popLast())}))}ra(e){let n=e.store(sc);return n._i((e,t)=>{var r=tC(this.serializer,t),r=rC(this.serializer,r);return n.put(r)})}ia(e,i){let t=i.store(Ph),a=[];return t._i((e,t)=>{var r,n=i.store(Wh),s=((r=t).document?new x(A.fromString(r.document.name).popFirst(5)):r.noDocument?x.fromSegments(r.noDocument.path):r.unknownDocument?x.fromSegments(r.unknownDocument.path):w(36783)).path.toArray(),s={prefixPath:s.slice(0,s.length-2),collectionGroup:s[s.length-2],documentId:s[s.length-1],readTime:t.readTime||[0,0],unknownDocument:t.unknownDocument,noDocument:t.noDocument,document:t.document,hasCommittedMutations:!!t.hasCommittedMutations};a.push(n.put(s))}).next(()=>O.waitFor(a))}sa(e,i){let t=i.store(Uh),a=ud(this.serializer),B=new Td(Ad.Ho,this.serializer.Xi);return t.ti().next(e=>{let r=new Map;return e.forEach(e=>{let t=r.get(e.userId)??S();eC(this.serializer,e).keys().forEach(e=>t=t.add(e)),r.set(e.userId,t)}),O.forEach(r,(e,t)=>{var r=new lB(t),n=pC.ts(this.serializer,r),s=B.getIndexManager(r),r=uC.ts(r,this.serializer,s,B.referenceDelegate);return new pd(a,r,n,s).recalculateAndSaveOverlaysForDocumentKeys(new Kc(i,HB.Br),e).next()})})}}function Sd(e){e.createObjectStore(Bc,{keyPath:oc}).createIndex(uc,lc,{unique:!0}),e.createObjectStore(sc,{keyPath:"targetId"}).createIndex(ic,ac,{unique:!0}),e.createObjectStore(cc)}let Od="IndexedDbPersistence",Ld="Failed to obtain exclusive access to the persistence layer. To allow shared access, multi-tab synchronization has to be enabled in all tabs. If you are using `experimentalForceOwningTab:true`, make sure that only one tab has persistence enabled at any given time.";class Rd{constructor(e,t,r,n,s,i,a,B,o,u,l=18){if(this.allowTabSynchronization=e,this.persistenceKey=t,this.clientId=r,this.qn=s,this.window=i,this.document=a,this._a=o,this.oa=u,this.aa=l,this.Lo=null,this.$o=!1,this.isPrimary=!1,this.networkEnabled=!0,this.ua=null,this.inForeground=!1,this.ca=null,this.la=null,this.Ea=Number.NEGATIVE_INFINITY,this.ha=e=>Promise.resolve(),!Rd.cn())throw new N(T.UNIMPLEMENTED,"This platform is either missing IndexedDB or is known to have an incomplete implementation. Offline persistence has been disabled.");this.referenceDelegate=new ed(this,n),this.Ta=t+"main",this.serializer=new Yc(B),this.Pa=new QB(this.Ta,this.aa,new Fd(this.serializer)),this.Uo=new EC,this.ko=new WC(this.referenceDelegate,this.serializer),this.remoteDocumentCache=ud(this.serializer),this.qo=new dC,this.window&&this.window.localStorage?this.Ia=this.window.localStorage:(this.Ia=null,!1===u&&Jt(Od,"LocalStorage is unavailable. As a result, persistence may not work reliably. In particular enablePersistence() could fail immediately after refreshing the page."))}start(){return this.Ra().then(()=>{if(this.isPrimary||this.allowTabSynchronization)return this.Aa(),this.Va(),this.da(),this.runTransaction("getHighestListenSequenceNumber","readonly",e=>this.ko.getHighestSequenceNumber(e));throw new N(T.FAILED_PRECONDITION,Ld)}).then(e=>{this.Lo=new HB(e,this._a)}).then(()=>{this.$o=!0}).catch(e=>(this.Pa&&this.Pa.close(),Promise.reject(e)))}fa(t){return this.ha=async e=>{if(this.started)return t(e)},t(this.isPrimary)}setDatabaseDeletedListener(t){this.Pa.Hr(async e=>{null===e.newVersion&&await t()})}setNetworkEnabled(e){this.networkEnabled!==e&&(this.networkEnabled=e,this.qn.enqueueAndForget(async()=>{this.started&&await this.Ra()}))}Ra(){return this.runTransaction("updateClientMetadataAndTryBecomePrimary","readwrite",t=>Gd(t).put({clientId:this.clientId,updateTimeMs:Date.now(),networkEnabled:this.networkEnabled,inForeground:this.inForeground}).next(()=>{if(this.isPrimary)return this.ma(t).next(e=>{e||(this.isPrimary=!1,this.qn.enqueueRetryable(()=>this.ha(!1)))})}).next(()=>this.pa(t)).next(e=>this.isPrimary&&!e?this.ga(t).next(()=>!1):!!e&&this.ya(t).next(()=>!0))).catch(e=>{if(XB(e))return C(Od,"Failed to extend owner lease: ",e),this.isPrimary;if(this.allowTabSynchronization)return C(Od,"Releasing owner lease after error during lease refresh",e),!1;throw e}).then(e=>{this.isPrimary!==e&&this.qn.enqueueRetryable(()=>this.ha(e)),this.isPrimary=e})}ma(e){return kd(e).get(Vh).next(e=>O.resolve(this.wa(e)))}ba(e){return Gd(e).delete(this.clientId)}async Sa(){if(this.isPrimary&&!this.xa(this.Ea,18e5)){this.Ea=Date.now();var e=await this.runTransaction("maybeGarbageCollectMultiClientState","readwrite-primary",e=>{let n=jc(e,fc);return n.ti().next(e=>{let t=this.va(e,18e5),r=e.filter(e=>-1===t.indexOf(e));return O.forEach(r,e=>n.delete(e.clientId)).next(()=>r)})}).catch(()=>[]);if(this.Ia)for(var t of e)this.Ia.removeItem(this.Da(t.clientId))}}da(){this.la=this.qn.enqueueAfterDelay("client_metadata_refresh",4e3,()=>this.Ra().then(()=>this.Sa()).then(()=>this.da()))}wa(e){return!!e&&e.ownerId===this.clientId}pa(t){return this.oa?O.resolve(!0):kd(t).get(Vh).next(e=>{if(null!==e&&this.xa(e.leaseTimestampMs,5e3)&&!this.Ca(e.ownerId)){if(this.wa(e)&&this.networkEnabled)return!0;if(!this.wa(e)){if(e.allowTabSynchronization)return!1;throw new N(T.FAILED_PRECONDITION,Ld)}}return!(!this.networkEnabled||!this.inForeground)||Gd(t).ti().next(e=>void 0===this.va(e,5e3).find(e=>{if(this.clientId!==e.clientId){var t=!this.networkEnabled&&e.networkEnabled,r=!this.inForeground&&e.inForeground,n=this.networkEnabled===e.networkEnabled;if(t||r&&n)return!0}return!1}))}).next(e=>(this.isPrimary!==e&&C(Od,`Client ${e?"is":"is not"} eligible for a primary lease.`),e))}async shutdown(){this.$o=!1,this.Fa(),this.la&&(this.la.cancel(),this.la=null),this.Oa(),this.Ma(),await this.Pa.runTransaction("shutdown","readwrite",[Mh,fc],e=>{let t=new Kc(e,HB.Br);return this.ga(t).next(()=>this.ba(t))}),this.Pa.close(),this.Na()}va(e,t){return e.filter(e=>this.xa(e.updateTimeMs,t)&&!this.Ca(e.clientId))}Ba(){return this.runTransaction("getActiveClients","readonly",e=>Gd(e).ti().next(e=>this.va(e,18e5).map(e=>e.clientId)))}get started(){return this.$o}getGlobalsCache(){return this.Uo}getMutationQueue(e,t){return uC.ts(e,this.serializer,t,this.referenceDelegate)}getTargetCache(){return this.ko}getRemoteDocumentCache(){return this.remoteDocumentCache}getIndexManager(e){return new qC(e,this.serializer.Xi.databaseId)}getDocumentOverlayCache(e){return pC.ts(this.serializer,e)}getBundleCache(){return this.qo}runTransaction(t,r,n){C(Od,"Starting transaction:",t);var e,s="readonly"===r?"readonly":"readwrite",i=18===(e=this.aa)?Uc:17===e?Hc:16===e?Vc:15===e?Mc:14===e?Pc:13===e?Gc:12===e?kc:11===e?Rc:void w(60245);let a;return this.Pa.runTransaction(t,s,i,e=>(a=new Kc(e,this.Lo?this.Lo.next():HB.Br),"readwrite-primary"===r?this.ma(a).next(e=>!!e||this.pa(a)).next(e=>{if(e)return n(a);throw Jt(`Failed to obtain primary lease for action '${t}'.`),this.isPrimary=!1,this.qn.enqueueRetryable(()=>this.ha(!1)),new N(T.FAILED_PRECONDITION,UB)}).next(e=>this.ya(a).next(()=>e)):this.La(a).next(()=>n(a)))).then(e=>(a.raiseOnCommittedEvent(),e))}La(e){return kd(e).get(Vh).next(e=>{if(null!==e&&this.xa(e.leaseTimestampMs,5e3)&&!this.Ca(e.ownerId)&&!this.wa(e)&&!(this.oa||this.allowTabSynchronization&&e.allowTabSynchronization))throw new N(T.FAILED_PRECONDITION,Ld)})}ya(e){var t={ownerId:this.clientId,allowTabSynchronization:this.allowTabSynchronization,leaseTimestampMs:Date.now()};return kd(e).put(Vh,t)}static cn(){return QB.cn()}ga(e){let t=kd(e);return t.get(Vh).next(e=>this.wa(e)?(C(Od,"Releasing primary lease."),t.delete(Vh)):O.resolve())}xa(e,t){var r=Date.now();return!(e<r-t||r<e&&(Jt(`Detected an update time that is in the future: ${e} > `+r),1))}Aa(){null!==this.document&&"function"==typeof this.document.addEventListener&&(this.ca=()=>{this.qn.enqueueAndForget(()=>(this.inForeground="visible"===this.document.visibilityState,this.Ra()))},this.document.addEventListener("visibilitychange",this.ca),this.inForeground="visible"===this.document.visibilityState)}Oa(){this.ca&&(this.document.removeEventListener("visibilitychange",this.ca),this.ca=null)}Va(){"function"==typeof this.window?.addEventListener&&(this.ua=()=>{this.Fa();var e=/(?:Version|Mobile)\/1[456]/;W()&&(navigator.appVersion.match(e)||navigator.userAgent.match(e))&&this.qn.enterRestrictedMode(!0),this.qn.enqueueAndForget(()=>this.shutdown())},this.window.addEventListener("pagehide",this.ua))}Ma(){this.ua&&(this.window.removeEventListener("pagehide",this.ua),this.ua=null)}Ca(e){try{var t=null!==this.Ia?.getItem(this.Da(e));return C(Od,`Client '${e}' ${t?"is":"is not"} zombied in LocalStorage`),t}catch(e){return Jt(Od,"Failed to get zombied client id.",e),!1}}Fa(){if(this.Ia)try{this.Ia.setItem(this.Da(this.clientId),String(Date.now()))}catch(e){Jt("Failed to set zombie client id.",e)}}Na(){if(this.Ia)try{this.Ia.removeItem(this.Da(this.clientId))}catch(e){}}Da(e){return`firestore_zombie_${this.persistenceKey}_`+e}}function kd(e){return jc(e,Mh)}function Gd(e){return jc(e,fc)}function Pd(e,t){let r=e.projectId;return e.isDefaultDatabase||(r+="."+e.database),"firestore/"+t+"/"+r+"/"}class Md{constructor(e,t,r,n){this.targetId=e,this.fromCache=t,this.$a=r,this.Ua=n}static ka(e,t){let r=S(),n=S();for(let e of t.docChanges)switch(e.type){case 0:r=r.add(e.doc.key);break;case 1:n=n.add(e.doc.key)}return new Md(e,t.fromCache,r,n)}}function Vd(e,t){return x.comparator(e.key,t.key)}class Hd{constructor(){this._documentReadCount=0}get documentReadCount(){return this._documentReadCount}incrementDocumentReadCount(e){this._documentReadCount+=e}}class Ud{constructor(){this.Qa=!1,this.qa=!1,this.Ka=100,this.Wa=W()?8:0<zB(z())?6:4}initialize(e,t){this.Ga=e,this.indexManager=t,this.Qa=!0}getDocumentsMatchingQuery(r,n,e,t){let s={result:null};return this.ja(r,n).next(e=>{s.result=e}).next(()=>{if(!s.result)return this.za(r,n,t,e).next(e=>{s.result=e})}).next(()=>{if(!s.result){let t=new Hd;return this.Ha(r,n,t).next(e=>{if(s.result=e,this.qa)return this.Ja(r,n,t,e.size)})}}).next(()=>s.result)}Ja(e,t,r,n){return Ih(t)?O.resolve():r.documentReadCount<this.Ka?(qt()<=h.DEBUG&&C("QueryEngine","SDK will not create cache indexes for query:",Mi(t),"since it only creates cache indexes for collection contains","more than or equal to",this.Ka,"documents"),O.resolve()):(qt()<=h.DEBUG&&C("QueryEngine","Query:",Mi(t),"scans",r.documentReadCount,"local documents and returns",n,"documents as results."),r.documentReadCount>this.Wa*n?(qt()<=h.DEBUG&&C("QueryEngine","The SDK decides to create cache indexes for query:",Mi(t),"as using cache indexes may help improve performance."),this.indexManager.createTargetIndexes(e,Ri(t))):O.resolve())}ja(s,e){if(Ih(e))return O.resolve(null);let i=e;if(Si(i))return O.resolve(null);let t=Ri(i);return this.indexManager.getIndexType(s,t).next(e=>0===e?null:(null!==i.limit&&1===e&&(i=Gi(i,null,"F"),t=Ri(i)),this.indexManager.getDocumentsMatchingTarget(s,t).next(e=>{let n=S(...e);return this.Ga.getDocuments(s,n).next(r=>this.indexManager.getMinOffset(s,t).next(e=>{var t=this.Ya(i,r);return this.Za(i,t,n,e.readTime)?this.ja(s,Gi(i,null,"F")):this.Xa(s,t,i,e)}))})))}za(r,n,s,i){return(Ih(n)?e=>{for(var t of e.stages){if(t instanceof Tu||!1)return;if(t instanceof bu&&!(t.condition instanceof lu&&"exists"===t.condition._expr.name&&t.condition._expr.params[0]instanceof su&&t.condition._expr.params[0].fieldName===gr))return}return 1}:Si)(n)||i.isEqual(F.min())?O.resolve(null):this.Ga.getDocuments(r,s).next(e=>{var t=this.Ya(n,e);return this.Za(n,t,s,i)?O.resolve(null):(qt()<=h.DEBUG&&C("QueryEngine","Re-using previous result from %s to execute query: %s",i.toString(),bh(n)),this.Xa(r,t,n,gi(i,li)).next(e=>e))})}Ya(t,e){let r,n;return n=Ih(t)?(r=new sr(Vd),e=>nd(t,e)):(r=new sr(Hi(t)),e=>Vi(t,e)),e.forEach((e,t)=>{n(t)&&(r=r.add(t))}),r}Za(e,t,r,n){var s;return Ih(e)?e.stages.some(e=>e instanceof Tu||!1):null!==e.limit&&(r.size!==t.size||!!(s="F"===e.limitType?t.last():t.first())&&(s.hasPendingWrites||0<s.version.compareTo(n)))}Ha(e,t,r){return qt()<=h.DEBUG&&C("QueryEngine","Using full collection scan to execute query:",bh(t)),this.Ga.getDocumentsMatchingQuery(e,t,mi.min(),r)}Xa(e,r,t,n){return this.Ga.getDocumentsMatchingQuery(e,t,n).next(t=>(r.forEach(e=>{t=t.insert(e.key,e)}),t))}}let qd="LocalStore",Jd=3e8;class Kd{constructor(e,t,r,n){this.persistence=e,this.eu=t,this.serializer=n,this.tu=new tr(b),this.nu=new Ki(e=>Ah(e),xh),this.ru=new Map,this.iu=e.getRemoteDocumentCache(),this.ko=e.getTargetCache(),this.qo=e.getBundleCache(),this.su(r)}su(e){this.documentOverlayCache=this.persistence.getDocumentOverlayCache(e),this.indexManager=this.persistence.getIndexManager(e),this.mutationQueue=this.persistence.getMutationQueue(e,this.indexManager),this.localDocuments=new pd(this.iu,this.mutationQueue,this.documentOverlayCache,this.indexManager),this.iu.setIndexManager(this.indexManager),this.eu.initialize(this.localDocuments,this.indexManager)}collectGarbage(t){return this.persistence.runTransaction("Collect garbage","readwrite-primary",e=>t.collect(e,this.tu))}}function jd(e,t,r,n){return new Kd(e,t,r,n)}async function Qd(e,t){let B=e;return B.persistence.runTransaction("Handle user change","readonly",i=>{let a;return B.mutationQueue.getAllMutationBatches(i).next(e=>(a=e,B.su(t),B.mutationQueue.getAllMutationBatches(i))).next(e=>{let t=[],r=[],n=S();for(let s of a){t.push(s.batchId);for(let e of s.mutations)n=n.add(e.key)}for(let s of e){r.push(s.batchId);for(let e of s.mutations)n=n.add(e.key)}return B.localDocuments.getDocuments(i,n).next(e=>({_u:e,removedBatchIds:t,addedBatchIds:r}))})})}function zd(e,n){let s=e;return s.persistence.runTransaction("Acknowledge batch","readwrite-primary",e=>{let t=n.batch.keys(),r=s.iu.newChangeBuffer({trackRemovals:!0});return((e,t,n,s)=>{let i=n.batch,r=i.keys(),a=O.resolve();return r.forEach(r=>{a=a.next(()=>s.getEntry(t,r)).next(e=>{var t=n.docVersions.get(r);p(null!==t,48541),e.version.compareTo(t)<0&&(i.applyToRemoteDocument(e,n),e.isValidDocument())&&(e.setReadTime(n.commitVersion),s.addEntry(e))})}),a.next(()=>e.mutationQueue.removeMutationBatch(t,i))})(s,e,n,r).next(()=>r.apply(e)).next(()=>s.mutationQueue.performConsistencyCheck(e)).next(()=>s.documentOverlayCache.removeOverlaysForBatchId(e,t,n.batch.batchId)).next(()=>s.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(e,(e=>{let t=S();for(let r=0;r<e.mutationResults.length;++r)0<e.mutationResults[r].transformResults.length&&(t=t.add(e.batch.mutations[r].key));return t})(n))).next(()=>s.localDocuments.getDocuments(e,t))})}function Yd(e){let t=e;return t.persistence.runTransaction("Get last remote snapshot version","readonly",e=>t.ko.getLastRemoteSnapshotVersion(e))}function Wd(e,u){let l=e,h=u.snapshotVersion,c=l.tu;return l.persistence.runTransaction("Apply remote event","readwrite-primary",B=>{let e=l.iu.newChangeBuffer({trackRemovals:!0}),o=(c=l.tu,[]),t=(u.targetChanges.forEach((t,r)=>{var n,s,i,a=c.get(r);if(a){o.push(l.ko.removeMatchingKeys(B,t.removedDocuments,r).next(()=>l.ko.addMatchingKeys(B,t.addedDocuments,r)));let e=a.withSequenceNumber(B.currentSequenceNumber);null!==u.targetMismatches.get(r)?e=e.withResumeToken(Rr.EMPTY_BYTE_STRING,F.min()).withLastLimboFreeSnapshotVersion(F.min()):0<t.resumeToken.approximateByteSize()&&(e=e.withResumeToken(t.resumeToken,h)),c=c.insert(r,e),n=a,s=e,i=t,(0===n.resumeToken.approximateByteSize()||s.snapshotVersion.toMicroseconds()-n.snapshotVersion.toMicroseconds()>=Jd||0<i.addedDocuments.size+i.modifiedDocuments.size+i.removedDocuments.size)&&o.push(l.ko.updateTargetData(B,e))}}),ji),r=S();if(u.documentUpdates.forEach(e=>{u.resolvedLimboDocuments.has(e)&&o.push(l.persistence.referenceDelegate.updateLimboDocument(B,e))}),o.push(Xd(B,e,u.documentUpdates).next(e=>{t=e.ou,r=e.au})),!h.isEqual(F.min())){let e=l.ko.getLastRemoteSnapshotVersion(B).next(e=>l.ko.setTargetsMetadata(B,B.currentSequenceNumber,h));o.push(e)}return O.waitFor(o).next(()=>e.apply(B)).next(()=>l.localDocuments.getLocalViewOfDocuments(B,t,r)).next(()=>t)}).then(e=>(l.tu=c,e))}function Xd(e,i,t){let r=S(),a=S();return t.forEach(e=>r=r.add(e)),i.getEntries(e,r).next(n=>{let s=ji;return t.forEach((e,t)=>{var r=n.get(e);t.isFoundDocument()!==r.isFoundDocument()&&(a=a.add(e)),t.isNoDocument()&&t.version.isEqual(F.min())?(i.removeEntry(e,t.readTime),s=s.insert(e,t)):!r.isValidDocument()||0<t.version.compareTo(r.version)||0===t.version.compareTo(r.version)&&r.hasPendingWrites?(i.addEntry(t),s=s.insert(e,t)):C(qd,"Ignoring outdated watch update for ",e,". Current version:",r.version," Watch version:",t.version)}),{ou:s,au:a}})}function Zd(e,n){let s=e;return s.persistence.runTransaction("Allocate target","readwrite",t=>{let r;return s.ko.getTargetData(t,n).next(e=>e?(r=e,O.resolve(r)):s.ko.allocateTargetId(t).next(e=>(r=new zc(n,e,"TargetPurposeListen",t.currentSequenceNumber),s.ko.addTargetData(t,r).next(()=>r))))}).then(e=>{var t=s.tu.get(e.targetId);return(null===t||0<e.snapshotVersion.compareTo(t.snapshotVersion))&&(s.tu=s.tu.insert(e.targetId,e),s.nu.set(n,e.targetId)),e})}async function $d(e,t,r){let n=e,s=n.tu.get(t),i=r?"readwrite":"readwrite-primary";try{r||await n.persistence.runTransaction("Release target",i,e=>n.persistence.referenceDelegate.removeTarget(e,s))}catch(e){if(!XB(e))throw e;C(qd,`Failed to update sequence numbers for target ${t}: `+e)}n.tu=n.tu.remove(t),n.nu.delete(s.target)}function ef(e,a,B){let o=e,u=F.min(),l=S();return o.persistence.runTransaction("Execute query","readwrite",t=>{return e=o,r=t,n=Ih(a)?a:Ri(a),(void 0!==(i=(s=e).nu.get(n))?O.resolve(s.tu.get(i)):s.ko.getTargetData(r,n)).next(e=>{if(e)return u=e.lastLimboFreeSnapshotVersion,o.ko.getMatchingKeysForTargetId(t,e.targetId).next(e=>{l=e})}).next(()=>o.eu.getDocumentsMatchingQuery(t,a,B?u:F.min(),B?l:S())).next(e=>(nf(o,e),{documents:e,uu:l}));var e,r,n,s,i})}function tf(e,t){let r=e,n=r.ko,s=r.tu.get(t);return s?Promise.resolve(s.target??null):r.persistence.runTransaction("Get target data","readonly",e=>n.Mt(e,t).next(e=>e?.target??null))}function rf(e,t){let r=e,n=r.ru.get(t)||F.min();return r.persistence.runTransaction("Get new document changes","readonly",e=>r.iu.getAllFromCollectionGroup(e,t,gi(n,li),Number.MAX_SAFE_INTEGER)).then(e=>(nf(r,e),e))}function nf(s,e){e.forEach((e,t)=>{var r=t.key.getCollectionGroup(),n=s.ru.get(r)||F.min();0<t.readTime.compareTo(n)&&s.ru.set(r,t.readTime)})}class sf{constructor(e,t){this.hu=e,this.byteLength=t}Tu(){return"metadata"in this.hu}}function af(t,r=10240){let n=0;return{async read(){var e;return n<t.byteLength?(e={value:t.slice(n,n+r),done:!1},n+=r,e):{done:!0}},async cancel(){},releaseLock(){},closed:Promise.resolve()}}class Bf{constructor(e,t){this.asyncQueue=e,this.onlineStateHandler=t,this.state="Unknown",this.Pu=0,this.Iu=null,this.Ru=!0}Au(){0===this.Pu&&(this.Vu("Unknown"),this.Iu=this.asyncQueue.enqueueAfterDelay("online_state_timeout",1e4,()=>(this.Iu=null,this.du("Backend didn't respond within 10 seconds."),this.Vu("Offline"),Promise.resolve())))}fu(e){"Online"===this.state?this.Vu("Unknown"):(this.Pu++,1<=this.Pu&&(this.mu(),this.du("Connection failed 1 times. Most recent error: "+e.toString()),this.Vu("Offline")))}set(e){this.mu(),this.Pu=0,"Online"===e&&(this.Ru=!1),this.Vu(e)}Vu(e){e!==this.state&&(this.state=e,this.onlineStateHandler(e))}du(e){var t=`Could not reach Cloud Firestore backend. ${e}
This typically indicates that your device does not have a healthy Internet connection at the moment. The client will operate in offline mode until it is able to successfully connect to the backend.`;this.Ru?(Jt(t),this.Ru=!1):C("OnlineStateTracker",t)}mu(){null!==this.Iu&&(this.Iu.cancel(),this.Iu=null)}}let of="RemoteStore";class uf{constructor(e,t,r,n,s){this.localStore=e,this.datastore=t,this.asyncQueue=r,this.remoteSyncer={},this.pu=[],this.gu=new Map,this.yu=new Map,this.wu=new Map,this.bu=new YC(1e3),this.Su=new YC(1001),this.xu=new Set,this.vu=[],this.Du=s,this.Du.tn(e=>{r.enqueueAndForget(async()=>{var e;Ef(this)&&(C(of,"Restarting streams for network reachability change."),(e=this).xu.add(4),await hf(e),e.Cu.set("Unknown"),e.xu.delete(4),await lf(e))})}),this.Cu=new Bf(r,n)}}async function lf(e){if(Ef(e))for(var t of e.vu)await t(!0)}async function hf(e){for(var t of e.vu)await t(!1)}function cf(e,t){return e.yu.get(t)||void 0}function Cf(e,t){var r,n,s,i=e,a=cf(i,t.targetId);void 0!==a&&i.gu.has(a)||(void 0!==(a=cf(e=i,r=t.targetId))&&e.wu.delete(a),n=e,a=(r%2!=0?n.Su:n.bu).next(),e.yu.set(r,a),e.wu.set(a,r),a=a,C(of,"remoteStoreListen mapping SDK target ID to remote",t.targetId,a),s=new zc(t.target,a,t.purpose,t.sequenceNumber,t.snapshotVersion,t.lastLimboFreeSnapshotVersion,t.resumeToken),i.gu.set(a,s),mf(i)?pf(i):Af(i).ur()&&ff(i,s))}function df(e,t){var r=e,n=Af(r),s=cf(r,t);C(of,"remoteStoreUnlisten removing mapping of SDK target ID to remote",t,s),r.gu.delete(s),r.yu.delete(t),r.wu.delete(s),n.ur()&&gf(r,s),0===r.gu.size&&(n.ur()?n.Er():Ef(r)&&r.Cu.set("Unknown"))}function ff(e,t){if(e.Fu.rt(t.targetId),0<t.resumeToken.approximateByteSize()||0<t.snapshotVersion.compareTo(F.min())){var r=e.wu.get(t.targetId);if(void 0===r)return C(of,"SDK target ID not found for remote ID: "+t.targetId);r=e.remoteSyncer.getRemoteKeysForTarget(r).size;t=t.withExpectedCount(r)}Af(e).yr(t)}function gf(e,t){e.Fu.rt(t),Af(e).wr(t)}function pf(r){r.Fu=new Ca({getRemoteKeysForTarget:e=>{var t=r.wu.get(e);return void 0!==t?r.remoteSyncer.getRemoteKeysForTarget(t):S()},Mt:e=>r.gu.get(e)||null,xt:()=>r.datastore.serializer.databaseId}),Af(r).start(),r.Cu.Au()}function mf(e){return Ef(e)&&!Af(e).ar()&&0<e.gu.size}function Ef(e){return 0===e.xu.size}function Df(e){e.Fu=void 0}async function vf(t,e,r){if(t.Cu.set("Online"),e instanceof la&&2===e.state&&e.cause)try{var n,s=t,i=e,a=i.cause;for(n of i.targetIds){if(s.gu.has(n)){let e=s.wu.get(n);void 0!==e&&(await s.remoteSyncer.rejectListen(e,a),s.yu.delete(e),s.wu.delete(n)),s.gu.delete(n)}s.Fu.removeTarget(n)}}catch(r){C(of,"Failed to remove targets %s: %s ",e.targetIds.join(","),r),await wf(t,r)}else if(e instanceof oa?t.Fu.Tt(e):e instanceof ua?t.Fu.ft(e):t.Fu.Rt(e),!r.isEqual(F.min()))try{let e=await Yd(t.localStore);0<=r.compareTo(e)&&(o=r,(u=(B=t).Fu.Dt(o)).targetChanges.forEach((e,t)=>{var r;0<e.resumeToken.approximateByteSize()&&(r=B.gu.get(t))&&B.gu.set(t,r.withResumeToken(e.resumeToken,o))}),u.targetMismatches.forEach((e,t)=>{var r=B.gu.get(e);r&&(B.gu.set(e,r.withResumeToken(Rr.EMPTY_BYTE_STRING,r.snapshotVersion)),gf(B,e),r=new zc(r.target,e,t,r.sequenceNumber),ff(B,r))}),u=((n,e)=>{let s=new Map,i=(e.targetChanges.forEach((e,t)=>{var r=n.wu.get(t);void 0!==r&&s.set(r,e)}),new tr(b));return e.targetMismatches.forEach((e,t)=>{var r=n.wu.get(e);void 0!==r&&(i=i.insert(r,t))}),new aa(e.snapshotVersion,s,i,e.documentUpdates,e.augmentedDocumentUpdates,e.resolvedLimboDocuments)})(B,u),await B.remoteSyncer.applyRemoteEvent(u))}catch(e){C(of,"Failed to raise snapshot:",e),await wf(t,e)}var B,o,u}async function wf(e,t,r){if(!XB(t))throw t;e.xu.add(1),await hf(e),e.Cu.set("Offline"),r=r||(()=>Yd(e.localStore)),e.asyncQueue.enqueueRetryable(async()=>{C(of,"Retrying IndexedDB access"),await r(),e.xu.delete(1),await lf(e)})}function yf(t,r){return r().catch(e=>wf(t,e,r))}async function _f(e){var t,r,n,s,i=e,a=xf(i);let B=0<i.pu.length?i.pu[i.pu.length-1].batchId:Wr;for(;Ef(s=i)&&s.pu.length<10;)try{let e=await((e,t)=>{let r=e;return r.persistence.runTransaction("Get next mutation batch","readonly",e=>(void 0===t&&(t=Wr),r.mutationQueue.getNextMutationBatchAfterBatchId(e,t)))})(i.localStore,B);if(null===e){0===i.pu.length&&a.Er();break}B=e.batchId,t=i,r=e,n=void 0,t.pu.push(r),(n=xf(t)).ur()&&n.br&&n.Sr(r.mutations)}catch(e){await wf(i,e)}If(i)&&bf(i)}function If(e){return Ef(e)&&!xf(e).ar()&&0<e.pu.length}function bf(e){xf(e).start()}async function Tf(e,t){var r=e,n=(r.asyncQueue.verifyOperationInProgress(),C(of,"RemoteStore received new credentials"),Ef(r));r.xu.add(3),await hf(r),n&&r.Cu.set("Unknown"),await r.remoteSyncer.handleCredentialChange(t),r.xu.delete(3),await lf(r)}async function Nf(e,t){var r=e;t?(r.xu.delete(2),await lf(r)):(r.xu.add(2),await hf(r),r.Cu.set("Unknown"))}function Af(t){return t.Ou||(t.Ou=(e=t.datastore,r=t.asyncQueue,n={pn:(async function(e){e.Cu.set("Online")}).bind(null,t),yn:(async function(r){r.gu.forEach((e,t)=>{ff(r,e)})}).bind(null,t),bn:(async function(e,t){Df(e),mf(e)?(e.Cu.fu(t),pf(e)):e.Cu.set("Unknown")}).bind(null,t),gr:vf.bind(null,t)},(s=e).Or(),new RB(r,s.connection,s.authCredentials,s.appCheckCredentials,s.serializer,n)),t.vu.push(async e=>{e?(t.Ou.lr(),mf(t)?pf(t):t.Cu.set("Unknown")):(await t.Ou.stop(),Df(t))})),t.Ou;var e,r,n,s}function xf(t){return t.Mu||(t.Mu=(e=t.datastore,r=t.asyncQueue,n={pn:()=>Promise.resolve(),yn:(async function(e){xf(e).Cr()}).bind(null,t),bn:(async function(e,t){if(t&&xf(e).br){var r=e,n=t;if(qi(t=n.code)&&t!==T.ABORTED){let e=r.pu.shift();xf(r).lr(),await yf(r,()=>r.remoteSyncer.rejectFailedWrite(e.batchId,n)),await _f(r)}await 0}If(e)&&bf(e)}).bind(null,t),vr:(async function(e){var t,r=xf(e);for(t of e.pu)r.Sr(t.mutations)}).bind(null,t),Dr:(async function(e,t,r){let n=e.pu.shift(),s=Oh.from(n,t,r);await yf(e,()=>e.remoteSyncer.applySuccessfulWrite(s)),await _f(e)}).bind(null,t)},(s=e).Or(),new kB(r,s.connection,s.authCredentials,s.appCheckCredentials,s.serializer,n)),t.vu.push(async e=>{e?(t.Mu.lr(),await _f(t)):(await t.Mu.stop(),0<t.pu.length&&(C(of,`Stopping write stream with ${t.pu.length} pending writes`),t.pu=[]))})),t.Mu;var e,r,n,s}class Ff{constructor(e){this.observer=e,this.muted=!1}next(e){this.muted||this.observer.next&&this.Nu(this.observer.next,e)}error(e){this.muted||(this.observer.error?this.Nu(this.observer.error,e):Jt("Uncaught Error in snapshot listener:",e.toString()))}Bu(){this.muted=!0}Nu(e,t){setTimeout(()=>{this.muted||e(t)},0)}}class Sf{constructor(e,t,r,n,s){this.asyncQueue=e,this.timerId=t,this.targetTimeMs=r,this.op=n,this.removalCallback=s,this.deferred=new hB,this.then=this.deferred.promise.then.bind(this.deferred.promise),this.deferred.promise.catch(e=>{})}get promise(){return this.deferred.promise}static createAndSchedule(e,t,r,n,s){var i=Date.now()+r,i=new Sf(e,t,i,n,s);return i.start(r),i}start(e){this.timerHandle=setTimeout(()=>this.handleDelayElapsed(),e)}skipDelay(){return this.handleDelayElapsed()}cancel(e){null!==this.timerHandle&&(this.clearTimeout(),this.deferred.reject(new N(T.CANCELLED,"Operation cancelled"+(e?": "+e:""))))}handleDelayElapsed(){this.asyncQueue.enqueueAndForget(()=>null!==this.timerHandle?(this.clearTimeout(),this.op().then(e=>this.deferred.resolve(e))):Promise.resolve())}clearTimeout(){null!==this.timerHandle&&(this.removalCallback(this),clearTimeout(this.timerHandle),this.timerHandle=null)}}function Of(e,t){if(Jt("AsyncQueue",t+": "+e),XB(e))return new N(T.UNAVAILABLE,t+": "+e);throw e}class Lf{constructor(e,t){this.Lu=e,this.serializer=t,this.metadata=new hB,this.buffer=new Uint8Array,this.$u=new TextDecoder("utf-8"),this.Uu().then(e=>{e&&e.Tu()?this.metadata.resolve(e.hu.metadata):this.metadata.reject(new Error(`The first element of the bundle is not a metadata, it is
             `+JSON.stringify(e?.hu)))},e=>this.metadata.reject(e))}close(){return this.Lu.cancel()}async getMetadata(){return this.metadata.promise}async ku(){return await this.getMetadata(),this.Uu()}async Uu(){var e,t,r=await this.Qu();return null===r?null:(t=this.$u.decode(r),e=Number(t),isNaN(e)&&this.qu(`length string (${t}) is not valid number`),t=await this.Ku(e),new sf(JSON.parse(t),r.length+e))}Wu(){return this.buffer.findIndex(e=>e==="{".charCodeAt(0))}async Qu(){for(;this.Wu()<0&&!await this.Gu(););var e,t;return 0===this.buffer.length?null:((e=this.Wu())<0&&this.qu("Reached the end of bundle when a length string is expected."),t=this.buffer.slice(0,e),this.buffer=this.buffer.slice(e),t)}async Ku(e){for(;this.buffer.length<e;)await this.Gu()&&this.qu("Reached the end of bundle when more is expected.");var t=this.$u.decode(this.buffer.slice(0,e));return this.buffer=this.buffer.slice(e),t}qu(e){throw this.Lu.cancel(),new Error("Invalid bundle format: "+e)}async Gu(){var e,t=await this.Lu.read();return t.done||((e=new Uint8Array(this.buffer.length+t.value.length)).set(this.buffer),e.set(t.value,this.buffer.length),this.buffer=e),t.done}}let Rf="IndexBackfiller";class kf{constructor(e,t){this.asyncQueue=e,this.zu=t,this.task=null}start(){this.Hu(15e3)}stop(){this.task&&(this.task.cancel(),this.task=null)}get started(){return null!==this.task}Hu(e){C(Rf,`Scheduled in ${e}ms`),this.task=this.asyncQueue.enqueueAfterDelay("index_backfill",e,async()=>{this.task=null;try{var e=await this.zu.Ju();C(Rf,"Documents written: "+e)}catch(e){XB(e)?C(Rf,"Ignoring IndexedDB error during index backfill: ",e):await JB(e)}await this.Hu(6e4)})}}class Gf{constructor(e,t){this.localStore=e,this.persistence=t}async Ju(t=50){return this.persistence.runTransaction("Backfill Indexes","readwrite-primary",e=>this.Yu(e,t))}Yu(e,t){let r=new Set,n=t,s=!0;return O.doWhile(()=>!0===s&&0<n,()=>this.localStore.indexManager.getNextCollectionGroupToUpdate(e).next(t=>{if(null!==t&&!r.has(t))return C(Rf,"Processing collection: "+t),this.Zu(e,t,n).next(e=>{n-=e,r.add(t)});s=!1})).next(()=>t-n)}Zu(n,s,e){return this.localStore.indexManager.getMinOffsetFromCollectionGroup(n,s).next(r=>this.localStore.localDocuments.getNextDocuments(n,s,r,e).next(e=>{let t=e.changes;return this.localStore.indexManager.updateIndexEntries(n,t).next(()=>this.Xu(r,e)).next(e=>(C(Rf,"Updating offset: "+e),this.localStore.indexManager.updateCollectionGroup(n,s,e))).next(()=>t.size)}))}Xu(e,t){let n=e;return t.changes.forEach((e,t)=>{var r=pi(t);0<Ei(r,n)&&(n=r)}),new mi(n.readTime,n.documentKey,Math.max(t.batchId,e.largestBatchId))}}let Pf="firestore_clients";function Mf(e,t){return Pf+`_${e}_`+t}let Vf="firestore_mutations";function Hf(e,t,r){let n=Vf+`_${e}_`+r;return t.isAuthenticated()&&(n+="_"+t.uid),n}let Uf="firestore_targets";function qf(e,t){return Uf+`_${e}_`+t}let Jf="SharedClientState";class Kf{constructor(e,t,r,n){this.user=e,this.batchId=t,this.state=r,this.error=n}static ec(e,t,r){var n=JSON.parse(r);let s,i="object"==typeof n&&-1!==["pending","acknowledged","rejected"].indexOf(n.state)&&(void 0===n.error||"object"==typeof n.error);return i&&n.error&&(i="string"==typeof n.error.message&&"string"==typeof n.error.code)&&(s=new N(n.error.code,n.error.message)),i?new Kf(e,t,n.state,s):(Jt(Jf,`Failed to parse mutation state for ID '${t}': `+r),null)}tc(){var e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)}}class jf{constructor(e,t,r){this.targetId=e,this.state=t,this.error=r}static ec(e,t){var r=JSON.parse(t);let n,s="object"==typeof r&&-1!==["not-current","current","rejected"].indexOf(r.state)&&(void 0===r.error||"object"==typeof r.error);return s&&r.error&&(s="string"==typeof r.error.message&&"string"==typeof r.error.code)&&(n=new N(r.error.code,r.error.message)),s?new jf(e,r.state,n):(Jt(Jf,`Failed to parse target state for ID '${e}': `+t),null)}tc(){var e={state:this.state,updateTimeMs:Date.now()};return this.error&&(e.error={code:this.error.code,message:this.error.message}),JSON.stringify(e)}}class Qf{constructor(e,t){this.clientId=e,this.activeTargetIds=t}static ec(e,t){var r=JSON.parse(t);let n="object"==typeof r&&r.activeTargetIds instanceof Array,s=$i;for(let i=0;n&&i<r.activeTargetIds.length;++i)n=$r(r.activeTargetIds[i]),s=s.add(r.activeTargetIds[i]);return n?new Qf(e,s):(Jt(Jf,`Failed to parse client data for instance '${e}': `+t),null)}}class zf{constructor(e,t){this.clientId=e,this.onlineState=t}static ec(e){var t=JSON.parse(e);return"object"==typeof t&&-1!==["Unknown","Online","Offline"].indexOf(t.onlineState)&&"string"==typeof t.clientId?new zf(t.clientId,t.onlineState):(Jt(Jf,"Failed to parse online state: "+e),null)}}class Yf{constructor(){this.activeTargetIds=$i}nc(e){this.activeTargetIds=this.activeTargetIds.add(e)}rc(e){this.activeTargetIds=this.activeTargetIds.delete(e)}tc(){var e={activeTargetIds:this.activeTargetIds.toArray(),updateTimeMs:Date.now()};return JSON.stringify(e)}}class Wf{constructor(e,t,r,n,s){this.window=e,this.qn=t,this.persistenceKey=r,this.sc=n,this.syncEngine=null,this.onlineStateHandler=null,this.sequenceNumberHandler=null,this._c=this.oc.bind(this),this.ac=new tr(b),this.started=!1,this.uc=[];var i=r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");this.storage=this.window.localStorage,this.currentUser=s,this.cc=Mf(this.persistenceKey,this.sc),this.lc="firestore_sequence_number_"+this.persistenceKey,this.ac=this.ac.insert(this.sc,new Yf),this.Ec=new RegExp(`^${Pf}_${i}_([^_]*)$`),this.hc=new RegExp(`^${Vf}_${i}_(\\d+)(?:_(.*))?$`),this.Tc=new RegExp(`^${Uf}_${i}_(\\d+)$`),this.Pc="firestore_online_state_"+this.persistenceKey,this.Ic="firestore_bundle_loaded_v2_"+this.persistenceKey,this.window.addEventListener("storage",this._c)}static cn(e){return!(!e||!e.localStorage)}async start(){let e=await this.syncEngine.Ba();for(let r of e)if(r!==this.sc){let e=this.getItem(Mf(this.persistenceKey,r));var t;e&&(t=Qf.ec(r,e))&&(this.ac=this.ac.insert(t.clientId,t))}this.Rc();let r=this.storage.getItem(this.Pc);if(r){let e=this.Ac(r);e&&this.Vc(e)}for(let e of this.uc)this.oc(e);this.uc=[],this.window.addEventListener("pagehide",()=>this.shutdown()),this.started=!0}writeSequenceNumber(e){this.setItem(this.lc,JSON.stringify(e))}getAllActiveQueryTargets(){return this.dc(this.ac)}isActiveQueryTarget(r){let n=!1;return this.ac.forEach((e,t)=>{t.activeTargetIds.has(r)&&(n=!0)}),n}addPendingMutation(e){this.fc(e,"pending")}updateMutationState(e,t,r){this.fc(e,t,r),this.mc(e)}addLocalQueryTarget(t,e=!0){let r="not-current";if(this.isActiveQueryTarget(t)){let e=this.storage.getItem(qf(this.persistenceKey,t));var n;e&&(n=jf.ec(t,e))&&(r=n.state)}return e&&this.gc.nc(t),this.Rc(),r}removeLocalQueryTarget(e){this.gc.rc(e),this.Rc()}isLocalQueryTarget(e){return this.gc.activeTargetIds.has(e)}clearQueryState(e){this.removeItem(qf(this.persistenceKey,e))}updateQueryState(e,t,r){this.yc(e,t,r)}handleUserChange(e,t,r){t.forEach(e=>{this.mc(e)}),this.currentUser=e,r.forEach(e=>{this.addPendingMutation(e)})}setOnlineState(e){this.wc(e)}notifyBundleLoaded(e){this.bc(e)}shutdown(){this.started&&(this.window.removeEventListener("storage",this._c),this.removeItem(this.cc),this.started=!1)}getItem(e){var t=this.storage.getItem(e);return C(Jf,"READ",e,t),t}setItem(e,t){C(Jf,"SET",e,t),this.storage.setItem(e,t)}removeItem(e){C(Jf,"REMOVE",e),this.storage.removeItem(e)}oc(e){let t=e;t.storageArea===this.storage&&(C(Jf,"EVENT",t.key,t.newValue),t.key===this.cc?Jt("Received WebStorage notification for local change. Another client might have garbage-collected our state"):this.qn.enqueueRetryable(async()=>{if(this.started){if(null!==t.key){if(this.Ec.test(t.key))return null==t.newValue?(e=this.Sc(t.key),this.xc(e,null)):(e=this.vc(t.key,t.newValue))?this.xc(e.clientId,e):void 0;if(this.hc.test(t.key)){if(null!==t.newValue){var e=this.Dc(t.key,t.newValue);if(e)return this.Cc(e)}}else if(this.Tc.test(t.key)){if(null!==t.newValue){var e=this.Fc(t.key,t.newValue);if(e)return this.Oc(e)}}else if(t.key===this.Pc){if(null!==t.newValue){var e=this.Ac(t.newValue);if(e)return this.Vc(e)}}else t.key===this.lc?(e=(e=>{let t=HB.Br;if(null!=e)try{var r=JSON.parse(e);p("number"==typeof r,30636,{Mc:e}),t=r}catch(e){Jt(Jf,"Failed to read sequence number from WebStorage",e)}return t})(t.newValue))!==HB.Br&&this.sequenceNumberHandler(e):t.key===this.Ic&&(e=this.Nc(t.newValue),await Promise.all(e.map(e=>this.syncEngine.Bc(e))))}}else this.uc.push(t)}))}get gc(){return this.ac.get(this.sc)}Rc(){this.setItem(this.cc,this.gc.tc())}fc(e,t,r){var n=new Kf(this.currentUser,e,t,r),s=Hf(this.persistenceKey,this.currentUser,e);this.setItem(s,n.tc())}mc(e){var t=Hf(this.persistenceKey,this.currentUser,e);this.removeItem(t)}wc(e){var t={clientId:this.sc,onlineState:e};this.storage.setItem(this.Pc,JSON.stringify(t))}yc(e,t,r){var n=qf(this.persistenceKey,e),s=new jf(e,t,r);this.setItem(n,s.tc())}bc(e){var t=JSON.stringify(Array.from(e));this.setItem(this.Ic,t)}Sc(e){var t=this.Ec.exec(e);return t?t[1]:null}vc(e,t){var r=this.Sc(e);return Qf.ec(r,t)}Dc(e,t){var r=this.hc.exec(e),n=Number(r[1]),r=void 0!==r[2]?r[2]:null;return Kf.ec(new lB(r),n,t)}Fc(e,t){var r=this.Tc.exec(e),r=Number(r[1]);return jf.ec(r,t)}Ac(e){return zf.ec(e)}Nc(e){return JSON.parse(e)}async Cc(e){if(e.user.uid===this.currentUser.uid)return this.syncEngine.Lc(e.batchId,e.state,e.error);C(Jf,"Ignoring mutation for non-active user "+e.user.uid)}Oc(e){return this.syncEngine.$c(e.targetId,e.state,e.error)}xc(e,t){let r=t?this.ac.insert(e,t):this.ac.remove(e),n=this.dc(this.ac),s=this.dc(r),i=[],a=[];return s.forEach(e=>{n.has(e)||i.push(e)}),n.forEach(e=>{s.has(e)||a.push(e)}),this.syncEngine.Uc(i,a).then(()=>{this.ac=r})}Vc(e){this.ac.get(e.clientId)&&this.onlineStateHandler(e.onlineState)}dc(e){let r=$i;return e.forEach((e,t)=>{r=r.unionWith(t.activeTargetIds)}),r}}class Xf{constructor(){this.kc=new Yf,this.Qc={},this.onlineStateHandler=null,this.sequenceNumberHandler=null}addPendingMutation(e){}updateMutationState(e,t,r){}addLocalQueryTarget(e,t=!0){return t&&this.kc.nc(e),this.Qc[e]||"not-current"}updateQueryState(e,t,r){this.Qc[e]=t}removeLocalQueryTarget(e){this.kc.rc(e)}isLocalQueryTarget(e){return this.kc.activeTargetIds.has(e)}clearQueryState(e){delete this.Qc[e]}getAllActiveQueryTargets(){return this.kc.activeTargetIds}isActiveQueryTarget(e){return this.kc.activeTargetIds.has(e)}start(){return this.kc=new Yf,Promise.resolve()}handleUserChange(e,t,r){}setOnlineState(e){}shutdown(){}writeSequenceNumber(e){}notifyBundleLoaded(e){}}function Zf(){return"undefined"!=typeof window?window:null}function $f(){return"undefined"!=typeof document?document:null}class eg{static emptySet(e){return new eg(e.comparator)}constructor(r){this.comparator=r?(e,t)=>r(e,t)||x.comparator(e.key,t.key):(e,t)=>x.comparator(e.key,t.key),this.keyedMap=zi(),this.sortedSet=new tr(this.comparator)}has(e){return null!=this.keyedMap.get(e)}get(e){return this.keyedMap.get(e)}first(){return this.sortedSet.minKey()}last(){return this.sortedSet.maxKey()}isEmpty(){return this.sortedSet.isEmpty()}indexOf(e){var t=this.keyedMap.get(e);return t?this.sortedSet.indexOf(t):-1}get size(){return this.sortedSet.size}forEach(r){this.sortedSet.inorderTraversal((e,t)=>(r(e),!1))}add(e){var t=this.delete(e.key);return t.copy(t.keyedMap.insert(e.key,e),t.sortedSet.insert(e,null))}delete(e){var t=this.get(e);return t?this.copy(this.keyedMap.remove(e),this.sortedSet.remove(t)):this}isEqual(e){if(!(e instanceof eg))return!1;if(this.size!==e.size)return!1;for(var r=this.sortedSet.getIterator(),n=e.sortedSet.getIterator();r.hasNext();){let e=r.getNext().key,t=n.getNext().key;if(!e.isEqual(t))return!1}return!0}toString(){let t=[];return this.forEach(e=>{t.push(e.toString())}),0===t.length?"DocumentSet ()":"DocumentSet (\n  "+t.join("  \n")+"\n)"}copy(e,t){var r=new eg;return r.comparator=this.comparator,r.keyedMap=e,r.sortedSet=t,r}}class tg{constructor(){this.qc=new tr(x.comparator)}track(e){var t=e.doc.key,r=this.qc.get(t);!r||0!==e.type&&3===r.type?this.qc=this.qc.insert(t,e):3===e.type&&1!==r.type?this.qc=this.qc.insert(t,{type:r.type,doc:e.doc}):2===e.type&&2===r.type?this.qc=this.qc.insert(t,{type:2,doc:e.doc}):2===e.type&&0===r.type?this.qc=this.qc.insert(t,{type:0,doc:e.doc}):1===e.type&&0===r.type?this.qc=this.qc.remove(t):1===e.type&&2===r.type?this.qc=this.qc.insert(t,{type:1,doc:r.doc}):0===e.type&&1===r.type?this.qc=this.qc.insert(t,{type:2,doc:e.doc}):w(63341,{Nt:e,Kc:r})}Wc(){let r=[];return this.qc.inorderTraversal((e,t)=>{r.push(t)}),r}}class rg{constructor(e,t,r,n,s,i,a,B,o){this.query=e,this.docs=t,this.oldDocs=r,this.docChanges=n,this.mutatedKeys=s,this.fromCache=i,this.syncStateChanged=a,this.excludesMetadataChanges=B,this.hasCachedResults=o}static fromInitialDocuments(e,t,r,n,s){let i=[];return t.forEach(e=>{i.push({type:0,doc:e})}),new rg(e,t,eg.emptySet(t),i,r,n,!0,!1,s)}get hasPendingWrites(){return!this.mutatedKeys.isEmpty()}isEqual(e){if(!(this.fromCache===e.fromCache&&this.hasCachedResults===e.hasCachedResults&&this.syncStateChanged===e.syncStateChanged&&this.mutatedKeys.isEqual(e.mutatedKeys)&&Nh(this.query,e.query)&&this.docs.isEqual(e.docs)&&this.oldDocs.isEqual(e.oldDocs)))return!1;var t=this.docChanges,r=e.docChanges;if(t.length!==r.length)return!1;for(let n=0;n<t.length;n++)if(t[n].type!==r[n].type||!t[n].doc.isEqual(r[n].doc))return!1;return!0}}class ng{constructor(){this.Gc=void 0,this.jc=[]}zc(){return this.jc.some(e=>e.Hc())}}class sg{constructor(){this.queries=ig(),this.onlineState="Unknown",this.Jc=new Set}terminate(){var e,r,t,n;e=this,r=new N(T.ABORTED,"Firestore shutting down"),n=(t=e).queries,t.queries=ig(),n.forEach((e,t)=>{for(let e of t.jc)e.onError(r)})}}function ig(){return new Ki(e=>Th(e),Nh)}async function ag(t,r){let e=t,n=3;var s=r.query;let i=e.queries.get(s);i?!i.zc()&&r.Hc()&&(n=2):(i=new ng,n=r.Hc()?0:1);try{switch(n){case 0:i.Gc=await e.onListen(s,!0);break;case 1:i.Gc=await e.onListen(s,!1);break;case 2:await e.onFirstRemoteStoreListen(s)}}catch(t){let e=Of(t,`Initialization of query '${(Ih(r.query)?yh:Mi)(r.query)}' failed`);return void r.onError(e)}e.queries.set(s,i),i.jc.push(r),r.Yc(e.onlineState),i.Gc&&r.Zc(i.Gc)&&og(e)}async function Bg(e,t){var r=e,n=t.query;let s=3;var i=r.queries.get(n);if(i){let e=i.jc.indexOf(t);0<=e&&(i.jc.splice(e,1),0===i.jc.length?s=t.Hc()?0:1:!i.zc()&&t.Hc()&&(s=2))}switch(s){case 0:return r.queries.delete(n),r.onUnlisten(n,!0);case 1:return r.queries.delete(n),r.onUnlisten(n,!1);case 2:return r.onLastRemoteStoreUnlisten(n);default:return}}function og(e){e.Jc.forEach(e=>{e.next()})}(em=Ot=Ot||{}).Default="default",em.Cache="cache";class ug{constructor(e,t,r){this.query=e,this.Xc=t,this.el=!1,this.tl=null,this.onlineState="Unknown",this.options=r||{}}Zc(t){if(!this.options.includeMetadataChanges){let e=[];for(var r of t.docChanges)3!==r.type&&e.push(r);t=new rg(t.query,t.docs,t.oldDocs,e,t.mutatedKeys,t.fromCache,t.syncStateChanged,!0,t.hasCachedResults)}let e=!1;return this.el?this.nl(t)&&(this.Xc.next(t),e=!0):this.rl(t,this.onlineState)&&(this.il(t),e=!0),this.tl=t,e}onError(e){this.Xc.error(e)}Yc(e){this.onlineState=e;let t=!1;return this.tl&&!this.el&&this.rl(this.tl,e)&&(this.il(this.tl),t=!0),t}rl(e,t){return!e.fromCache||!this.Hc()||(!this.options.waitForSyncWhenOnline||!("Offline"!==t))&&(!e.docs.isEmpty()||e.hasCachedResults||"Offline"===t)}nl(e){var t;return 0<e.docChanges.length||(t=this.tl&&this.tl.hasPendingWrites!==e.hasPendingWrites,!(!e.syncStateChanged&&!t)&&!0===this.options.includeMetadataChanges)}il(e){e=rg.fromInitialDocuments(e.query,e.docs,e.mutatedKeys,e.fromCache,e.hasCachedResults),this.el=!0,this.Xc.next(e)}Hc(){return this.options.source!==Ot.Cache}}class lg{constructor(e){this.serializer=e}cu(e){return xa(this.serializer,e)}lu(e){return e.metadata.exists?ka(this.serializer,e.document,!1):ui.newNoDocument(this.cu(e.metadata.name),this.Eu(e.metadata.readTime))}Eu(e){return Ia(e)}}class hg{constructor(e,t){this.sl=e,this.serializer=t,this._l=[],this.ol=[],this.collectionGroups=new Set,this.progress=cg(e)}get queries(){return this._l}get documents(){return this.ol}al(e){this.progress.bytesLoaded+=e.byteLength;let t=this.progress.documentsLoaded;var r;return e.hu.namedQuery?this._l.push(e.hu.namedQuery):e.hu.documentMetadata?(this.ol.push({metadata:e.hu.documentMetadata}),e.hu.documentMetadata.exists||++t,r=A.fromString(e.hu.documentMetadata.name),this.collectionGroups.add(r.get(r.length-2))):e.hu.document&&(this.ol[this.ol.length-1].document=e.hu.document,++t),t!==this.progress.documentsLoaded?(this.progress.documentsLoaded=t,{...this.progress}):null}ul(e){let r=new Map,n=new lg(this.serializer);for(var s of e)if(s.metadata.queries){let e=n.cu(s.metadata.name);for(let t of s.metadata.queries){var i=(r.get(t)||S()).add(e);r.set(t,i)}}return r}async cl(e){let t=await(async(r,n,e,t)=>{let s=r,i=S(),a=ji;for(let r of e){let e=n.cu(r.metadata.name),t=(r.document&&(i=i.add(e)),n.lu(r));t.setReadTime(n.Eu(r.metadata.readTime)),a=a.insert(e,t)}let B=s.iu.newChangeBuffer({trackRemovals:!0}),o=await Zd(s,(r=t,Ri(Fi(A.fromString("__bundle__/docs/"+r)))));return s.persistence.runTransaction("Apply bundle documents","readwrite",t=>Xd(t,B,a).next(e=>(B.apply(t),e)).next(e=>s.ko.removeMatchingKeysForTargetId(t,o.targetId).next(()=>s.ko.addMatchingKeys(t,i,o.targetId)).next(()=>s.localDocuments.getLocalViewOfDocuments(t,e.ou,e.au)).next(()=>e.ou)))})(e,new lg(this.serializer),this.ol,this.sl.id),r=this.ul(this.documents);for(let t of this._l)await(async(e,r,n=S())=>{let s=await Zd(e,Ri(nC(r.bundledQuery))),i=e;return i.persistence.runTransaction("Save named query","readwrite",e=>{var t=Ia(r.readTime);return 0<=s.snapshotVersion.compareTo(t)?i.qo.saveNamedQuery(e,r):(t=s.withResumeToken(Rr.EMPTY_BYTE_STRING,t),i.tu=i.tu.insert(t.targetId,t),i.ko.updateTargetData(e,t).next(()=>i.ko.removeMatchingKeysForTargetId(e,s.targetId)).next(()=>i.ko.addMatchingKeys(e,n,s.targetId)).next(()=>i.qo.saveNamedQuery(e,r)))})})(e,t,r.get(t.name));return this.progress.taskState="Success",{progress:this.progress,ll:this.collectionGroups,El:t}}}function cg(e){return{taskState:"Running",documentsLoaded:0,bytesLoaded:0,totalDocuments:e.totalDocuments,totalBytes:e.totalBytes}}class Cg{constructor(e){this.key=e}}class dg{constructor(e){this.key=e}}class fg{constructor(e,t){this.query=e,this.hl=t,this.Tl=null,this.hasCachedResults=!1,this.current=!1,this.Pl=S(),this.mutatedKeys=S(),this.Il=(Ih(e)?id:Hi)(e),this.Rl=new eg(this.Il)}get Al(){return this.hl}Vl(e,t){let B=t?t.dl:new tg,o=(t||this).Rl,u=(t||this).mutatedKeys,l=o,h=!1,[c,C]=this.fl(this.query,o);e.inorderTraversal((e,t)=>{var r=o.get(e),n=sd(this.query,t)?t:null,s=!!r&&this.mutatedKeys.has(r.key),i=!!n&&(n.hasLocalMutations||this.mutatedKeys.has(n.key)&&n.hasCommittedMutations);let a=!1;r&&n?r.data.isEqual(n.data)?s!==i&&(B.track({type:3,doc:n}),a=!0):!this.ml(r,n)&&(B.track({type:2,doc:n}),a=!0,c&&0<this.Il(n,c)||C&&this.Il(n,C)<0)&&(h=!0):!r&&n?(B.track({type:0,doc:n}),a=!0):r&&!n&&(B.track({type:1,doc:r}),a=!0,c||C)&&(h=!0),a&&(u=n?(l=l.add(n),i?u.add(e):u.delete(e)):(l=l.delete(e),u.delete(e)))});var r=this.pl(this.query);if(r)if(Ih(this.query)){let t=[],e=(l.forEach(e=>t.push(e)),rd(this.query,t)),r=new eg(id(this.query));for(let t of e)r=r.add(t);l.forEach(e=>{r.has(e.key)||(u=u.delete(e.key),B.track({type:1,doc:e}))}),l=r}else{let t=this.gl(this.query);for(;l.size>r;){let e="F"===t?l.last():l.first();l=l.delete(e.key),u=u.delete(e.key),B.track({type:1,doc:e})}}return{Rl:l,dl:B,Za:h,mutatedKeys:u}}pl(e){return Ih(e)?ad(e)?.limit:e.limit||void 0}gl(e){var t;return Ih(e)?(t=ad(e))&&t.limit<0?"L":"F":e.limitType}fl(e,t){var r;return Ih(e)?(r=ad(e)?.limit,[t.size===r?t.last():null,null]):["F"===e.limitType&&t.size===this.pl(this.query)?t.last():null,"L"===e.limitType&&t.size===this.pl(this.query)?t.first():null]}ml(e,t){return e.hasLocalMutations&&t.hasCommittedMutations&&!t.hasLocalMutations}applyChanges(e,t,r,n){var s=this.Rl,i=(this.Rl=e.Rl,this.mutatedKeys=e.mutatedKeys,e.dl.Wc()),a=(i.sort((e,t)=>{return r=e.type,n=t.type,(s=e=>{switch(e){case 0:return 1;case 2:case 3:return 2;case 1:return 0;default:return w(20277,{Nt:e})}})(r)-s(n)||this.Il(e.doc,t.doc);var r,n,s}),this.yl(r),n=n??!1,t&&!n?this.wl():[]),B=0===this.Pl.size&&this.current&&!n?1:0,o=B!==this.Tl;return this.Tl=B,0!==i.length||o?{snapshot:new rg(this.query,e.Rl,s,i,e.mutatedKeys,0==B,o,!1,!!r&&0<r.resumeToken.approximateByteSize()),bl:a}:{bl:a}}Yc(e){return this.current&&"Offline"===e?(this.current=!1,this.applyChanges({Rl:this.Rl,dl:new tg,mutatedKeys:this.mutatedKeys,Za:!1},!1)):{bl:[]}}Sl(e){return!this.hl.has(e)&&!!this.Rl.has(e)&&!this.Rl.get(e).hasLocalMutations}yl(e){e&&(e.addedDocuments.forEach(e=>this.hl=this.hl.add(e)),e.modifiedDocuments.forEach(e=>{}),e.removedDocuments.forEach(e=>this.hl=this.hl.delete(e)),this.current=e.current)}wl(){if(!this.current)return[];let t=this.Pl,r=(this.Pl=S(),this.Rl.forEach(e=>{this.Sl(e.key)&&(this.Pl=this.Pl.add(e.key))}),[]);return t.forEach(e=>{this.Pl.has(e)||r.push(new dg(e))}),this.Pl.forEach(e=>{t.has(e)||r.push(new Cg(e))}),r}xl(e){this.hl=e.uu,this.Pl=S();var t=this.Vl(e.documents);return this.applyChanges(t,!0)}vl(){return rg.fromInitialDocuments(this.query,this.Rl,this.mutatedKeys,0===this.Tl,this.hasCachedResults)}}let gg="SyncEngine";class pg{constructor(e,t,r){this.query=e,this.targetId=t,this.view=r}}class mg{constructor(e){this.key=e,this.Dl=!1}}class Eg{constructor(e,t,r,n,s,i){this.localStore=e,this.remoteStore=t,this.eventManager=r,this.sharedClientState=n,this.currentUser=s,this.maxConcurrentLimboResolutions=i,this.Cl={},this.Fl=new Ki(e=>Th(e),Nh),this.Ol=new Map,this.Ml=new Set,this.Nl=new tr(x.comparator),this.Bl=new Map,this.Ll=new vd,this.$l={},this.Ul=new Map,this.kl=YC.G_(),this.onlineState="Unknown",this.Ql=void 0}get isPrimaryClient(){return!0===this.Ql}}async function Dg(e,t,r,n){var s=await Zd(e.localStore,Ih(t)?t:Ri(t)),i=s.targetId,a=e.sharedClientState.addLocalQueryTarget(i,r);let B;return n&&(B=await vg(e,t,i,"current"===a,s.resumeToken)),e.isPrimaryClient&&r&&Cf(e.remoteStore,s),B}async function vg(n,e,t,r,s){n.ql=(e,t,r)=>(async(e,t,r,n)=>{let s=t.view.Vl(r);s.Za&&(s=await ef(e.localStore,t.query,!1).then(({documents:e})=>t.view.Vl(e,s)));var i=n&&n.targetChanges.get(t.targetId),a=n&&null!=n.targetMismatches.get(t.targetId),i=t.view.applyChanges(s,e.isPrimaryClient,i,a);return Fg(e,t.targetId,i.bl),i.snapshot})(n,e,t,r);var i=await ef(n.localStore,e,!0),a=new fg(e,i.uu),i=a.Vl(i.documents),B=Ba.createSynthesizedTargetChangeForCurrentChange(t,r&&"Offline"!==n.onlineState,s),i=a.applyChanges(i,n.isPrimaryClient,B),B=(Fg(n,t,i.bl),new pg(e,t,a));return n.Fl.set(e,B),n.Ol.has(t)?n.Ol.get(t).push(e):n.Ol.set(t,[e]),i.snapshot}async function wg(t,e,r){var n=Mg(t);try{let t=await((e,s)=>{let i=e,a=g.now(),B=s.reduce((e,t)=>e.add(t.key),S()),o,u;return i.persistence.runTransaction("Locally write mutations","readwrite",n=>{let t=ji,r=S();return i.iu.getEntries(n,B).next(e=>{(t=e).forEach((e,t)=>{t.isValidDocument()||(r=r.add(e))})}).next(()=>i.localDocuments.getOverlayedDocuments(n,t)).next(e=>{o=e;var t=[];for(let r of s){let e=((e,r)=>{let n=null;for(var s of e.fieldTransforms){let e=r.data.field(s.field),t=gs(s.transform,e||null);null!=t&&(n=null===n?hs.empty():n).set(s.field,t)}return n||null})(r,o.get(r.key).overlayedDocument);null!=e&&t.push(new Gs(r.key,e,function s(e){let i=[];return wr(e.fields,(e,r)=>{var n=new Er([e]);if(ss(r)&&(e=r,!Tn.has(is(e)))){let t=s(r.mapValue).fields;if(0===t.length)i.push(n);else for(let e of t)i.push(n.child(e))}else i.push(n)}),new Dr(i)}(e.value.mapValue),xs.exists(!0)))}return i.mutationQueue.addMutationBatch(n,a,t,s)}).next(e=>{var t=(u=e).applyToLocalDocumentSet(o,r);return i.documentOverlayCache.saveOverlays(n,e.batchId,t)})}).then(()=>({batchId:u.batchId,changes:Yi(o)}))})(n.localStore,e);n.sharedClientState.addPendingMutation(t.batchId);{var s=n;var i=t.batchId;var a=r;let e=s.$l[s.currentUser.toKey()];e=(e=e||new tr(b)).insert(i,a),s.$l[s.currentUser.toKey()]=e}await Og(n,t.changes),await _f(n.remoteStore)}catch(t){let e=Of(t,"Failed to persist write");r.reject(e)}}async function yg(e,t){let n=e;try{let e=await Wd(n.localStore,t);t.targetChanges.forEach((e,t)=>{var r=n.Bl.get(t);r&&(p(e.addedDocuments.size+e.modifiedDocuments.size+e.removedDocuments.size<=1,22616),0<e.addedDocuments.size?r.Dl=!0:0<e.modifiedDocuments.size?p(r.Dl,14607):0<e.removedDocuments.size&&(p(r.Dl,42227),r.Dl=!1))}),await Og(n,e,t)}catch(e){await JB(e)}}function _g(e,s,t){var i=e;if(i.isPrimaryClient&&0===t||!i.isPrimaryClient&&1===t){let n=[];i.Fl.forEach((e,t)=>{var r=t.view.Yc(s);r.snapshot&&n.push(r.snapshot)});{t=i.eventManager;var a=s;var B=t;B.onlineState=a;let r=!1;B.queries.forEach((e,t)=>{for(let e of t.jc)e.Yc(a)&&(r=!0)}),r&&og(B)}n.length&&i.Cl.gr(n),i.onlineState=s,i.isPrimaryClient&&i.sharedClientState.setOnlineState(s)}}async function Ig(e,t,r){var n=e;try{let e=await((e,n)=>{let s=e;return s.persistence.runTransaction("Reject batch","readwrite-primary",t=>{let r;return s.mutationQueue.lookupMutationBatch(t,n).next(e=>(p(null!==e,37113),r=e.keys(),s.mutationQueue.removeMutationBatch(t,e))).next(()=>s.mutationQueue.performConsistencyCheck(t)).next(()=>s.documentOverlayCache.removeOverlaysForBatchId(t,r,n)).next(()=>s.localDocuments.recalculateAndSaveOverlaysForDocumentKeys(t,r)).next(()=>s.localDocuments.getDocuments(t,r))})})(n.localStore,t);Ng(n,t,r),Tg(n,t),n.sharedClientState.updateMutationState(t,"rejected",r),await Og(n,e)}catch(r){await JB(r)}}async function bg(t,r){let n=t;Ef(n.remoteStore)||C(gg,"The network is disabled. The task returned by 'awaitPendingWrites()' will not complete until the network is enabled.");try{let e=await(e=>{let t=e;return t.persistence.runTransaction("Get highest unacknowledged batch id","readonly",e=>t.mutationQueue.getHighestUnacknowledgedBatchId(e))})(n.localStore);var s;e===Wr?r.resolve():((s=n.Ul.get(e)||[]).push(r),n.Ul.set(e,s))}catch(t){let e=Of(t,"Initialization of waitForPendingWrites() operation failed");r.reject(e)}}function Tg(e,t){(e.Ul.get(t)||[]).forEach(e=>{e.resolve()}),e.Ul.delete(t)}function Ng(e,t,r){var n=e;let s=n.$l[n.currentUser.toKey()];if(s){let e=s.get(t);e&&(r?e.reject(r):e.resolve(),s=s.remove(t)),n.$l[n.currentUser.toKey()]=s}}function Ag(t,e,r=null){t.sharedClientState.removeLocalQueryTarget(e);for(var n of t.Ol.get(e))t.Fl.delete(n),r&&t.Cl.Kl(n,r);t.Ol.delete(e),t.isPrimaryClient&&t.Ll.fo(e).forEach(e=>{t.Ll.containsKey(e)||xg(t,e)})}function xg(e,t){e.Ml.delete(t.path.canonicalString());var r=e.Nl.get(t);null!==r&&(df(e.remoteStore,r),e.Nl=e.Nl.remove(t),e.Bl.delete(r),Sg(e))}function Fg(e,t,r){for(var n of r)n instanceof Cg?(e.Ll.addReference(n.key,t),s=e,i=n,B=a=void 0,a=i.key,B=a.path.canonicalString(),s.Nl.get(a)||s.Ml.has(B)||(C(gg,"New document in limbo: "+a),s.Ml.add(B),Sg(s))):n instanceof dg?(C(gg,"Document no longer in limbo: "+n.key),e.Ll.removeReference(n.key,t),e.Ll.containsKey(n.key)||xg(e,n.key)):w(19791,{Wl:n});var s,i,a,B}function Sg(e){for(;0<e.Ml.size&&e.Nl.size<e.maxConcurrentLimboResolutions;){var t=e.Ml.values().next().value,t=(e.Ml.delete(t),new x(A.fromString(t))),r=e.kl.next();e.Bl.set(r,new mg(t)),e.Nl=e.Nl.insert(t,r),Cf(e.remoteStore,new zc(Ri(Fi(t.path)),r,"TargetPurposeLimboResolution",HB.Br))}}async function Og(e,t,n){let i=e,s=[],a=[],B=[];if(!i.Fl.isEmpty()){i.Fl.forEach((e,r)=>{B.push(i.ql(r,t,n).then(e=>{var t;(e||n)&&i.isPrimaryClient&&(t=e?!e.fromCache:n?.targetChanges.get(r.targetId)?.current,i.sharedClientState.updateQueryState(r.targetId,t?"current":"not-current")),e&&(s.push(e),t=Md.ka(r.targetId,e),a.push(t))}))}),await Promise.all(B),i.Cl.gr(s);{var r=i.localStore,o=a;let s=r;try{await s.persistence.runTransaction("notifyLocalViewChanges","readwrite",r=>O.forEach(o,t=>O.forEach(t.$a,e=>s.persistence.referenceDelegate.addReference(r,t.targetId,e)).next(()=>O.forEach(t.Ua,e=>s.persistence.referenceDelegate.removeReference(r,t.targetId,e)))))}catch(r){if(!XB(r))throw r;C(qd,"Failed to update sequence numbers: "+r)}for(let e of o){let n=e.targetId;if(!e.fromCache){let e=s.tu.get(n),t=e.snapshotVersion,r=e.withLastLimboFreeSnapshotVersion(t);s.tu=s.tu.insert(n,r)}}}}}async function Lg(e,t,r,n){var s=e,i=await((e,r)=>{let n=e,s=n.mutationQueue;return n.persistence.runTransaction("Lookup mutation documents","readonly",t=>s.ns(t,r).next(e=>e?n.localDocuments.getDocuments(t,e):O.resolve(null)))})(s.localStore,t);null!==i?("pending"===r?await _f(s.remoteStore):"acknowledged"===r||"rejected"===r?(Ng(s,t,n||null),Tg(s,t),s.localStore.mutationQueue.us(t)):w(6720,"Unknown batchState",{Gl:r}),await Og(s,i)):C(gg,"Cannot apply mutation batch with id: "+t)}async function Rg(r,e){var n,s,i,a=r,B=[],o=[];for(let r of e){let t,e=a.Ol.get(r);if(e&&0!==e.length){t=await Zd(a.localStore,Ih(e[0])?e[0]:Ri(e[0]));for(let r of e){let e=a.Fl.get(r),t=(n=e,i=s=void 0,i=await ef((s=a).localStore,n.query,!0),i=n.view.xl(i),s.isPrimaryClient&&Fg(s,n.targetId,i.bl),await i);t.snapshot&&o.push(t.snapshot)}}else{let e=await tf(a.localStore,r);t=await Zd(a.localStore,e),await vg(a,kg(e),r,!1,t.resumeToken)}B.push(t)}return a.Cl.gr(o),B}function kg(e){return _i(e)?e:xi(e.path,e.collectionGroup,e.orderBy,e.filters,e.limit,"F",e.startAt,e.endAt)}async function Gg(e,r,n,t){var s=e;if(s.Ql)C(gg,"Ignoring unexpected query state notification.");else{var i,a=s.Ol.get(r);if(a&&0<a.length)switch(n){case"current":case"not-current":{let e;if(Ih(a[0]))switch(Ou(a[0])){case"collection_group":case"collection":e=await rf(s.localStore,ku(a[0]));break;case"documents":e=await((e,t)=>{let r=e,n=S(...Gu(t).map(e=>x.fromPath(e)));return r.persistence.runTransaction("Get documents for pipeline","readonly",e=>r.iu.getEntries(e,n)).then(e=>e)})(s.localStore,a[0]);break;default:Kt(""),e=zi()}else e=await rf(s.localStore,(i=a[0]).collectionGroup||(i.path.length%2==1?i.path.lastSegment():i.path.get(i.path.length-2)));let t=aa.createSynthesizedRemoteEventForCurrentChange(r,"current"===n,Rr.EMPTY_BYTE_STRING);await Og(s,e,t);break}case"rejected":await $d(s.localStore,r,!0),Ag(s,r,t);break;default:w(64155,n)}}}function Pg(e){var t=e;return t.remoteStore.remoteSyncer.applyRemoteEvent=yg.bind(null,t),t.remoteStore.remoteSyncer.getRemoteKeysForTarget=(function(e,t){let n=e,r=n.Bl.get(t);if(r&&r.Dl)return S().add(r.key);{let r=S(),e=n.Ol.get(t);if(e)for(let t of e??[]){let e=n.Fl.get(t);r=r.unionWith(e.view.Al)}return r}}).bind(null,t),t.remoteStore.remoteSyncer.rejectListen=(async function(e,n,t){let s=e,r=(s.sharedClientState.updateQueryState(n,"rejected",t),s.Bl.get(n)),i=r&&r.key;if(i){let e=new tr(x.comparator),t=(e=e.insert(i,ui.newNoDocument(i,F.min())),S().add(i)),r=new aa(F.min(),new Map,new tr(b),e,ji,t);await yg(s,r),s.Nl=s.Nl.remove(i),s.Bl.delete(n),Sg(s)}else await $d(s.localStore,n,!1).then(()=>Ag(s,n,t)).catch(JB)}).bind(null,t),t.Cl.gr=(function(r,e){var n=r;let s=!1;for(let r of e){let e=r.query,t=n.queries.get(e);if(t){for(let e of t.jc)e.Zc(r)&&(s=!0);t.Gc=r}}s&&og(n)}).bind(null,t.eventManager),t.Cl.Kl=(function(e,t,r){var n=e,s=n.queries.get(t);if(s)for(let e of s.jc)e.onError(r);n.queries.delete(t)}).bind(null,t.eventManager),t}function Mg(e){var t=e;return t.remoteStore.remoteSyncer.applySuccessfulWrite=(async function(e,t){var r=e,n=t.batch.batchId;try{let e=await zd(r.localStore,t);Ng(r,n,null),Tg(r,n),r.sharedClientState.updateMutationState(n,"acknowledged"),await Og(r,e)}catch(e){await JB(e)}}).bind(null,t),t.remoteStore.remoteSyncer.rejectFailedWrite=Ig.bind(null,t),t}function Vg(e,t,r){let n=e;(async(e,r,n)=>{try{var s=await r.getMetadata();if(await((e,t)=>{let r=e,n=Ia(t.createTime);return r.persistence.runTransaction("hasNewerBundle","readonly",e=>r.qo.getBundleMetadata(e,t.id)).then(e=>!!e&&0<=e.createTime.compareTo(n))})(e.localStore,s))return await r.close(),n._completeWith({taskState:"Success",documentsLoaded:s.totalDocuments,bytesLoaded:s.totalBytes,totalDocuments:s.totalDocuments,totalBytes:s.totalBytes}),Promise.resolve(new Set);n._updateProgress(cg(s));var i=new hg(s,r.serializer);let t=await r.ku();for(;t;){let e=await i.al(t);e&&n._updateProgress(e),t=await r.ku()}var a=await i.cl(e.localStore);return await Og(e,a.El,void 0),await((e,t)=>{let r=e;return r.persistence.runTransaction("Save bundle","readwrite",e=>r.qo.saveBundleMetadata(e,t))})(e.localStore,s),n._completeWith(a.progress),Promise.resolve(a.ll)}catch(e){return Kt(gg,"Loading bundle failed with "+e),n._failWith(e),Promise.resolve(new Set)}})(n,t,r).then(e=>{n.sharedClientState.notifyBundleLoaded(e)})}class Hg{constructor(){this.kind="memory",this.synchronizeTabs=!1}async initialize(e){this.serializer=$a(e.databaseInfo.databaseId),this.sharedClientState=this.jl(e),this.persistence=this.zl(e),await this.persistence.start(),this.localStore=this.Hl(e),this.gcScheduler=this.Jl(e,this.localStore),this.indexBackfillerScheduler=this.Yl(e,this.localStore)}Jl(e,t){return null}Yl(e,t){return null}Hl(e){return jd(this.persistence,new Ud,e.initialUser,this.serializer)}zl(e){return new Td(Ad.Ho,this.serializer)}jl(e){return new Xf}async terminate(){this.gcScheduler?.stop(),this.indexBackfillerScheduler?.stop(),this.sharedClientState.shutdown(),await this.persistence.shutdown()}}Hg.provider={build:()=>new Hg};class Ug extends Hg{constructor(e){super(),this.cacheSizeBytes=e}Jl(e,t){p(this.persistence.referenceDelegate instanceof xd,46915);var r=this.persistence.referenceDelegate.garbageCollector;return new io(r,e.asyncQueue,t)}zl(e){let t=void 0!==this.cacheSizeBytes?VB.withCacheSize(this.cacheSizeBytes):VB.DEFAULT;return new Td(e=>xd.Ho(e,t),this.serializer)}}class qg extends Hg{constructor(e,t,r){super(),this.Zl=e,this.cacheSizeBytes=t,this.forceOwnership=r,this.kind="persistent",this.synchronizeTabs=!1}async initialize(e){await super.initialize(e),await this.Zl.initialize(this,e),await Mg(this.Zl.syncEngine),await _f(this.Zl.remoteStore),await this.persistence.fa(()=>(this.gcScheduler&&!this.gcScheduler.started&&this.gcScheduler.start(),this.indexBackfillerScheduler&&!this.indexBackfillerScheduler.started&&this.indexBackfillerScheduler.start(),Promise.resolve()))}Hl(e){return jd(this.persistence,new Ud,e.initialUser,this.serializer)}Jl(e,t){var r=this.persistence.referenceDelegate.garbageCollector;return new io(r,e.asyncQueue,t)}Yl(e,t){var r=new Gf(t,this.persistence);return new kf(e.asyncQueue,r)}zl(e){var t=Pd(e.databaseInfo.databaseId,e.databaseInfo.persistenceKey),r=void 0!==this.cacheSizeBytes?VB.withCacheSize(this.cacheSizeBytes):VB.DEFAULT;return new Rd(this.synchronizeTabs,t,e.clientId,r,e.asyncQueue,Zf(),$f(),this.serializer,this.sharedClientState,!!this.forceOwnership)}jl(e){return new Xf}}class Jg extends qg{constructor(e,t){super(e,t,!1),this.Zl=e,this.cacheSizeBytes=t,this.synchronizeTabs=!0}async initialize(e){await super.initialize(e);var t=this.Zl.syncEngine;this.sharedClientState instanceof Wf&&(this.sharedClientState.syncEngine={Lc:Lg.bind(null,t),$c:Gg.bind(null,t),Uc:(async function(e,t,n){let s=Pg(e);if(s.Ql){for(let r of t)if(s.Ol.has(r)&&s.sharedClientState.isActiveQueryTarget(r))C(gg,"Adding an already active target "+r);else{let e=await tf(s.localStore,r),t=await Zd(s.localStore,e);await vg(s,kg(e),t.targetId,!1,t.resumeToken),Cf(s.remoteStore,t)}for(let r of n)s.Ol.has(r)&&await $d(s.localStore,r,!1).then(()=>{df(s.remoteStore,r),Ag(s,r)}).catch(JB)}}).bind(null,t),Ba:(function(e){return e.localStore.persistence.Ba()}).bind(null,t),Bc:(async function(e,t){let r=e;return rf(r.localStore,t).then(e=>Og(r,e))}).bind(null,t)},await this.sharedClientState.start()),await this.persistence.fa(async e=>{{var t=this.Zl.syncEngine,i=e;let s=t;if(Pg(s),Mg(s),!0===i&&!0!==s.Ql){let e=s.sharedClientState.getAllActiveQueryTargets(),t=await Rg(s,e.toArray());s.Ql=!0,await Nf(s.remoteStore,!0);for(let e of t)Cf(s.remoteStore,e)}else if(!1===i&&!1!==s.Ql){let r=[],n=Promise.resolve();s.Ol.forEach((e,t)=>{s.sharedClientState.isLocalQueryTarget(t)?r.push(t):n=n.then(()=>(Ag(s,t),$d(s.localStore,t,!0))),df(s.remoteStore,t)}),await n,await Rg(s,r);{i=s;let r=i;r.Bl.forEach((e,t)=>{df(r.remoteStore,t)}),r.Ll.mo(),r.Bl=new Map,r.Nl=new tr(x.comparator)}s.Ql=!1,await Nf(s.remoteStore,!1)}}await 0,this.gcScheduler&&(e&&!this.gcScheduler.started?this.gcScheduler.start():e||this.gcScheduler.stop()),this.indexBackfillerScheduler&&(e&&!this.indexBackfillerScheduler.started?this.indexBackfillerScheduler.start():e||this.indexBackfillerScheduler.stop())})}jl(e){var t,r=Zf();if(Wf.cn(r))return t=Pd(e.databaseInfo.databaseId,e.databaseInfo.persistenceKey),new Wf(r,e.asyncQueue,t,e.clientId,e.initialUser);throw new N(T.UNIMPLEMENTED,"IndexedDB persistence is only available on platforms that support LocalStorage.")}}class Kg{async initialize(e,t){this.localStore||(this.localStore=e.localStore,this.sharedClientState=e.sharedClientState,this.datastore=this.createDatastore(t),this.remoteStore=this.createRemoteStore(t),this.eventManager=this.createEventManager(t),this.syncEngine=this.createSyncEngine(t,!e.synchronizeTabs),this.sharedClientState.onlineStateHandler=e=>_g(this.syncEngine,e,1),this.remoteStore.remoteSyncer.handleCredentialChange=(async function(e,t){var r,n,s=e;if(!s.currentUser.isEqual(t)){C(gg,"User change. New user:",t.toKey());let e=await Qd(s.localStore,t);s.currentUser=t,n="'waitForPendingWrites' promise is rejected due to a user change.",(r=s).Ul.forEach(e=>{e.forEach(e=>{e.reject(new N(T.CANCELLED,n))})}),r.Ul.clear(),s.sharedClientState.handleUserChange(t,e.removedBatchIds,e.addedBatchIds),await Og(s,e._u)}}).bind(null,this.syncEngine),await Nf(this.remoteStore,this.syncEngine.isPrimaryClient))}createEventManager(e){return new sg}createDatastore(e){var t,r,n,s=$a(e.databaseInfo.databaseId),i=(t=e.databaseInfo,new FB(t));return t=e.authCredentials,e=e.appCheckCredentials,r=i,n=s,new GB(t,e,r,n)}createRemoteStore(e){return t=this.localStore,r=this.datastore,e=e.asyncQueue,n=e=>_g(this.syncEngine,e,0),s=new(yB.cn()?yB:vB),new uf(t,r,e,n,s);var t,r,n,s}createSyncEngine(e,t){return r=this.localStore,n=this.remoteStore,s=this.eventManager,i=this.sharedClientState,a=e.initialUser,e=e.maxConcurrentLimboResolutions,t=t,B=new Eg(r,n,s,i,a,e),t&&(B.Ql=!0),B;var r,n,s,i,a,B}async terminate(){var e,t;e=this.remoteStore,t=e,C(of,"RemoteStore shutting down."),t.xu.add(5),await hf(t),t.Du.shutdown(),await!t.Cu.set("Unknown"),this.datastore?.terminate(),this.eventManager?.terminate()}}Kg.provider={build:()=>new Kg};let jg=class{constructor(e){this.datastore=e,this.readVersions=new Map,this.mutations=[],this.committed=!1,this.lastTransactionError=null,this.writtenDocs=new Set}async lookup(e){if(this.ensureCommitNotCalled(),0<this.mutations.length)throw this.lastTransactionError=new N(T.INVALID_ARGUMENT,"Firestore transactions require all reads to be executed before all writes."),this.lastTransactionError;var t=await(async(e,t)=>{let o=e,r={documents:t.map(e=>Aa(o.serializer,e))},n=await o.dn("BatchGetDocuments",o.serializer.databaseId,A.emptyPath(),r,t.length),u=new Map,s=(n.forEach(e=>{t=o.serializer;var t,r,n,s,i,a,B="found"in(e=e)?(r=t,p(!!(n=e).found,43571),n.found.name,n.found.updateTime,s=xa(r,n.found.name),i=Ia(n.found.updateTime),B=n.found.createTime?Ia(n.found.createTime):F.min(),a=new hs({mapValue:{fields:n.found.fields}}),ui.newFoundDocument(s,i,B,a)):"missing"in e?(r=t,p(!!(n=e).missing,3894),p(!!n.readTime,22933),s=xa(r,n.missing),i=Ia(n.readTime),ui.newNoDocument(s,i)):w(7234,{result:e});u.set(B.key.toString(),B)}),[]);return t.forEach(e=>{var t=u.get(e.toString());p(!!t,55234,{key:e}),s.push(t)}),s})(this.datastore,e);return t.forEach(e=>this.recordVersion(e)),t}set(e,t){this.write(t.toMutation(e,this.precondition(e))),this.writtenDocs.add(e.toString())}update(e,t){try{this.write(t.toMutation(e,this.preconditionForUpdate(e)))}catch(e){this.lastTransactionError=e}this.writtenDocs.add(e.toString())}delete(e){this.write(new Hs(e,this.precondition(e))),this.writtenDocs.add(e.toString())}async commit(){if(this.ensureCommitNotCalled(),this.lastTransactionError)throw this.lastTransactionError;let t=this.readVersions;this.mutations.forEach(e=>{t.delete(e.key.toString())}),t.forEach((e,t)=>{var r=x.fromPath(t);this.mutations.push(new Us(r,this.precondition(r)))});{var r=this.datastore,n=this.mutations;let t=r,e={writes:n.map(e=>Ga(t.serializer,e))};await t.In("Commit",t.serializer.databaseId,A.emptyPath(),e)}await 0,this.committed=!0}recordVersion(e){let t;if(e.isFoundDocument())t=e.version;else{if(!e.isNoDocument())throw w(50498,{Xl:e.constructor.name});t=F.min()}var r=this.readVersions.get(e.key.toString());if(r){if(!t.isEqual(r))throw new N(T.ABORTED,"Document version changed between two reads.")}else this.readVersions.set(e.key.toString(),t)}precondition(e){var t=this.readVersions.get(e.toString());return!this.writtenDocs.has(e.toString())&&t?t.isEqual(F.min())?xs.exists(!1):xs.updateTime(t):xs.none()}preconditionForUpdate(e){var t=this.readVersions.get(e.toString());if(this.writtenDocs.has(e.toString())||!t)return xs.exists(!0);if(t.isEqual(F.min()))throw new N(T.INVALID_ARGUMENT,"Can't update a document that doesn't exist.");return xs.updateTime(t)}write(e){this.ensureCommitNotCalled(),this.mutations.push(e)}ensureCommitNotCalled(){}};class Qg{constructor(e,t,r,n,s){this.asyncQueue=e,this.datastore=t,this.options=r,this.updateFunction=n,this.deferred=s,this.eE=r.maxAttempts,this._r=new SB(this.asyncQueue,"transaction_retry")}tE(){--this.eE,this.nE()}nE(){this._r.Yn(async()=>{let t=new jg(this.datastore),e=this.rE(t);e&&e.then(e=>{this.asyncQueue.enqueueAndForget(()=>t.commit().then(()=>{this.deferred.resolve(e)}).catch(e=>{this.iE(e)}))}).catch(e=>{this.iE(e)})})}rE(e){try{var t=this.updateFunction(e);return!Xr(t)&&t.catch&&t.then?t:(this.deferred.reject(Error("Transaction callback must return a Promise")),null)}catch(e){return this.deferred.reject(e),null}}iE(e){0<this.eE&&this.sE(e)?(--this.eE,this.asyncQueue.enqueueAndForget(()=>(this.nE(),Promise.resolve()))):this.deferred.reject(e)}sE(e){var t;return"FirebaseError"===e?.name&&("aborted"===(t=e.code)||"failed-precondition"===t||"already-exists"===t||!qi(t))}}let zg="FirestoreClient";class Yg{constructor(e,t,r,n,s){this.authCredentials=e,this.appCheckCredentials=t,this.asyncQueue=r,this._databaseInfo=n,this.user=lB.UNAUTHENTICATED,this.clientId=zt.newId(),this.authCredentialListener=()=>Promise.resolve(),this.appCheckCredentialListener=()=>Promise.resolve(),this._uninitializedComponentsProvider=s,this.authCredentials.start(r,async e=>{C(zg,"Received user=",e.uid),await this.authCredentialListener(e),this.user=e}),this.appCheckCredentials.start(r,e=>(C(zg,"Received new app check token=",e),this.appCheckCredentialListener(e,this.user)))}get configuration(){return{asyncQueue:this.asyncQueue,databaseInfo:this._databaseInfo,clientId:this.clientId,authCredentials:this.authCredentials,appCheckCredentials:this.appCheckCredentials,initialUser:this.user,maxConcurrentLimboResolutions:100}}setCredentialChangeListener(e){this.authCredentialListener=e}setAppCheckTokenChangeListener(e){this.appCheckCredentialListener=e}terminate(){this.asyncQueue.enterRestrictedMode();let r=new hB;return this.asyncQueue.enqueueAndForgetEvenWhileRestricted(async()=>{try{this._onlineComponents&&await this._onlineComponents.terminate(),this._offlineComponents&&await this._offlineComponents.terminate(),this.authCredentials.shutdown(),this.appCheckCredentials.shutdown(),r.resolve()}catch(e){var t=Of(e,"Failed to shutdown persistence");r.reject(t)}}),r.promise}}async function Wg(e,t){e.asyncQueue.verifyOperationInProgress(),C(zg,"Initializing OfflineComponentProvider");var r=e.configuration;await t.initialize(r);let n=r.initialUser;e.setCredentialChangeListener(async e=>{n.isEqual(e)||(await Qd(t.localStore,e),n=e)}),t.persistence.setDatabaseDeletedListener(()=>e.terminate()),e._offlineComponents=t}async function Xg(e,r){e.asyncQueue.verifyOperationInProgress();var t=await Zg(e);C(zg,"Initializing OnlineComponentProvider"),await r.initialize(t,e.configuration),e.setCredentialChangeListener(e=>Tf(r.remoteStore,e)),e.setAppCheckTokenChangeListener((e,t)=>Tf(r.remoteStore,t)),e._onlineComponents=r}async function Zg(t){if(!t._offlineComponents)if(t._uninitializedComponentsProvider){C(zg,"Using user provided OfflineComponentProvider");try{await Wg(t,t._uninitializedComponentsProvider._offline)}catch(e){var r=e;if(!("FirebaseError"===(n=r).name?n.code===T.FAILED_PRECONDITION||n.code===T.UNIMPLEMENTED:!("undefined"!=typeof DOMException&&n instanceof DOMException)||22===n.code||20===n.code||11===n.code))throw r;Kt("Error using user provided cache. Falling back to memory cache: "+r),await Wg(t,new Hg)}}else C(zg,"Using default OfflineComponentProvider"),await Wg(t,new Ug(void 0));var n;return t._offlineComponents}async function $g(e){return e._onlineComponents||(e._uninitializedComponentsProvider?(C(zg,"Using user provided OnlineComponentProvider"),await Xg(e,e._uninitializedComponentsProvider._online)):(C(zg,"Using default OnlineComponentProvider"),await Xg(e,new Kg))),e._onlineComponents}function ep(e){return Zg(e).then(e=>e.persistence)}function tp(e){return Zg(e).then(e=>e.localStore)}function rp(e){return $g(e).then(e=>e.remoteStore)}function np(e){return $g(e).then(e=>e.syncEngine)}async function sp(e){var t=await $g(e),r=t.eventManager;return r.onListen=(async function(e,t,r=!0){var n=Pg(e);let s;var i=n.Fl.get(t);return s=i?(n.sharedClientState.addLocalQueryTarget(i.targetId),i.view.vl()):await Dg(n,t,r,!0)}).bind(null,t.syncEngine),r.onUnlisten=(async function(e,t,r){let n=e,s=n.Fl.get(t),i=n.Ol.get(s.targetId);1<i.length?(n.Ol.set(s.targetId,i.filter(e=>!Nh(e,t))),n.Fl.delete(t)):n.isPrimaryClient?(n.sharedClientState.removeLocalQueryTarget(s.targetId),n.sharedClientState.isActiveQueryTarget(s.targetId)||await $d(n.localStore,s.targetId,!1).then(()=>{n.sharedClientState.clearQueryState(s.targetId),r&&df(n.remoteStore,s.targetId),Ag(n,s.targetId)}).catch(JB)):(Ag(n,s.targetId),await $d(n.localStore,s.targetId,!0))}).bind(null,t.syncEngine),r.onFirstRemoteStoreListen=(async function(e,t){await Dg(Pg(e),t,!0,!1)}).bind(null,t.syncEngine),r.onLastRemoteStoreUnlisten=(async function(e,t){var r=e,n=r.Fl.get(t),s=r.Ol.get(n.targetId);r.isPrimaryClient&&1===s.length&&(r.sharedClientState.removeLocalQueryTarget(n.targetId),df(r.remoteStore,n.targetId))}).bind(null,t.syncEngine),r}function ip(r){return r.asyncQueue.enqueue(async()=>{var e=await ep(r),t=await rp(r);return e.setNetworkEnabled(!1),(async e=>{var t=e;t.xu.add(0),await hf(t),t.Cu.set("Offline")})(t)})}function ap(e,t){let r=new hB;return e.asyncQueue.enqueueAndForget(async()=>(async(e,t,r)=>{try{var n=await((e,t)=>{let r=e;return r.persistence.runTransaction("read document","readonly",e=>r.localDocuments.getDocument(e,t))})(e,t);n.isFoundDocument()?r.resolve(n):n.isNoDocument()?r.resolve(null):r.reject(new N(T.UNAVAILABLE,"Failed to get document from cache. (However, this document may exist on the server. Run again without setting 'source' in the GetOptions to attempt to retrieve the document from the server.)"))}catch(e){n=Of(e,`Failed to get document '${t} from cache`);r.reject(n)}})(await tp(e),t,r)),r.promise}function Bp(e,t,u={}){let l=new hB;return e.asyncQueue.enqueueAndForget(async()=>{{var s=await sp(e),i=e.asyncQueue,a=t,B=u,o=l;let r=new Ff({next:e=>{r.Bu(),i.enqueueAndForget(()=>Bg(s,n));var t=e.docs.has(a);!t&&e.fromCache?o.reject(new N(T.UNAVAILABLE,"Failed to get document because the client is offline.")):t&&e.fromCache&&B&&"server"===B.source?o.reject(new N(T.UNAVAILABLE,'Failed to get document from server. (However, this document does exist in the local cache. Run again without setting source to "server" to retrieve the cached document.)')):o.resolve(e)},error:e=>o.reject(e)}),n=new ug(Fi(a.path),r,{includeMetadataChanges:!0,waitForSyncWhenOnline:!0});return ag(s,n)}}),l.promise}function op(e,t){let r=new hB;return e.asyncQueue.enqueueAndForget(async()=>(async(e,t,r)=>{try{var n=await ef(e,t,!0),s=new fg(t,n.uu),i=s.Vl(n.documents),a=s.applyChanges(i,!1);r.resolve(a.snapshot)}catch(e){n=Of(e,`Failed to execute query '${t} against cache`);r.reject(n)}})(await tp(e),t,r)),r.promise}function up(B,o,u={}){let l=new hB;return B.asyncQueue.enqueueAndForget(async()=>{{var n=await sp(B),s=B.asyncQueue,e=o,i=u,a=l;let t=new Ff({next:e=>{t.Bu(),s.enqueueAndForget(()=>Bg(n,r)),e.fromCache&&"server"===i.source?a.reject(new N(T.UNAVAILABLE,'Failed to get documents from server. (However, these documents may exist in the local cache. Run again without setting source to "server" to retrieve the cached documents.)')):a.resolve(e)},error:e=>a.reject(e)}),r=new ug(!1?Fh(e):e,t,{includeMetadataChanges:!0,waitForSyncWhenOnline:!0});return ag(n,r)}}),l.promise}function lp(r,e){let n=new Ff(e);return r.asyncQueue.enqueueAndForget(async()=>{return e=await sp(r),t=n,e.Jc.add(t),void t.next();var e,t}),()=>{n.Bu(),r.asyncQueue.enqueueAndForget(async()=>{var e,t;e=await sp(r),t=n,e.Jc.delete(t)})}}function hp(t,r,n){let s=new hB;return t.asyncQueue.enqueueAndForget(async()=>{var e=await $g(t).then(e=>e.datastore);new Qg(t.asyncQueue,e,n,r,s).tE()}),s.promise}function cp(e,t,r,n){r=r,t=$a(t),i="string"==typeof r?ea().encode(r):r,r=((e,t)=>{if(e instanceof Uint8Array)return af(e,t);if(e instanceof ArrayBuffer)return af(new Uint8Array(e),t);if(e instanceof ReadableStream)return e.getReader();throw new Error("Source of `toByteStreamReader` has to be a ArrayBuffer or ReadableStream")})(i),t=t;let s=new Lf(r,t);var i;e.asyncQueue.enqueueAndForget(async()=>{Vg(await np(e),s,n)})}function Cp(n,s){return n.asyncQueue.enqueue(async()=>{{var e=await tp(n),r=s;let t=e;return t.persistence.runTransaction("Get named query","readonly",e=>t.qo.getNamedQuery(e,r))}})}let dp=class{constructor(e,t,r,n,s){this._firestore=e,this._userDataWriter=t,this._key=r,this._document=n,this._converter=s}get id(){return this._key.path.lastSegment()}get ref(){return new Co(this._firestore,this._converter,this._key)}exists(){return null!==this._document}data(){var e;if(this._document)return this._converter?(e=new fp(this._firestore,this._userDataWriter,this._key,this._document,null),this._converter.fromFirestore(e)):this._userDataWriter.convertValue(this._document.data.value)}_fieldsProto(){return this._document?.data.clone().value.mapValue.fields??void 0}get(e){if(this._document){var t=this._document.data.field(Jo("DocumentSnapshot.get",e));if(null!==t)return this._userDataWriter.convertValue(t)}}},fp=class extends dp{data(){return super.data()}};class gp{convertValue(e,t="none"){switch(xn(e)){case 0:return null;case 2:return e.booleanValue;case 3:if("mapValue"in e){if($n(e))return this.convertToInt32Value(e.mapValue);if(Zn(e))return this.convertToDecimal128Value(e.mapValue)}return Pr(e.integerValue||e.doubleValue);case 4:return this.convertTimestamp(e.timestampValue);case 6:return this.convertServerTimestamp(e,t);case 7:return e.stringValue;case 8:return"bytesValue"in e?this.convertBytes(Mr(e.bytesValue)):this.convertToBytesWithSubtype(e.mapValue);case 9:return this.convertReference(e.referenceValue);case 11:return this.convertGeoPoint(e.geoPointValue);case 13:return this.convertArray(e.arrayValue,t);case 15:return this.convertObject(e.mapValue,t);case 14:return this.convertVectorValue(e.mapValue);case 12:return this.convertToRegexValue(e.mapValue);case 10:return this.convertToBsonObjectId(e.mapValue);case 5:return this.convertToBsonTimestamp(e.mapValue);case 16:return oB.instance();case 1:return uB.instance();default:throw w(62114,{value:e})}}convertObject(e,t){return this.convertObjectMap(e.fields,t)}convertObjectMap(e,r="none"){let n={};return wr(e,(e,t)=>{n[e]=this.convertValue(t,r)}),n}convertVectorValue(e){var t=e.fields?.[nn].arrayValue?.values?.map(e=>Pr(e.doubleValue));return new vo(t)}convertToBsonObjectId(e){var t=e.fields?.[ln]?.stringValue??"";return new eB(t)}convertToBytesWithSubtype(e){var t=(e.fields?.[gn])?.bytesValue;if(!t)throw new Error("Received incorrect bytesValue for Bytes with subtype");t=Mr(t).toUint8Array();if(0===t.length)throw new Error("Received empty bytesValue for Bytes with subtype");var r=t[0],t=t.slice(1);return new rB(Rr.fromUint8Array(t),r)}convertToBsonTimestamp(e){var t=e.fields?.[Cn],r=Number(t?.mapValue?.fields?.[dn]?.integerValue),t=Number(t?.mapValue?.fields?.[fn]?.integerValue);return new tB(r,t)}convertToRegexValue(e){var t=e.fields?.[Bn]?.mapValue?.fields?.[on]?.stringValue??"",r=e.fields?.[Bn]?.mapValue?.fields?.[un]?.stringValue??"";return new Do(t,r)}convertToInt32Value(e){var t=Number(e.fields?.[hn]?.integerValue);return new BB(t)}convertToDecimal128Value(e){var t=e.fields?.[cn]?.stringValue??"";return new nB(t)}convertGeoPoint(e){return new aB(Pr(e.latitude),Pr(e.longitude))}convertArray(e,t){return(e.values||[]).map(e=>this.convertValue(e,t))}convertServerTimestamp(e,t){switch(t){case"previous":var r=Kr(e);return null==r?null:this.convertValue(r,t);case"estimate":return this.convertTimestamp(jr(e));default:return null}}convertTimestamp(e){var t=Gr(e);return new g(t.seconds,t.nanos)}convertDocumentKey(e,t){var r=A.fromString(e),n=(p(Ya(r),9688,{name:e}),new Yr(r.get(1),r.get(3))),r=new x(r.popFirst(5));return n.isEqual(t)||Jt(`A document reference to ${r} refers to a different database (${n.projectId}/${n.database}), which is not supported. It will be treated as a reference in the current database (${t.projectId}/${t.database}) instead.`),r}}function pp(e,t,r){return e?r&&(r.merge||r.mergeFields)?e.toFirestore(t,r):e.toFirestore(t):t}class mp extends gp{constructor(e){super(),this.firestore=e}convertBytes(e){return new rB(e)}convertReference(e){var t=this.convertDocumentKey(e,this.firestore._databaseId);return new Co(this.firestore,null,t)}}let Ep="AsyncQueue";class Dp{constructor(e=Promise.resolve()){this._E=[],this.oE=!1,this.aE=[],this.uE=null,this.cE=!1,this.lE=!1,this.EE=[],this._r=new SB(this,"async_queue_retry"),this.hE=()=>{var e=$f();e&&C(Ep,"Visibility state changed to "+e.visibilityState),this._r.Xn()},this.TE=e;var t=$f();t&&"function"==typeof t.addEventListener&&t.addEventListener("visibilitychange",this.hE)}get isShuttingDown(){return this.oE}enqueueAndForget(e){this.enqueue(e)}enqueueAndForgetEvenWhileRestricted(e){this.PE(),this.IE(e)}enterRestrictedMode(e){var t;this.oE||(this.oE=!0,this.lE=e||!1,(t=$f())&&"function"==typeof t.removeEventListener&&t.removeEventListener("visibilitychange",this.hE))}enqueue(e){if(this.PE(),this.oE)return new Promise(()=>{});let t=new hB;return this.IE(()=>this.oE&&this.lE?Promise.resolve():(e().then(t.resolve,t.reject),t.promise)).then(()=>t.promise)}enqueueRetryable(e){this.enqueueAndForget(()=>(this._E.push(e),this.RE()))}async RE(){if(0!==this._E.length){try{await this._E[0](),this._E.shift(),this._r.reset()}catch(e){if(!XB(e))throw e;C(Ep,"Operation failed with retryable error: "+e)}0<this._E.length&&this._r.Yn(()=>this.RE())}}IE(e){var t=this.TE.then(()=>(this.cE=!0,e().catch(e=>{throw this.uE=e,this.cE=!1,Jt("INTERNAL UNHANDLED ERROR: ",vp(e)),e}).then(e=>(this.cE=!1,e))));return this.TE=t}enqueueAfterDelay(e,t,r){this.PE(),-1<this.EE.indexOf(e)&&(t=0);var n=Sf.createAndSchedule(this,e,t,r,e=>this.AE(e));return this.aE.push(n),n}PE(){this.uE&&w(47125,{VE:vp(this.uE)})}verifyOperationInProgress(){}async dE(){for(var e;await(e=this.TE),e!==this.TE;);}fE(e){for(var t of this.aE)if(t.timerId===e)return!0;return!1}mE(t){return this.dE().then(()=>{this.aE.sort((e,t)=>e.targetTimeMs-t.targetTimeMs);for(var e of this.aE)if(e.skipDelay(),"all"!==t&&e.timerId===t)break;return this.dE()})}pE(e){this.EE.push(e)}AE(e){var t=this.aE.indexOf(e);this.aE.splice(t,1)}}function vp(e){let t=e.message||"";return t=e.stack?e.stack.includes(e.message)?e.stack:e.message+"\n"+e.stack:t}class wp{constructor(){this._progressObserver={},this._taskCompletionResolver=new hB,this._lastProgress={taskState:"Running",totalBytes:0,totalDocuments:0,bytesLoaded:0,documentsLoaded:0}}onProgress(e,t,r){this._progressObserver={next:e,error:t,complete:r}}catch(e){return this._taskCompletionResolver.promise.catch(e)}then(e,t){return this._taskCompletionResolver.promise.then(e,t)}_completeWith(e){this._updateProgress(e),this._progressObserver.complete&&this._progressObserver.complete(),this._taskCompletionResolver.resolve(e)}_failWith(e){this._lastProgress.taskState="Error",this._progressObserver.next&&this._progressObserver.next(this._lastProgress),this._progressObserver.error&&this._progressObserver.error(e),this._taskCompletionResolver.reject(e)}_updateProgress(e){this._lastProgress=e,this._progressObserver.next&&this._progressObserver.next(e)}}class yp extends lo{constructor(e,t,r,n){super(e,t,r,n),this.type="firestore",this._queue=new Dp,this._persistenceKey=n?.name||"[DEFAULT]"}async _terminate(){var e;this._firestoreClient&&(e=this._firestoreClient.terminate(),this._queue=new Dp(e),this._firestoreClient=void 0,await e)}}function _p(e){if(e._terminated)throw new N(T.FAILED_PRECONDITION,"The client has already been terminated.");return e._firestoreClient||Ip(e),e._firestoreClient}function Ip(e){var t,r,n,s,i,a=e._freezeSettings(),B=(i=e._databaseId,t=e._app?.options.appId||"",r=e._persistenceKey,n=e._app?.options.apiKey,s=a,new Qr(i,t,r,s.host,s.ssl,s.experimentalForceLongPolling,s.experimentalAutoDetectLongPolling,DB(s.experimentalLongPollingOptions),s.useFetchStreams,s.isUsingEmulator,n,s._customHeaders,s.grpcFlowControlWindow));e._componentsProvider||a.localCache?._offlineComponentProvider&&a.localCache?._onlineComponentProvider&&(e._componentsProvider={_offline:a.localCache._offlineComponentProvider,_online:a.localCache._onlineComponentProvider}),e._firestoreClient=new Yg(e._authCredentials,e._appCheckCredentials,e._queue,B,e._componentsProvider&&(i=e._componentsProvider,a=i?._online.build(),{_offline:i?._offline.build(a),_online:a}))}function bp(e,t,r){if((e=d(e,yp))._firestoreClient||e._terminated)throw new N(T.FAILED_PRECONDITION,"Firestore has already been started and persistence can no longer be enabled. You can only enable persistence before calling any other methods on a Firestore object.");if(e._componentsProvider||e._getSettings().localCache)throw new N(T.FAILED_PRECONDITION,"SDK cache is already specified.");e._componentsProvider={_online:t,_offline:r},Ip(e)}function Tp(r){if(r._initialized&&!r._terminated)throw new N(T.FAILED_PRECONDITION,"Persistence can only be cleared before a Firestore instance is initialized or after it is terminated.");let n=new hB;return r._queue.enqueueAndForgetEvenWhileRestricted(async()=>{try{e=Pd(r._databaseId,r._persistenceKey),await(QB.cn()?(t=e+"main",void await QB.delete(t)):Promise.resolve()),n.resolve()}catch(e){n.reject(e)}var e,t}),n.promise}function Np(e){return(r=_p(e=d(e,yp))).asyncQueue.enqueue(async()=>{var e=await ep(r),t=await rp(r);return e.setNetworkEnabled(!0),(e=t).xu.delete(0),lf(e)});var r}class Ap extends gp{constructor(e){super(),this.firestore=e}convertBytes(e){return new rB(e)}convertReference(e){var t=this.convertDocumentKey(e,this.firestore._databaseId);return new Co(this.firestore,null,t)}}class xp{constructor(e,t){this.hasPendingWrites=e,this.fromCache=t}isEqual(e){return this.hasPendingWrites===e.hasPendingWrites&&this.fromCache===e.fromCache}}let Fp=class _m extends dp{constructor(e,t,r,n,s,i){super(e,t,r,n,i),this._firestore=e,this._firestoreImpl=e,this.metadata=s}exists(){return super.exists()}data(e={}){var t;if(this._document)return this._converter?(t=new Sp(this._firestore,this._userDataWriter,this._key,this._document,this.metadata,null),this._converter.fromFirestore(t,e)):this._userDataWriter.convertValue(this._document.data.value,e.serverTimestamps)}get(e,t={}){if(this._document){var r=this._document.data.field(Jo("DocumentSnapshot.get",e));if(null!==r)return this._userDataWriter.convertValue(r,t.serverTimestamps)}}toJSON(){if(this.metadata.hasPendingWrites)throw new N(T.FAILED_PRECONDITION,"DocumentSnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");var e=this._document,t={};return t.type=_m._jsonSchemaVersion,t.bundle="",t.bundleSource="DocumentSnapshot",t.bundleName=this._key.toString(),e&&e.isValidDocument()&&e.isFoundDocument()&&(this._userDataWriter.convertObjectMap(e.data.value.mapValue.fields,"previous"),t.bundle=(this._firestore,this.ref.path,"NOT SUPPORTED")),t}},Sp=(Fp._jsonSchemaVersion="firestore/documentSnapshot/1.0",Fp._jsonSchema={type:Fr("string",Fp._jsonSchemaVersion),bundleSource:Fr("string","DocumentSnapshot"),bundleName:Fr("string"),bundle:Fr("string")},class extends Fp{data(e={}){return super.data(e)}}),Op=class Nm{constructor(e,t,r,n){this._firestore=e,this._userDataWriter=t,this._snapshot=n,this.metadata=new xp(n.hasPendingWrites,n.fromCache),this.query=r}get docs(){let t=[];return this.forEach(e=>t.push(e)),t}get size(){return this._snapshot.docs.size}get empty(){return 0===this.size}forEach(t,r){this._snapshot.docs.forEach(e=>{t.call(r,new Sp(this._firestore,this._userDataWriter,e.key,e,new xp(this._snapshot.mutatedKeys.has(e.key),this._snapshot.fromCache),this.query.converter))})}docChanges(e={}){var t=!!e.includeMetadataChanges;if(t&&this._snapshot.excludesMetadataChanges)throw new N(T.INVALID_ARGUMENT,"To include metadata changes with your document changes, you must also pass { includeMetadataChanges:true } to onSnapshot().");return this._cachedChanges&&this._cachedChangesIncludeMetadataChanges===t||(this._cachedChanges=((i,t)=>{if(i._snapshot.oldDocs.isEmpty()){let r=0;return i._snapshot.docChanges.map(e=>{Ih(i._snapshot.query)?id(i._snapshot.query):Hi(i.query._query);var t=new Sp(i._firestore,i._userDataWriter,e.doc.key,e.doc,new xp(i._snapshot.mutatedKeys.has(e.doc.key),i._snapshot.fromCache),i.query.converter);return e.doc,{type:"added",doc:t,oldIndex:-1,newIndex:r++}})}{let s=i._snapshot.oldDocs;return i._snapshot.docChanges.filter(e=>t||3!==e.type).map(e=>{var t=new Sp(i._firestore,i._userDataWriter,e.doc.key,e.doc,new xp(i._snapshot.mutatedKeys.has(e.doc.key),i._snapshot.fromCache),i.query.converter);let r=-1,n=-1;return 0!==e.type&&(r=s.indexOf(e.doc.key),s=s.delete(e.doc.key)),1!==e.type&&(s=s.add(e.doc),n=s.indexOf(e.doc.key)),{type:(e=>{switch(e){case 0:return"added";case 2:case 3:return"modified";case 1:return"removed";default:return w(61501,{type:e})}})(e.type),doc:t,oldIndex:r,newIndex:n}})}})(this,t),this._cachedChangesIncludeMetadataChanges=t),this._cachedChanges}toJSON(){if(this.metadata.hasPendingWrites)throw new N(T.FAILED_PRECONDITION,"QuerySnapshot.toJSON() attempted to serialize a document with pending writes. Await waitForPendingWrites() before invoking toJSON().");var e={};e.type=Nm._jsonSchemaVersion,e.bundleSource="QuerySnapshot",e.bundleName=zt.newId(),this._firestore._databaseId.database,this._firestore._databaseId.projectId;let t=[],r=[],n=[];return this.docs.forEach(e=>{null!==e._document&&(t.push(e._document),r.push(this._userDataWriter.convertObjectMap(e._document.data.value.mapValue.fields,"previous")),n.push(e.ref.path))}),e.bundle=(this._firestore,this.query._query,"NOT SUPPORTED"),e}};function Lp(e,t){return e instanceof Fp&&t instanceof Fp?e._firestore===t._firestore&&e._key.isEqual(t._key)&&(null===e._document?null===t._document:e._document.isEqual(t._document))&&e._converter===t._converter:e instanceof Op&&t instanceof Op&&e._firestore===t._firestore&&Eo(e.query,t.query)&&e.metadata.isEqual(t.metadata)&&e._snapshot.isEqual(t._snapshot)}function Rp(e){if("L"===e.limitType&&0===e.explicitOrderBy.length)throw new N(T.UNIMPLEMENTED,"limitToLast() queries require specifying at least one orderBy() clause")}Op._jsonSchemaVersion="firestore/querySnapshot/1.0",Op._jsonSchema={type:Fr("string",Op._jsonSchemaVersion),bundleSource:Fr("string","QuerySnapshot"),bundleName:Fr("string"),bundle:Fr("string")};class kp{}class Gp extends kp{}function Pp(e,t,...r){let n=[];t instanceof kp&&n.push(t);var t=n=n.concat(r),s=t.filter(e=>!1).length,i=t.filter(e=>e instanceof Mp).length;if(1<s||0<s&&0<i)throw new N(T.INVALID_ARGUMENT,"InvalidQuery. When using composite filters, you cannot use more than one filter at the top level. Consider nesting the multiple filters within an `and(...)` statement. For example: change `query(query, where(...), or(...))` to `query(query, and(where(...), or(...)))`.");for(let t of n)e=t._apply(e);return e}class Mp extends Gp{constructor(e,t,r){super(),this._field=e,this._op=t,this._value=r,this.type="where"}static _create(e,t,r){return new Mp(e,t,r)}_apply(e){var t=this._parse(e);return Qp(e._query,t),new co(e.firestore,e.converter,ki(e._query,t))}_parse(e){var t=No(e.firestore);{var n=e._query,s="where",i=t,a=e.firestore._databaseId,B=(e=this._field,this._op),o=this._value;let r;var u=o,l=B;if("number"==typeof u&&isNaN(u)&&"=="!==l&&"!="!==l&&"array-contains"!==l)throw new Error("Invalid query. You can only perform '==' and '!=' comparisons on NaN.");if(null===u&&"=="!==l&&"!="!==l&&"array-contains"!==l)throw new Error("Invalid query. You can only perform '==' and '!=' comparisons on Null.");if(e.isKeyField()){if("array-contains"===B||"array-contains-any"===B)throw new N(T.INVALID_ARGUMENT,`Invalid Query. You can't perform '${B}' queries on documentId().`);if("in"===B||"not-in"===B){jp(o,B);let e=[];for(let t of o)e.push(Kp(a,n,t));r={arrayValue:{values:e}}}else r=Kp(a,n,o)}else"in"!==B&&"not-in"!==B&&"array-contains-any"!==B||jp(o,B),r=Po(i,s,o,"in"===B||"not-in"===B);return m.create(e,B,r)}}}(class extends kp{});class Vp extends Gp{constructor(e,t){super(),this._field=e,this._direction=t,this.type="orderBy"}static _create(e,t){return new Vp(e,t)}_apply(e){var t=((e,t,r)=>{if(null!==e.startAt)throw new N(T.INVALID_ARGUMENT,"Invalid query. You must not call startAt() or startAfter() before calling orderBy().");if(null!==e.endAt)throw new N(T.INVALID_ARGUMENT,"Invalid query. You must not call endAt() or endBefore() before calling orderBy().");return new oi(t,r)})(e._query,this._field,this._direction);return new co(e.firestore,e.converter,(t=(e=e._query).explicitOrderBy.concat([t]),new Ai(e.path,e.collectionGroup,t,e.filters.slice(),e.limit,e.limitType,e.startAt,e.endAt)))}}class Hp extends Gp{constructor(e,t,r){super(),this.type=e,this._limit=t,this._limitType=r}static _create(e,t,r){return new Hp(e,t,r)}_apply(e){return new co(e.firestore,e.converter,Gi(e._query,this._limit,this._limitType))}}class Up extends Gp{constructor(e,t,r){super(),this.type=e,this._docOrFields=t,this._inclusive=r}static _create(e,t,r){return new Up(e,t,r)}_apply(e){var t,r=Jp(e,this.type,this._docOrFields,this._inclusive);return new co(e.firestore,e.converter,(e=e._query,t=r,new Ai(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),e.limit,e.limitType,t,e.endAt)))}}class qp extends Gp{constructor(e,t,r){super(),this.type=e,this._docOrFields=t,this._inclusive=r}static _create(e,t,r){return new qp(e,t,r)}_apply(e){var t,r=Jp(e,this.type,this._docOrFields,this._inclusive);return new co(e.firestore,e.converter,(e=e._query,t=r,new Ai(e.path,e.collectionGroup,e.explicitOrderBy.slice(),e.filters.slice(),e.limit,e.limitType,e.startAt,t)))}}function Jp(e,r,n,s){if(n[0]=re(n[0]),n[0]instanceof dp){var i=e._query,a=e.firestore._databaseId,B=r,o=n[0]._document,u=s;if(!o)throw new N(T.NOT_FOUND,`Can't use a DocumentSnapshot that doesn't exist for ${B}().`);var l=[];for(let t of Li(i))if(t.field.isKeyField())l.push(Yn(a,o.key));else{let e=o.data.field(t.field);if(Jr(e))throw new N(T.INVALID_ARGUMENT,'Invalid query. You are trying to start or end a query using a document for which the field "'+t.field+'" is an uncommitted server timestamp. (Since the value of this field is unknown, you cannot start/end a query with it.)');if(null===e){let e=t.field.canonicalString();throw new N(T.INVALID_ARGUMENT,`Invalid query. You are trying to start or end a query using a document for which the field '${e}' (used as the orderBy) does not exist.`)}l.push(e)}return new qs(l,u)}var t=No(e.firestore),h=e._query,c=e.firestore._databaseId,C=t,d=r,f=n,B=s,g=h.explicitOrderBy;if(f.length>g.length)throw new N(T.INVALID_ARGUMENT,`Too many arguments provided to ${d}(). The number of arguments must be less than or equal to the number of orderBy() clauses`);var p=[];for(let E=0;E<f.length;E++){var m=f[E];if(g[E].field.isKeyField()){if("string"!=typeof m)throw new N(T.INVALID_ARGUMENT,`Invalid query. Expected a string for document ID in ${d}(), but got a `+typeof m);if(!Oi(h)&&-1!==m.indexOf("/"))throw new N(T.INVALID_ARGUMENT,`Invalid query. When querying a collection and ordering by documentId(), the value passed to ${d}() must be a plain document ID, but '${m}' contains a slash.`);let e=h.path.child(A.fromString(m));if(!x.isDocumentKey(e))throw new N(T.INVALID_ARGUMENT,`Invalid query. When querying a collection group and ordering by documentId(), the value passed to ${d}() must result in a valid document path, but '${e}' is not because it contains an odd number of segments.`);let t=new x(e);p.push(Yn(c,t))}else{let e=Po(C,d,m);p.push(e)}}return new qs(p,B)}function Kp(e,t,r){if("string"==typeof(r=re(r))){if(""===r)throw new N(T.INVALID_ARGUMENT,"Invalid query. When querying with documentId(), you must provide a valid document ID, but it was an empty string.");if(!Oi(t)&&-1!==r.indexOf("/"))throw new N(T.INVALID_ARGUMENT,`Invalid query. When querying a collection by documentId(), you must provide a plain document ID, but '${r}' contains a '/' character.`);var n=t.path.child(A.fromString(r));if(x.isDocumentKey(n))return Yn(e,new x(n));throw new N(T.INVALID_ARGUMENT,`Invalid query. When querying a collection group by documentId(), the value provided must result in a valid document path, but '${n}' is not because it has an odd number of segments (${n.length}).`)}if(r instanceof Co)return Yn(e,r._key);throw new N(T.INVALID_ARGUMENT,`Invalid query. When querying with documentId(), you must provide a valid string or a DocumentReference, but it was: ${Ar(r)}.`)}function jp(e,t){if(!Array.isArray(e)||0===e.length)throw new N(T.INVALID_ARGUMENT,`Invalid Query. A non-empty array is required for '${t.toString()}' filters.`)}function Qp(e,t){var r=((t,r)=>{for(var n of t)for(let e of n.getFlattenedFilters())if(0<=r.indexOf(e.op))return e.op;return null})(e.filters,(e=>{switch(e){case"!=":return["!=","not-in"];case"array-contains-any":case"in":return["not-in"];case"not-in":return["array-contains-any","in","not-in","!="];default:return[]}})(t.op));if(null!==r)throw r===t.op?new N(T.INVALID_ARGUMENT,`Invalid query. You cannot use more than one '${t.op.toString()}' filter.`):new N(T.INVALID_ARGUMENT,`Invalid query. You cannot use '${t.op.toString()}' filters with '${r.toString()}' filters.`)}function zp(t){var r=t,t=["next","error","complete"];if("object"==typeof r&&null!==r){var n=r;for(let e of t)if(e in n&&"function"==typeof n[e])return 1}}let Yp={maxAttempts:5},Wp=class{constructor(e,t){this._firestore=e,this._commitHandler=t,this._mutations=[],this._committed=!1,this._dataReader=No(e)}set(e,t,r){this._verifyNotCommitted();var n=Xp(e,this._firestore),s=pp(n.converter,t,r),s=Ao(this._dataReader,"WriteBatch.set",n._key,s,null!==n.converter,r);return this._mutations.push(s.toMutation(n._key,xs.none())),this}update(e,t,r,...n){this._verifyNotCommitted();var s=Xp(e,this._firestore),i="string"==typeof(t=re(t))||t instanceof sB?Go(this._dataReader,"WriteBatch.update",s._key,t,r,n):ko(this._dataReader,"WriteBatch.update",s._key,t);return this._mutations.push(i.toMutation(s._key,xs.exists(!0))),this}delete(e){this._verifyNotCommitted();var t=Xp(e,this._firestore);return this._mutations=this._mutations.concat(new Hs(t._key,xs.none())),this}commit(){return this._verifyNotCommitted(),this._committed=!0,0<this._mutations.length?this._commitHandler(this._mutations):Promise.resolve()}_verifyNotCommitted(){if(this._committed)throw new N(T.FAILED_PRECONDITION,"A write batch can no longer be used after commit() has been called.")}};function Xp(e,t){if((e=re(e)).firestore!==t)throw new N(T.INVALID_ARGUMENT,"Provided document reference is from a different Firestore instance.");return e}var Zp,$p,em,tm,ct=class{constructor(e,t){this._firestore=e,this._transaction=t,this._dataReader=No(e)}get(e){let r=Xp(e,this._firestore),n=new mp(this._firestore);return this._transaction.lookup([r._key]).then(e=>{if(!e||1!==e.length)return w(24041);var t=e[0];if(t.isFoundDocument())return new dp(this._firestore,n,t.key,t,r.converter);if(t.isNoDocument())return new dp(this._firestore,n,r._key,null,r.converter);throw w(18433,{doc:t})})}set(e,t,r){var n=Xp(e,this._firestore),s=pp(n.converter,t,r),s=Ao(this._dataReader,"Transaction.set",n._key,s,null!==n.converter,r);return this._transaction.set(n._key,s),this}update(e,t,r,...n){var s=Xp(e,this._firestore),i="string"==typeof(t=re(t))||t instanceof sB?Go(this._dataReader,"Transaction.update",s._key,t,r,n):ko(this._dataReader,"Transaction.update",s._key,t);return this._transaction.update(s._key,i),this}delete(e){var t=Xp(e,this._firestore);return this._transaction.delete(t._key),this}};let rm=class extends ct{constructor(e,t){super(e,t),this._firestore=e}get(e){let t=Xp(e,this._firestore),r=new Ap(this._firestore);return super.get(e).then(e=>new Fp(this._firestore,r,t._key,e._document,new xp(!1,!1),t.converter))}};function nm(e,t,r){e=d(e,Co);var n=d(e.firestore,yp),s=pp(e.converter,t,r);return am(n,[Ao(No(n),"setDoc",e._key,s,null!==e.converter,r).toMutation(e._key,xs.none())])}function sm(e,t,r,...n){e=d(e,Co);var s=d(e.firestore,yp),i=No(s);return am(s,[("string"==typeof(t=re(t))||t instanceof sB?Go(i,"updateDoc",e._key,t,r,n):ko(i,"updateDoc",e._key,t)).toMutation(e._key,xs.exists(!0))])}function im(n,...s){n=re(n);let e={includeMetadataChanges:!1,source:"default"},i=0,r={includeMetadataChanges:(e="object"!=typeof s[i]||zp(s[i])?e:s[i++]).includeMetadataChanges,source:e.source};if(zp(s[i])){let e=s[i];s[i]=e.next?.bind(e),s[i+1]=e.error?.bind(e),s[i+2]=e.complete?.bind(e)}let a,B,o;if(n instanceof Co)B=d(n.firestore,yp),o=Fi(n._key.path),a={next:e=>{s[i]&&s[i](Bm(B,n,e))},error:s[i+1],complete:s[i+2]};else{let t=d(n,co),r=(B=d(t.firestore,yp),o=t._query,new Ap(B));a={next:e=>{s[i]&&s[i](new Op(B,r,t,e))},error:s[i+1],complete:s[i+2]},Rp(n._query)}var u=_p(B);{var l=u,h=o,c=r,C=a;let e=new Ff(C),t=new ug(h,e,c);return l.asyncQueue.enqueueAndForget(async()=>ag(await sp(l),t)),()=>{e.Bu(),l.asyncQueue.enqueueAndForget(async()=>Bg(await sp(l),t))}}}function am(e,t){var r=_p(e);{var n=r,s=t;let e=new hB;return n.asyncQueue.enqueueAndForget(async()=>wg(await np(n),s,e)),e.promise}}function Bm(e,t,r){var n=r.docs.get(t._key),s=new Ap(e);return new Fp(e,s,t._key,n,new xp(r.hasPendingWrites,r.fromCache),t.converter)}let om="@firebase/firestore";$p=!0,em=Pm.SDK_VERSION,Ht=em,Pm._registerComponent(new se("firestore",(e,{instanceIdentifier:t,options:r})=>{var n=e.getProvider("app").getImmediate(),n=new yp(new fB(e.getProvider("auth-internal")),new EB(n,e.getProvider("app-check-internal")),((e,t)=>{if(Object.prototype.hasOwnProperty.apply(e.options,["projectId"]))return new Yr(e.options.projectId,t);throw new N(T.INVALID_ARGUMENT,'"projectId" not provided in firebase.initializeApp.')})(n,t),n);return r={useFetchStreams:$p,...r},n._setSettings(r),n},"PUBLIC").setMultipleInstances(!0)),Pm.registerVersion(om,"4.20.0",Zp),Pm.registerVersion(om,"4.20.0","esm2020");function um(e,t){if(void 0===t)return{merge:!1};if(void 0!==t.mergeFields&&void 0!==t.merge)throw new N("invalid-argument",`Invalid options passed to function ${e}(): You cannot `+'specify both "merge" and "mergeFields".');return t}function lm(){if("undefined"==typeof Uint8Array)throw new N("unimplemented","Uint8Arrays are not available in this environment.")}function hm(){if("undefined"==typeof atob)throw new N("unimplemented","Blobs are unavailable in Firestore in this environment.")}class cm{constructor(e){this._delegate=e}static fromBase64String(e){return hm(),new cm(rB.fromBase64String(e))}static fromUint8Array(e){return lm(),new cm(rB.fromUint8Array(e))}toBase64(){return hm(),this._delegate.toBase64()}toUint8Array(){return lm(),this._delegate.toUint8Array()}isEqual(e){return this._delegate.isEqual(e._delegate)}toString(){return"Blob(base64: "+this.toBase64()+")"}}function Cm(e){var t=["next","error","complete"];if("object"==typeof e&&null!==e){var r,n=e;for(r of t)if(r in n&&"function"==typeof n[r])return 1}}class dm{enableIndexedDbPersistence(e,r){{e=e._delegate;var n={forceOwnership:r};Kt("enableIndexedDbPersistence() will be deprecated in the future, you can use `FirestoreSettings.cache` instead.");let t=e._freezeSettings();return bp(e,Kg.provider,{build:e=>new qg(e,t.cacheSizeBytes,n?.forceOwnership)}),Promise.resolve()}}enableMultiTabIndexedDbPersistence(e){return(async e=>{Kt("enableMultiTabIndexedDbPersistence() will be deprecated in the future, you can use `FirestoreSettings.cache` instead.");let t=e._freezeSettings();bp(e,Kg.provider,{build:e=>new Jg(e,t.cacheSizeBytes)})})(e._delegate)}clearIndexedDbPersistence(e){return Tp(e._delegate)}}class fm{constructor(e,t,r){this._delegate=t,this._persistenceProvider=r,this.INTERNAL={delete:()=>this.terminate()},e instanceof Yr||(this._appCompat=e)}get _databaseId(){return this._delegate._databaseId}settings(e){var t=this._delegate._getSettings();e.merge||t.host===e.host||Kt("You are overriding the original host. If you did not intend to override your settings, use {merge: true}."),e.merge&&delete(e={...t,...e}).merge,this._delegate._setSettings(e)}useEmulator(e,t,r={}){ho(this._delegate,e,t,r)}enableNetwork(){return Np(this._delegate)}disableNetwork(){return ip(_p(d(this._delegate,yp)))}enablePersistence(e){let t=!1,r=!1;return e&&(t=!!e.synchronizeTabs,r=!!e.experimentalForceOwningTab,Ir("synchronizeTabs",t,"experimentalForceOwningTab",r)),t?this._persistenceProvider.enableMultiTabIndexedDbPersistence(this):this._persistenceProvider.enableIndexedDbPersistence(this,r)}clearPersistence(){return this._persistenceProvider.clearIndexedDbPersistence(this)}terminate(){return this._appCompat&&(this._appCompat._removeServiceInstance("firestore-compat"),this._appCompat._removeServiceInstance("firestore")),this._delegate._delete()}waitForPendingWrites(){var t=this._delegate;{var r=_p(t=d(t,yp));let e=new hB;return r.asyncQueue.enqueueAndForget(async()=>bg(await np(r),e)),e.promise}}onSnapshotsInSync(e){return t=this._delegate,e=e,lp(_p(t=d(t,yp)),zp(e)?e:{next:e});var t}get app(){if(this._appCompat)return this._appCompat;throw new N("failed-precondition","Firestore was not initialized using the Firebase SDK. 'app' is not available")}collection(e){try{return new Am(this,go(this._delegate,e))}catch(e){throw vm(e,"collection()","Firestore.collection()")}}doc(e){try{return new Dm(this,po(this._delegate,e))}catch(e){throw vm(e,"doc()","Firestore.doc()")}}collectionGroup(e){try{return new bm(this,((e,t)=>{if(e=d(e,lo),_r("collectionGroup","collection id",t),0<=t.indexOf("/"))throw new N(T.INVALID_ARGUMENT,`Invalid collection ID '${t}' passed to function collectionGroup(). Collection IDs must not contain '/'.`);return new co(e,null,(e=t,new Ai(A.emptyPath(),e)))})(this._delegate,e))}catch(e){throw vm(e,"collectionGroup()","Firestore.collectionGroup()")}}runTransaction(t){var r=this._delegate,n=e=>t(new pm(this,e)),e=void 0,s=(r=d(r,yp),{...Yp,...e});if(s.maxAttempts<1)throw new N(T.INVALID_ARGUMENT,"Max attempts must be at least 1");return hp(_p(r),e=>n(new rm(r,e)),s)}batch(){return _p(this._delegate),new mm(new Wp(this._delegate,e=>am(this._delegate,e)))}loadBundle(e){return t=this._delegate,e=e,r=_p(t=d(t,yp)),n=new wp,cp(r,t._databaseId,e,n),n;var t,r,n}namedQuery(e){return t=this._delegate,e=e,Cp(_p(t=d(t,yp)),e).then(e=>e?new co(t,null,e.query):null).then(e=>e?new bm(this,e):null);var t}}class gm extends gp{constructor(e){super(),this.firestore=e}convertBytes(e){return new cm(new rB(e))}convertReference(e){var t=this.convertDocumentKey(e,this.firestore._databaseId);return Dm.forKey(t,this.firestore,null)}}class pm{constructor(e,t){this._firestore=e,this._delegate=t,this._userDataWriter=new gm(e)}get(e){let t=xm(e);return this._delegate.get(t).then(e=>new _m(this._firestore,new Fp(this._firestore._delegate,this._userDataWriter,e._key,e._document,e.metadata,t.converter)))}set(e,t,r){var n=xm(e);return r?(um("Transaction.set",r),this._delegate.set(n,t,r)):this._delegate.set(n,t),this}update(e,t,r,...n){var s=xm(e);return 2===arguments.length?this._delegate.update(s,t):this._delegate.update(s,t,r,...n),this}delete(e){var t=xm(e);return this._delegate.delete(t),this}}class mm{constructor(e){this._delegate=e}set(e,t,r){var n=xm(e);return r?(um("WriteBatch.set",r),this._delegate.set(n,t,r)):this._delegate.set(n,t),this}update(e,t,r,...n){var s=xm(e);return 2===arguments.length?this._delegate.update(s,t):this._delegate.update(s,t,r,...n),this}delete(e){var t=xm(e);return this._delegate.delete(t),this}commit(){return this._delegate.commit()}}class Em{constructor(e,t,r){this._firestore=e,this._userDataWriter=t,this._delegate=r}fromFirestore(e,t){var r=new Sp(this._firestore._delegate,this._userDataWriter,e._key,e._document,e.metadata,null);return this._delegate.fromFirestore(new Im(this._firestore,r),t??{})}toFirestore(e,t){return t?this._delegate.toFirestore(e,t):this._delegate.toFirestore(e)}static getInstance(e,t){var r=Em.INSTANCES;let n=r.get(e),s=(n||(n=new WeakMap,r.set(e,n)),n.get(t));return s||(s=new Em(e,new gm(e),t),n.set(t,s)),s}}Em.INSTANCES=new WeakMap;class Dm{constructor(e,t){this.firestore=e,this._delegate=t,this._userDataWriter=new gm(e)}static forPath(e,t,r){if(e.length%2!=0)throw new N("invalid-argument","Invalid document reference. Document references must have an even number of segments, but "+e.canonicalString()+" has "+e.length);return new Dm(t,new Co(t._delegate,r,new x(e)))}static forKey(e,t,r){return new Dm(t,new Co(t._delegate,r,e))}get id(){return this._delegate.id}get parent(){return new Am(this.firestore,this._delegate.parent)}get path(){return this._delegate.path}collection(e){try{return new Am(this.firestore,go(this._delegate,e))}catch(e){throw vm(e,"collection()","DocumentReference.collection()")}}isEqual(e){return(e=re(e))instanceof Co&&mo(this._delegate,e)}set(e,t){t=um("DocumentReference.set",t);try{return t?nm(this._delegate,e,t):nm(this._delegate,e)}catch(e){throw vm(e,"setDoc()","DocumentReference.set()")}}update(e,t,...r){try{return 1===arguments.length?sm(this._delegate,e):sm(this._delegate,e,t,...r)}catch(e){throw vm(e,"updateDoc()","DocumentReference.update()")}}delete(){return am(d((e=this._delegate).firestore,yp),[new Hs(e._key,xs.none())]);var e}onSnapshot(...e){var t=wm(e),r=ym(e,e=>new _m(this.firestore,new Fp(this.firestore._delegate,this._userDataWriter,e._key,e._document,e.metadata,this._delegate.converter)));return im(this._delegate,t,r)}get(e){let t;return(t=("cache"===e?.source?t=>{t=d(t,Co);let r=d(t.firestore,yp),e=_p(r),n=new Ap(r);return ap(e,t._key).then(e=>new Fp(r,n,t._key,e,new xp(null!==e&&e.hasLocalMutations,!0),t.converter))}:"server"===e?.source?t=>{t=d(t,Co);let r=d(t.firestore,yp),e=_p(r);return Bp(e,t._key,{source:"server"}).then(e=>Bm(r,t,e))}:t=>{t=d(t,Co);let r=d(t.firestore,yp),e=_p(r);return Bp(e,t._key).then(e=>Bm(r,t,e))})(this._delegate)).then(e=>new _m(this.firestore,new Fp(this.firestore._delegate,this._userDataWriter,e._key,e._document,e.metadata,this._delegate.converter)))}withConverter(e){return new Dm(this.firestore,e?this._delegate.withConverter(Em.getInstance(this.firestore,e)):this._delegate.withConverter(null))}}function vm(e,t,r){return e.message=e.message.replace(t,r),e}function wm(e){for(var t of e)if("object"==typeof t&&!Cm(t))return t;return{}}function ym(e,t){let r;return{next:e=>{r.next&&r.next(t(e))},error:(r=Cm(e[0])?e[0]:Cm(e[1])?e[1]:"function"==typeof e[0]?{next:e[0],error:e[1],complete:e[2]}:{next:e[1],error:e[2],complete:e[3]}).error?.bind(r),complete:r.complete?.bind(r)}}class _m{constructor(e,t){this._firestore=e,this._delegate=t}get ref(){return new Dm(this._firestore,this._delegate.ref)}get id(){return this._delegate.id}get metadata(){return this._delegate.metadata}get exists(){return this._delegate.exists()}data(e){return this._delegate.data(e)}get(e,t){return this._delegate.get(e,t)}isEqual(e){return Lp(this._delegate,e._delegate)}}class Im extends _m{data(e){var t=this._delegate.data(e);return this._delegate._converter||(e="Document in a QueryDocumentSnapshot should exist",void 0!==t)||w(57014,e),t}}class bm{constructor(e,t){this.firestore=e,this._delegate=t,this._userDataWriter=new gm(e)}where(e,t,r){try{return new bm(this.firestore,Pp(this._delegate,(n=r,s=t,i=Jo("where",e),Mp._create(i,s,n))))}catch(e){throw vm(e,/(orderBy|where)\(\)/,"Query.$1()")}var n,s,i}orderBy(e,t){try{return new bm(this.firestore,Pp(this._delegate,([r,n="asc"]=[e,t],s=n,i=Jo("orderBy",r),Vp._create(i,s))))}catch(e){throw vm(e,/(orderBy|where)\(\)/,"Query.$1()")}var r,n,s,i}limit(e){try{return new bm(this.firestore,Pp(this._delegate,(xr("limit",t=e),Hp._create("limit",t,"F"))))}catch(e){throw vm(e,"limit()","Query.limit()")}var t}limitToLast(e){try{return new bm(this.firestore,Pp(this._delegate,(xr("limitToLast",t=e),Hp._create("limitToLast",t,"L"))))}catch(e){throw vm(e,"limitToLast()","Query.limitToLast()")}var t}startAt(...e){try{return new bm(this.firestore,Pp(this._delegate,([...t]=[...e],Up._create("startAt",t,!0))))}catch(e){throw vm(e,"startAt()","Query.startAt()")}var t}startAfter(...e){try{return new bm(this.firestore,Pp(this._delegate,([...t]=[...e],Up._create("startAfter",t,!1))))}catch(e){throw vm(e,"startAfter()","Query.startAfter()")}var t}endBefore(...e){try{return new bm(this.firestore,Pp(this._delegate,([...t]=[...e],qp._create("endBefore",t,!1))))}catch(e){throw vm(e,"endBefore()","Query.endBefore()")}var t}endAt(...e){try{return new bm(this.firestore,Pp(this._delegate,([...t]=[...e],qp._create("endAt",t,!0))))}catch(e){throw vm(e,"endAt()","Query.endAt()")}var t}isEqual(e){return Eo(this._delegate,e._delegate)}get(e){let t;return(t=("cache"===e?.source?t=>{t=d(t,co);let r=d(t.firestore,yp),e=_p(r),n=new Ap(r);return op(e,t._query).then(e=>new Op(r,n,t,e))}:"server"===e?.source?t=>{t=d(t,co);let r=d(t.firestore,yp),e=_p(r),n=new Ap(r);return up(e,t._query,{source:"server"}).then(e=>new Op(r,n,t,e))}:t=>{t=d(t,co);let r=d(t.firestore,yp),e=_p(r),n=new Ap(r);return Rp(t._query),up(e,t._query).then(e=>new Op(r,n,t,e))})(this._delegate)).then(e=>new Nm(this.firestore,new Op(this.firestore._delegate,this._userDataWriter,this._delegate,e._snapshot)))}onSnapshot(...e){var t=wm(e),r=ym(e,e=>new Nm(this.firestore,new Op(this.firestore._delegate,this._userDataWriter,this._delegate,e._snapshot)));return im(this._delegate,t,r)}withConverter(e){return new bm(this.firestore,e?this._delegate.withConverter(Em.getInstance(this.firestore,e)):this._delegate.withConverter(null))}}class Tm{constructor(e,t){this._firestore=e,this._delegate=t}get type(){return this._delegate.type}get doc(){return new Im(this._firestore,this._delegate.doc)}get oldIndex(){return this._delegate.oldIndex}get newIndex(){return this._delegate.newIndex}}class Nm{constructor(e,t){this._firestore=e,this._delegate=t}get query(){return new bm(this._firestore,this._delegate.query)}get metadata(){return this._delegate.metadata}get size(){return this._delegate.size}get empty(){return this._delegate.empty}get docs(){return this._delegate.docs.map(e=>new Im(this._firestore,e))}docChanges(e){return this._delegate.docChanges(e).map(e=>new Tm(this._firestore,e))}forEach(t,r){this._delegate.forEach(e=>{t.call(r,new Im(this._firestore,e))})}isEqual(e){return Lp(this._delegate,e._delegate)}}class Am extends bm{constructor(e,t){super(e,t),this.firestore=e,this._delegate=t}get id(){return this._delegate.id}get path(){return this._delegate.path}get parent(){var e=this._delegate.parent;return e?new Dm(this.firestore,e):null}doc(e){try{return void 0===e?new Dm(this.firestore,po(this._delegate)):new Dm(this.firestore,po(this._delegate,e))}catch(e){throw vm(e,"doc()","CollectionReference.doc()")}}add(e){return((e,t)=>{let r=d(e.firestore,yp),n=po(e),s=pp(e.converter,t),i=No(e.firestore);return am(r,[Ao(i,"addDoc",n._key,s,null!==e.converter,{}).toMutation(n._key,xs.exists(!1))]).then(()=>n)})(this._delegate,e).then(e=>new Dm(this.firestore,e))}isEqual(e){return mo(this._delegate,e._delegate)}withConverter(e){return new Am(this.firestore,e?this._delegate.withConverter(Em.getInstance(this.firestore,e)):this._delegate.withConverter(null))}}function xm(e){return d(e,Co)}class Fm{constructor(...e){this._delegate=new sB(...e)}static documentId(){return new Fm(Er.keyField().canonicalString())}isEqual(e){return(e=re(e))instanceof sB&&this._delegate._internalPath.isEqual(e._internalPath)}}class Sm{static serverTimestamp(){var e=new So("serverTimestamp");return e._methodName="FieldValue.serverTimestamp",new Sm(e)}static delete(){var e=new xo("deleteField");return e._methodName="FieldValue.delete",new Sm(e)}static arrayUnion(...e){[...e]=[...e];var t=new Oo("arrayUnion",e);return t._methodName="FieldValue.arrayUnion",new Sm(t)}static arrayRemove(...e){[...e]=[...e];var t=new Lo("arrayRemove",e);return t._methodName="FieldValue.arrayRemove",new Sm(t)}static increment(e){e=e;var t=new Ro("increment",e);return t._methodName="FieldValue.increment",new Sm(t)}constructor(e){this._delegate=e}isEqual(e){return this._delegate.isEqual(e._delegate)}}let Om={Firestore:fm,GeoPoint:aB,Timestamp:g,Blob:cm,Transaction:pm,WriteBatch:mm,DocumentReference:Dm,DocumentSnapshot:_m,Query:bm,QueryDocumentSnapshot:Im,QuerySnapshot:Nm,CollectionReference:Am,FieldPath:Fm,FieldValue:Sm,setLogLevel:function(e){e=e,Ut.setLogLevel(e)},CACHE_SIZE_UNLIMITED:-1};tm=(e,t)=>new fm(e,t,new dm),(em=Gm).INTERNAL.registerComponent(new se("firestore-compat",e=>{var t=e.getProvider("app-compat").getImmediate(),r=e.getProvider("firestore").getImmediate();return tm(t,r)},"PUBLIC").setServiceProps({...Om})),em.registerVersion("@firebase/firestore-compat","0.4.18")}).apply(this,arguments)}catch(e){throw console.error(e),new Error("Cannot instantiate firebase-firestore-compat.js - be sure to load firebase-app.js first.")}});
//# sourceMappingURL=firebase-firestore-compat.js.map