@joclaim/browser-extension-sdk 0.2.0 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,117 +0,0 @@
1
- (()=>{var t,e,n,r,i={152:(t,e,n)=>{"use strict";var r=n(8287).hp;class i{static isArrayBuffer(t){return"[object ArrayBuffer]"===Object.prototype.toString.call(t)}static toArrayBuffer(t){return this.isArrayBuffer(t)?t:t.byteLength===t.buffer.byteLength||0===t.byteOffset&&t.byteLength===t.buffer.byteLength?t.buffer:this.toUint8Array(t.buffer).slice(t.byteOffset,t.byteOffset+t.byteLength).buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if(t.constructor===e)return t;if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,e){const n=i.toUint8Array(t),r=i.toUint8Array(e);if(n.length!==r.byteLength)return!1;for(let t=0;t<n.length;t++)if(n[t]!==r[t])return!1;return!0}static concat(...t){let e;e=!Array.isArray(t[0])||t[1]instanceof Function?Array.isArray(t[0])&&t[1]instanceof Function?t[0]:t[t.length-1]instanceof Function?t.slice(0,t.length-1):t:t[0];let n=0;for(const t of e)n+=t.byteLength;const r=new Uint8Array(n);let i=0;for(const t of e){const e=this.toUint8Array(t);r.set(e,i),i+=e.length}return t[t.length-1]instanceof Function?this.toView(r,t[t.length-1]):r.buffer}}const o="string",s=/^[0-9a-f\s]+$/i,a=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,c=/^[a-zA-Z0-9-_]+$/;class l{static fromString(t){const e=unescape(encodeURIComponent(t)),n=new Uint8Array(e.length);for(let t=0;t<e.length;t++)n[t]=e.charCodeAt(t);return n.buffer}static toString(t){const e=i.toUint8Array(t);let n="";for(let t=0;t<e.length;t++)n+=String.fromCharCode(e[t]);return decodeURIComponent(escape(n))}}class u{static toString(t,e=!1){const n=i.toArrayBuffer(t),r=new DataView(n);let o="";for(let t=0;t<n.byteLength;t+=2){const n=r.getUint16(t,e);o+=String.fromCharCode(n)}return o}static fromString(t,e=!1){const n=new ArrayBuffer(2*t.length),r=new DataView(n);for(let n=0;n<t.length;n++)r.setUint16(2*n,t.charCodeAt(n),e);return n}}class h{static isHex(t){return typeof t===o&&s.test(t)}static isBase64(t){return typeof t===o&&a.test(t)}static isBase64Url(t){return typeof t===o&&c.test(t)}static ToString(t,e="utf8"){const n=i.toUint8Array(t);switch(e.toLowerCase()){case"utf8":return this.ToUtf8String(n);case"binary":return this.ToBinary(n);case"hex":return this.ToHex(n);case"base64":return this.ToBase64(n);case"base64url":return this.ToBase64Url(n);case"utf16le":return u.toString(n,!0);case"utf16":case"utf16be":return u.toString(n);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return u.fromString(t,!0);case"utf16":case"utf16be":return u.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){const e=i.toUint8Array(t);if("undefined"!=typeof btoa){const t=this.ToString(e,"binary");return btoa(t)}return r.from(e).toString("base64")}static FromBase64(t){const e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!h.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return"undefined"!=typeof atob?this.FromBinary(atob(e)):new Uint8Array(r.from(e,"base64")).buffer}static FromBase64Url(t){const e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!h.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=h.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return l.fromString(t);case"utf16":case"utf16be":return u.fromString(t);case"utf16le":case"usc2":return u.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=h.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return l.toString(t);case"utf16":case"utf16be":return u.toString(t);case"utf16le":case"usc2":return u.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){const e=t.length,n=new Uint8Array(e);for(let r=0;r<e;r++)n[r]=t.charCodeAt(r);return n.buffer}static ToBinary(t){const e=i.toUint8Array(t);let n="";for(let t=0;t<e.length;t++)n+=String.fromCharCode(e[t]);return n}static ToHex(t){const e=i.toUint8Array(t);let n="";const r=e.length;for(let t=0;t<r;t++){const r=e[t];r<16&&(n+="0"),n+=r.toString(16)}return n}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!h.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e=`0${e}`);const n=new Uint8Array(e.length/2);for(let t=0;t<e.length;t+=2){const r=e.slice(t,t+2);n[t/2]=parseInt(r,16)}return n.buffer}static ToUtf16String(t,e=!1){return u.toString(t,e)}static FromUtf16String(t,e=!1){return u.fromString(t,e)}static Base64Padding(t){const e=4-t.length%4;if(e<4)for(let n=0;n<e;n++)t+="=";return t}static formatString(t){return(null==t?void 0:t.replace(/[\n\r\t ]/g,""))||""}}h.DEFAULT_UTF8_ENCODING="utf8",e._H=i,e.U$=h,e.kg=function(...t){const e=t.map(t=>t.byteLength).reduce((t,e)=>t+e),n=new Uint8Array(e);let r=0;return t.map(t=>new Uint8Array(t)).forEach(t=>{for(const e of t)n[r++]=e}),n.buffer},e.n4=function(t,e){if(!t||!e)return!1;if(t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let e=0;e<t.byteLength;e++)if(n[e]!==r[e])return!1;return!0}},228:t=>{"use strict";var e=Object.prototype.hasOwnProperty,n="~";function r(){}function i(t,e,n){this.fn=t,this.context=e,this.once=n||!1}function o(t,e,r,o,s){if("function"!=typeof r)throw new TypeError("The listener must be a function");var a=new i(r,o||t,s),c=n?n+e:e;return t._events[c]?t._events[c].fn?t._events[c]=[t._events[c],a]:t._events[c].push(a):(t._events[c]=a,t._eventsCount++),t}function s(t,e){0===--t._eventsCount?t._events=new r:delete t._events[e]}function a(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),a.prototype.eventNames=function(){var t,r,i=[];if(0===this._eventsCount)return i;for(r in t=this._events)e.call(t,r)&&i.push(n?r.slice(1):r);return Object.getOwnPropertySymbols?i.concat(Object.getOwnPropertySymbols(t)):i},a.prototype.listeners=function(t){var e=n?n+t:t,r=this._events[e];if(!r)return[];if(r.fn)return[r.fn];for(var i=0,o=r.length,s=new Array(o);i<o;i++)s[i]=r[i].fn;return s},a.prototype.listenerCount=function(t){var e=n?n+t:t,r=this._events[e];return r?r.fn?1:r.length:0},a.prototype.emit=function(t,e,r,i,o,s){var a=n?n+t:t;if(!this._events[a])return!1;var c,l,u=this._events[a],h=arguments.length;if(u.fn){switch(u.once&&this.removeListener(t,u.fn,void 0,!0),h){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,e),!0;case 3:return u.fn.call(u.context,e,r),!0;case 4:return u.fn.call(u.context,e,r,i),!0;case 5:return u.fn.call(u.context,e,r,i,o),!0;case 6:return u.fn.call(u.context,e,r,i,o,s),!0}for(l=1,c=new Array(h-1);l<h;l++)c[l-1]=arguments[l];u.fn.apply(u.context,c)}else{var d,p=u.length;for(l=0;l<p;l++)switch(u[l].once&&this.removeListener(t,u[l].fn,void 0,!0),h){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,e);break;case 3:u[l].fn.call(u[l].context,e,r);break;case 4:u[l].fn.call(u[l].context,e,r,i);break;default:if(!c)for(d=1,c=new Array(h-1);d<h;d++)c[d-1]=arguments[d];u[l].fn.apply(u[l].context,c)}}return!0},a.prototype.on=function(t,e,n){return o(this,t,e,n,!1)},a.prototype.once=function(t,e,n){return o(this,t,e,n,!0)},a.prototype.removeListener=function(t,e,r,i){var o=n?n+t:t;if(!this._events[o])return this;if(!e)return s(this,o),this;var a=this._events[o];if(a.fn)a.fn!==e||i&&!a.once||r&&a.context!==r||s(this,o);else{for(var c=0,l=[],u=a.length;c<u;c++)(a[c].fn!==e||i&&!a[c].once||r&&a[c].context!==r)&&l.push(a[c]);l.length?this._events[o]=1===l.length?l[0]:l:s(this,o)}return this},a.prototype.removeAllListeners=function(t){var e;return t?(e=n?n+t:t,this._events[e]&&s(this,e)):(this._events=new r,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=n,a.EventEmitter=a,t.exports=a},251:(t,e)=>{
2
- /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
3
- e.read=function(t,e,n,r,i){var o,s,a=8*i-r-1,c=(1<<a)-1,l=c>>1,u=-7,h=n?i-1:0,d=n?-1:1,p=t[e+h];for(h+=d,o=p&(1<<-u)-1,p>>=-u,u+=a;u>0;o=256*o+t[e+h],h+=d,u-=8);for(s=o&(1<<-u)-1,o>>=-u,u+=r;u>0;s=256*s+t[e+h],h+=d,u-=8);if(0===o)o=1-l;else{if(o===c)return s?NaN:1/0*(p?-1:1);s+=Math.pow(2,r),o-=l}return(p?-1:1)*s*Math.pow(2,o-r)},e.write=function(t,e,n,r,i,o){var s,a,c,l=8*o-i-1,u=(1<<l)-1,h=u>>1,d=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=r?0:o-1,f=r?1:-1,A=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,s=u):(s=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-s))<1&&(s--,c*=2),(e+=s+h>=1?d/c:d*Math.pow(2,1-h))*c>=2&&(s++,c/=2),s+h>=u?(a=0,s=u):s+h>=1?(a=(e*c-1)*Math.pow(2,i),s+=h):(a=e*Math.pow(2,h-1)*Math.pow(2,i),s=0));i>=8;t[n+p]=255&a,p+=f,a/=256,i-=8);for(s=s<<i|a,l+=i;l>0;t[n+p]=255&s,p+=f,s/=256,l-=8);t[n+p-f]|=128*A}},630:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RE_URL_WITH_PORT=e.RE_URL=e.RE_ZONE_STRING=e.RE_SUBNET_STRING=e.RE_BAD_ADDRESS=e.RE_BAD_CHARACTERS=e.TYPES=e.SCOPES=e.GROUPS=e.BITS=void 0,e.BITS=128,e.GROUPS=8,e.SCOPES={0:"Reserved",1:"Interface local",2:"Link local",4:"Admin local",5:"Site local",8:"Organization local",14:"Global",15:"Reserved"},e.TYPES={"ff01::1/128":"Multicast (All nodes on this interface)","ff01::2/128":"Multicast (All routers on this interface)","ff02::1/128":"Multicast (All nodes on this link)","ff02::2/128":"Multicast (All routers on this link)","ff05::2/128":"Multicast (All routers in this site)","ff02::5/128":"Multicast (OSPFv3 AllSPF routers)","ff02::6/128":"Multicast (OSPFv3 AllDR routers)","ff02::9/128":"Multicast (RIP routers)","ff02::a/128":"Multicast (EIGRP routers)","ff02::d/128":"Multicast (PIM routers)","ff02::16/128":"Multicast (MLDv2 reports)","ff01::fb/128":"Multicast (mDNSv6)","ff02::fb/128":"Multicast (mDNSv6)","ff05::fb/128":"Multicast (mDNSv6)","ff02::1:2/128":"Multicast (All DHCP servers and relay agents on this link)","ff05::1:2/128":"Multicast (All DHCP servers and relay agents in this site)","ff02::1:3/128":"Multicast (All DHCP servers on this link)","ff05::1:3/128":"Multicast (All DHCP servers in this site)","::/128":"Unspecified","::1/128":"Loopback","ff00::/8":"Multicast","fe80::/10":"Link-local unicast"},e.RE_BAD_CHARACTERS=/([^0-9a-f:/%])/gi,e.RE_BAD_ADDRESS=/([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi,e.RE_SUBNET_STRING=/\/\d{1,3}(?=%|$)/,e.RE_ZONE_STRING=/%.*$/,e.RE_URL=new RegExp(/^\[{0,1}([0-9a-f:]+)\]{0,1}/),e.RE_URL_WITH_PORT=new RegExp(/\[([0-9a-f:]+)\]:([0-9]{1,5})/)},793:t=>{"use strict";function e(t){try{return JSON.stringify(t)}catch(t){return'"[Circular]"'}}t.exports=function(t,n,r){var i=r&&r.stringify||e;if("object"==typeof t&&null!==t){var o=n.length+1;if(1===o)return t;var s=new Array(o);s[0]=i(t);for(var a=1;a<o;a++)s[a]=i(n[a]);return s.join(" ")}if("string"!=typeof t)return t;var c=n.length;if(0===c)return t;for(var l="",u=0,h=-1,d=t&&t.length||0,p=0;p<d;){if(37===t.charCodeAt(p)&&p+1<d){switch(h=h>-1?h:0,t.charCodeAt(p+1)){case 100:case 102:if(u>=c)break;if(null==n[u])break;h<p&&(l+=t.slice(h,p)),l+=Number(n[u]),h=p+2,p++;break;case 105:if(u>=c)break;if(null==n[u])break;h<p&&(l+=t.slice(h,p)),l+=Math.floor(Number(n[u])),h=p+2,p++;break;case 79:case 111:case 106:if(u>=c)break;if(void 0===n[u])break;h<p&&(l+=t.slice(h,p));var f=typeof n[u];if("string"===f){l+="'"+n[u]+"'",h=p+2,p++;break}if("function"===f){l+=n[u].name||"<anonymous>",h=p+2,p++;break}l+=i(n[u]),h=p+2,p++;break;case 115:if(u>=c)break;h<p&&(l+=t.slice(h,p)),l+=String(n[u]),h=p+2,p++;break;case 37:h<p&&(l+=t.slice(h,p)),l+="%",h=p+2,p++,u--}++u}++p}if(-1===h)return t;h<d&&(l+=t.slice(h));return l}},892:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.RE_SUBNET_STRING=e.RE_ADDRESS=e.GROUPS=e.BITS=void 0,e.BITS=32,e.GROUPS=4,e.RE_ADDRESS=/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g,e.RE_SUBNET_STRING=/\/\d{1,2}$/},1141:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,r,i)}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||r(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),e.DomHandler=void 0;var o=n(5413),s=n(6957);i(n(6957),e);var a=/\s+/g,c={normalizeWhitespace:!1,withStartIndices:!1,withEndIndices:!1,xmlMode:!1},l=function(){function t(t,e,n){this.dom=[],this.root=new s.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,"function"==typeof e&&(n=e,e=c),"object"==typeof t&&(e=t,t=void 0),this.callback=null!=t?t:null,this.options=null!=e?e:c,this.elementCB=null!=n?n:null}return t.prototype.onparserinit=function(t){this.parser=t},t.prototype.onreset=function(){this.dom=[],this.root=new s.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null},t.prototype.onend=function(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))},t.prototype.onerror=function(t){this.handleCallback(t)},t.prototype.onclosetag=function(){this.lastNode=null;var t=this.tagStack.pop();this.options.withEndIndices&&(t.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(t)},t.prototype.onopentag=function(t,e){var n=this.options.xmlMode?o.ElementType.Tag:void 0,r=new s.Element(t,e,void 0,n);this.addNode(r),this.tagStack.push(r)},t.prototype.ontext=function(t){var e=this.options.normalizeWhitespace,n=this.lastNode;if(n&&n.type===o.ElementType.Text)e?n.data=(n.data+t).replace(a," "):n.data+=t,this.options.withEndIndices&&(n.endIndex=this.parser.endIndex);else{e&&(t=t.replace(a," "));var r=new s.Text(t);this.addNode(r),this.lastNode=r}},t.prototype.oncomment=function(t){if(this.lastNode&&this.lastNode.type===o.ElementType.Comment)this.lastNode.data+=t;else{var e=new s.Comment(t);this.addNode(e),this.lastNode=e}},t.prototype.oncommentend=function(){this.lastNode=null},t.prototype.oncdatastart=function(){var t=new s.Text(""),e=new s.NodeWithChildren(o.ElementType.CDATA,[t]);this.addNode(e),t.parent=e,this.lastNode=t},t.prototype.oncdataend=function(){this.lastNode=null},t.prototype.onprocessinginstruction=function(t,e){var n=new s.ProcessingInstruction(t,e);this.addNode(n)},t.prototype.handleCallback=function(t){if("function"==typeof this.callback)this.callback(t,this.dom);else if(t)throw t},t.prototype.addNode=function(t){var e=this.tagStack[this.tagStack.length-1],n=e.children[e.children.length-1];this.options.withStartIndices&&(t.startIndex=this.parser.startIndex),this.options.withEndIndices&&(t.endIndex=this.parser.endIndex),e.children.push(t),n&&(t.prev=n,n.next=t),t.parent=e,this.lastNode=null},t}();e.DomHandler=l,e.default=l},1176:(t,e,n)=>{var r,i=n(5606);
4
- /**
5
- * [js-sha3]{@link https://github.com/emn178/js-sha3}
6
- *
7
- * @version 0.8.0
8
- * @author Chen, Yi-Cyuan [emn178@gmail.com]
9
- * @copyright Chen, Yi-Cyuan 2015-2018
10
- * @license MIT
11
- */
12
- !function(){"use strict";var o="input is invalid type",s="object"==typeof window,a=s?window:{};a.JS_SHA3_NO_WINDOW&&(s=!1);var c=!s&&"object"==typeof self;!a.JS_SHA3_NO_NODE_JS&&"object"==typeof i&&i.versions&&i.versions.node?a=n.g:c&&(a=self);var l=!a.JS_SHA3_NO_COMMON_JS&&t.exports,u=n.amdO,h=!a.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,d="0123456789abcdef".split(""),p=[4,1024,262144,67108864],f=[0,8,16,24],A=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],g=[224,256,384,512],E=[128,256],m=["hex","buffer","arrayBuffer","array","digest"],w={128:168,256:136};!a.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),!h||!a.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(t){return"object"==typeof t&&t.buffer&&t.buffer.constructor===ArrayBuffer});for(var y=function(t,e,n){return function(r){return new F(t,e,t).update(r)[n]()}},I=function(t,e,n){return function(r,i){return new F(t,e,i).update(r)[n]()}},C=function(t,e,n){return function(e,r,i,o){return M["cshake"+t].update(e,r,i,o)[n]()}},B=function(t,e,n){return function(e,r,i,o){return M["kmac"+t].update(e,r,i,o)[n]()}},T=function(t,e,n,r){for(var i=0;i<m.length;++i){var o=m[i];t[o]=e(n,r,o)}return t},D=function(t,e){var n=y(t,e,"hex");return n.create=function(){return new F(t,e,t)},n.update=function(t){return n.create().update(t)},T(n,y,t,e)},b=[{name:"keccak",padding:[1,256,65536,16777216],bits:g,createMethod:D},{name:"sha3",padding:[6,1536,393216,100663296],bits:g,createMethod:D},{name:"shake",padding:[31,7936,2031616,520093696],bits:E,createMethod:function(t,e){var n=I(t,e,"hex");return n.create=function(n){return new F(t,e,n)},n.update=function(t,e){return n.create(e).update(t)},T(n,I,t,e)}},{name:"cshake",padding:p,bits:E,createMethod:function(t,e){var n=w[t],r=C(t,0,"hex");return r.create=function(r,i,o){return i||o?new F(t,e,r).bytepad([i,o],n):M["shake"+t].create(r)},r.update=function(t,e,n,i){return r.create(e,n,i).update(t)},T(r,C,t,e)}},{name:"kmac",padding:p,bits:E,createMethod:function(t,e){var n=w[t],r=B(t,0,"hex");return r.create=function(r,i,o){return new O(t,e,i).bytepad(["KMAC",o],n).bytepad([r],n)},r.update=function(t,e,n,i){return r.create(t,n,i).update(e)},T(r,B,t,e)}}],M={},N=[],v=0;v<b.length;++v)for(var S=b[v],_=S.bits,L=0;L<_.length;++L){var x=S.name+"_"+_[L];if(N.push(x),M[x]=S.createMethod(_[L],S.padding),"sha3"!==S.name){var R=S.name+_[L];N.push(R),M[R]=M[x]}}function F(t,e,n){this.blocks=[],this.s=[],this.padding=e,this.outputBits=n,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(t<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=n>>5,this.extraBytes=(31&n)>>3;for(var r=0;r<50;++r)this.s[r]=0}function O(t,e,n){F.call(this,t,e,n)}F.prototype.update=function(t){if(this.finalized)throw new Error("finalize already called");var e,n=typeof t;if("string"!==n){if("object"!==n)throw new Error(o);if(null===t)throw new Error(o);if(h&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!(Array.isArray(t)||h&&ArrayBuffer.isView(t)))throw new Error(o);e=!0}for(var r,i,s=this.blocks,a=this.byteCount,c=t.length,l=this.blockCount,u=0,d=this.s;u<c;){if(this.reset)for(this.reset=!1,s[0]=this.block,r=1;r<l+1;++r)s[r]=0;if(e)for(r=this.start;u<c&&r<a;++u)s[r>>2]|=t[u]<<f[3&r++];else for(r=this.start;u<c&&r<a;++u)(i=t.charCodeAt(u))<128?s[r>>2]|=i<<f[3&r++]:i<2048?(s[r>>2]|=(192|i>>6)<<f[3&r++],s[r>>2]|=(128|63&i)<<f[3&r++]):i<55296||i>=57344?(s[r>>2]|=(224|i>>12)<<f[3&r++],s[r>>2]|=(128|i>>6&63)<<f[3&r++],s[r>>2]|=(128|63&i)<<f[3&r++]):(i=65536+((1023&i)<<10|1023&t.charCodeAt(++u)),s[r>>2]|=(240|i>>18)<<f[3&r++],s[r>>2]|=(128|i>>12&63)<<f[3&r++],s[r>>2]|=(128|i>>6&63)<<f[3&r++],s[r>>2]|=(128|63&i)<<f[3&r++]);if(this.lastByteIndex=r,r>=a){for(this.start=r-a,this.block=s[l],r=0;r<l;++r)d[r]^=s[r];Q(d),this.reset=!0}else this.start=r}return this},F.prototype.encode=function(t,e){var n=255&t,r=1,i=[n];for(n=255&(t>>=8);n>0;)i.unshift(n),n=255&(t>>=8),++r;return e?i.push(r):i.unshift(r),this.update(i),i.length},F.prototype.encodeString=function(t){var e,n=typeof t;if("string"!==n){if("object"!==n)throw new Error(o);if(null===t)throw new Error(o);if(h&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!(Array.isArray(t)||h&&ArrayBuffer.isView(t)))throw new Error(o);e=!0}var r=0,i=t.length;if(e)r=i;else for(var s=0;s<t.length;++s){var a=t.charCodeAt(s);a<128?r+=1:a<2048?r+=2:a<55296||a>=57344?r+=3:(a=65536+((1023&a)<<10|1023&t.charCodeAt(++s)),r+=4)}return r+=this.encode(8*r),this.update(t),r},F.prototype.bytepad=function(t,e){for(var n=this.encode(e),r=0;r<t.length;++r)n+=this.encodeString(t[r]);var i=e-n%e,o=[];return o.length=i,this.update(o),this},F.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var t=this.blocks,e=this.lastByteIndex,n=this.blockCount,r=this.s;if(t[e>>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(t[0]=t[n],e=1;e<n+1;++e)t[e]=0;for(t[n-1]|=2147483648,e=0;e<n;++e)r[e]^=t[e];Q(r)}},F.prototype.toString=F.prototype.hex=function(){this.finalize();for(var t,e=this.blockCount,n=this.s,r=this.outputBlocks,i=this.extraBytes,o=0,s=0,a="";s<r;){for(o=0;o<e&&s<r;++o,++s)t=n[o],a+=d[t>>4&15]+d[15&t]+d[t>>12&15]+d[t>>8&15]+d[t>>20&15]+d[t>>16&15]+d[t>>28&15]+d[t>>24&15];s%e===0&&(Q(n),o=0)}return i&&(t=n[o],a+=d[t>>4&15]+d[15&t],i>1&&(a+=d[t>>12&15]+d[t>>8&15]),i>2&&(a+=d[t>>20&15]+d[t>>16&15])),a},F.prototype.arrayBuffer=function(){this.finalize();var t,e=this.blockCount,n=this.s,r=this.outputBlocks,i=this.extraBytes,o=0,s=0,a=this.outputBits>>3;t=i?new ArrayBuffer(r+1<<2):new ArrayBuffer(a);for(var c=new Uint32Array(t);s<r;){for(o=0;o<e&&s<r;++o,++s)c[s]=n[o];s%e===0&&Q(n)}return i&&(c[o]=n[o],t=t.slice(0,a)),t},F.prototype.buffer=F.prototype.arrayBuffer,F.prototype.digest=F.prototype.array=function(){this.finalize();for(var t,e,n=this.blockCount,r=this.s,i=this.outputBlocks,o=this.extraBytes,s=0,a=0,c=[];a<i;){for(s=0;s<n&&a<i;++s,++a)t=a<<2,e=r[s],c[t]=255&e,c[t+1]=e>>8&255,c[t+2]=e>>16&255,c[t+3]=e>>24&255;a%n===0&&Q(r)}return o&&(t=a<<2,e=r[s],c[t]=255&e,o>1&&(c[t+1]=e>>8&255),o>2&&(c[t+2]=e>>16&255)),c},O.prototype=new F,O.prototype.finalize=function(){return this.encode(this.outputBits,!0),F.prototype.finalize.call(this)};var Q=function(t){var e,n,r,i,o,s,a,c,l,u,h,d,p,f,g,E,m,w,y,I,C,B,T,D,b,M,N,v,S,_,L,x,R,F,O,Q,k,U,P,G,V,H,j,Y,z,J,W,q,K,X,Z,$,tt,et,nt,rt,it,ot,st,at,ct,lt,ut;for(r=0;r<48;r+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],s=t[2]^t[12]^t[22]^t[32]^t[42],a=t[3]^t[13]^t[23]^t[33]^t[43],c=t[4]^t[14]^t[24]^t[34]^t[44],l=t[5]^t[15]^t[25]^t[35]^t[45],u=t[6]^t[16]^t[26]^t[36]^t[46],h=t[7]^t[17]^t[27]^t[37]^t[47],e=(d=t[8]^t[18]^t[28]^t[38]^t[48])^(s<<1|a>>>31),n=(p=t[9]^t[19]^t[29]^t[39]^t[49])^(a<<1|s>>>31),t[0]^=e,t[1]^=n,t[10]^=e,t[11]^=n,t[20]^=e,t[21]^=n,t[30]^=e,t[31]^=n,t[40]^=e,t[41]^=n,e=i^(c<<1|l>>>31),n=o^(l<<1|c>>>31),t[2]^=e,t[3]^=n,t[12]^=e,t[13]^=n,t[22]^=e,t[23]^=n,t[32]^=e,t[33]^=n,t[42]^=e,t[43]^=n,e=s^(u<<1|h>>>31),n=a^(h<<1|u>>>31),t[4]^=e,t[5]^=n,t[14]^=e,t[15]^=n,t[24]^=e,t[25]^=n,t[34]^=e,t[35]^=n,t[44]^=e,t[45]^=n,e=c^(d<<1|p>>>31),n=l^(p<<1|d>>>31),t[6]^=e,t[7]^=n,t[16]^=e,t[17]^=n,t[26]^=e,t[27]^=n,t[36]^=e,t[37]^=n,t[46]^=e,t[47]^=n,e=u^(i<<1|o>>>31),n=h^(o<<1|i>>>31),t[8]^=e,t[9]^=n,t[18]^=e,t[19]^=n,t[28]^=e,t[29]^=n,t[38]^=e,t[39]^=n,t[48]^=e,t[49]^=n,f=t[0],g=t[1],J=t[11]<<4|t[10]>>>28,W=t[10]<<4|t[11]>>>28,v=t[20]<<3|t[21]>>>29,S=t[21]<<3|t[20]>>>29,at=t[31]<<9|t[30]>>>23,ct=t[30]<<9|t[31]>>>23,H=t[40]<<18|t[41]>>>14,j=t[41]<<18|t[40]>>>14,F=t[2]<<1|t[3]>>>31,O=t[3]<<1|t[2]>>>31,E=t[13]<<12|t[12]>>>20,m=t[12]<<12|t[13]>>>20,q=t[22]<<10|t[23]>>>22,K=t[23]<<10|t[22]>>>22,_=t[33]<<13|t[32]>>>19,L=t[32]<<13|t[33]>>>19,lt=t[42]<<2|t[43]>>>30,ut=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,nt=t[4]<<30|t[5]>>>2,Q=t[14]<<6|t[15]>>>26,k=t[15]<<6|t[14]>>>26,w=t[25]<<11|t[24]>>>21,y=t[24]<<11|t[25]>>>21,X=t[34]<<15|t[35]>>>17,Z=t[35]<<15|t[34]>>>17,x=t[45]<<29|t[44]>>>3,R=t[44]<<29|t[45]>>>3,D=t[6]<<28|t[7]>>>4,b=t[7]<<28|t[6]>>>4,rt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,U=t[26]<<25|t[27]>>>7,P=t[27]<<25|t[26]>>>7,I=t[36]<<21|t[37]>>>11,C=t[37]<<21|t[36]>>>11,$=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,Y=t[8]<<27|t[9]>>>5,z=t[9]<<27|t[8]>>>5,M=t[18]<<20|t[19]>>>12,N=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,st=t[28]<<7|t[29]>>>25,G=t[38]<<8|t[39]>>>24,V=t[39]<<8|t[38]>>>24,B=t[48]<<14|t[49]>>>18,T=t[49]<<14|t[48]>>>18,t[0]=f^~E&w,t[1]=g^~m&y,t[10]=D^~M&v,t[11]=b^~N&S,t[20]=F^~Q&U,t[21]=O^~k&P,t[30]=Y^~J&q,t[31]=z^~W&K,t[40]=et^~rt&ot,t[41]=nt^~it&st,t[2]=E^~w&I,t[3]=m^~y&C,t[12]=M^~v&_,t[13]=N^~S&L,t[22]=Q^~U&G,t[23]=k^~P&V,t[32]=J^~q&X,t[33]=W^~K&Z,t[42]=rt^~ot&at,t[43]=it^~st&ct,t[4]=w^~I&B,t[5]=y^~C&T,t[14]=v^~_&x,t[15]=S^~L&R,t[24]=U^~G&H,t[25]=P^~V&j,t[34]=q^~X&$,t[35]=K^~Z&tt,t[44]=ot^~at&lt,t[45]=st^~ct&ut,t[6]=I^~B&f,t[7]=C^~T&g,t[16]=_^~x&D,t[17]=L^~R&b,t[26]=G^~H&F,t[27]=V^~j&O,t[36]=X^~$&Y,t[37]=Z^~tt&z,t[46]=at^~lt&et,t[47]=ct^~ut&nt,t[8]=B^~f&E,t[9]=T^~g&m,t[18]=x^~D&M,t[19]=R^~b&N,t[28]=H^~F&Q,t[29]=j^~O&k,t[38]=$^~Y&J,t[39]=tt^~z&W,t[48]=lt^~et&rt,t[49]=ut^~nt&it,t[0]^=A[r],t[1]^=A[r+1]};if(l)t.exports=M;else{for(v=0;v<N.length;++v)a[N[v]]=M[N[v]];u&&(void 0===(r=function(){return M}.call(e,n,e,t))||(t.exports=r))}}()},1357:(t,e,n)=>{"use strict";const r=n(9424),i=n(9534).BigInteger;class o{constructor(t){if("string"!=typeof t||!t.match("/"))throw new Error("Invalid CIDR address.");const e=this.constructor.createAddress(t);this.cidr=e.address,this.ipAddressType=e.constructor,this.address=e,this.addressStart=e.startAddress(),this.addressEnd=e.endAddress(),this.addressStart.subnet=this.addressEnd.subnet=this.address.subnet,this.addressStart.subnetMask=this.addressEnd.subnetMask=this.address.subnetMask,this.size=new i(this.addressEnd.bigInteger().subtract(this.addressStart.bigInteger()).add(new i("1")).toString())}contains(t){try{return t instanceof r.Address6||t instanceof r.Address4||(t="object"==typeof t?this.ipAddressType.fromBigInteger(t):this.constructor.createAddress(t)),t.isInSubnet(this.address)}catch(t){return!1}}start(t){return this.constructor.formatIP(this.addressStart,t)}end(t){return this.constructor.formatIP(this.addressEnd,t)}toString(){return this.cidr}toRange(t){return[this.constructor.formatIP(this.addressStart,t),this.constructor.formatIP(this.addressEnd,t)]}toObject(t){return{start:this.constructor.formatIP(this.addressStart,t),end:this.constructor.formatIP(this.addressEnd,t)}}toArray(t,e){t=t||{};const n=[],r=this.constructor.formatIP(this.addressStart,{type:"bigInteger"}),o=this.constructor.formatIP(this.addressEnd,{type:"bigInteger"}).subtract(r).add(new i("1")),s=this.getChunkInfo(o,t);return e&&Object.assign(e,s),this.loopInfo(s,e=>{const i=r.add(e),o=this.constructor.formatIP(this.ipAddressType.fromBigInteger(i),t);n.push(o)}),n}loop(t,e,n){e=e||{};const r=[],o=this.constructor.formatIP(this.addressStart,{type:"bigInteger"}),s=this.constructor.formatIP(this.addressEnd,{type:"bigInteger"}).subtract(o).add(new i("1")),a=this.getChunkInfo(s,e);return n&&Object.assign(n,a),this.loopInfo(a,n=>{const i=o.add(n),s=this.constructor.formatIP(this.ipAddressType.fromBigInteger(i),e);r.push(t(s))}),Promise.all(r)}loopInfo(t,e){let n=t.from;for(;n.compareTo(t.to)<0;)e(n),n=n.add(new i("1"))}getChunkInfo(t,e){let n,r=e.from,o=e.limit,s=e.to;const a=this.constructor.formatIP(this.address,{type:"bigInteger"}),c=t=>"string"==typeof t&&t.match(/:|\./)?this.constructor.formatIP(this.constructor.createAddress(t),{type:"bigInteger"}).subtract(a):"object"!=typeof t?new i(t+""):t;return r=c(void 0!==r?r:0),void 0!==s?(s=c(s),o=s.subtract(r)):o=void 0!==o?c(o):t,n=t.subtract(r),o.compareTo(n)>0&&(o=n),s=r.add(o),{from:r,to:s,limit:o,length:t}}}o.formatIP=function(t,e){return"bigInteger"==(e=e||{}).type?new i(t.bigInteger().toString()):"addressObject"==e.type?t:t.addressMinusSuffix},o.createAddress=function(t){if("string"!=typeof t)throw new Error("Invalid IP address.");t.match(/:.\./)&&(t=t.split(":").pop());let e=new(t.match(":")?r.Address6:r.Address4)(t);if(e.v4&&t.match(":")&&e.address4&&(e=e.address4),e.v4){const t=e.addressMinusSuffix.split(".");for(let e=0;e<t.length;e++){const n=t[e].split("/")[0];if("0"==n[0]&&n.length>1)throw new Error("Invalid IPv4 address.")}}return e},o.isValidAddress=function(t){try{return!!this.createAddress(t)}catch(t){return!1}},o.isValidCIDR=function(t){if("string"!=typeof t||!t.match("/"))return!1;try{return!!this.createAddress(t)}catch(t){return!1}},t.exports=o},1911:(t,e,n)=>{"use strict";var r=n(7426),i=n(7766);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}r.inherits(o,i),t.exports=o,o.blockSize=1024,o.outSize=384,o.hmacStrength=192,o.padLength=128,o.prototype._digest=function(t){return"hex"===t?r.toHex32(this.h.slice(0,12),"big"):r.split32(this.h.slice(0,12),"big")}},2287:(t,e,n)=>{"use strict";var r=n(7426),i=n(6166),o=n(6225),s=n(3349),a=r.sum32,c=r.sum32_4,l=r.sum32_5,u=o.ch32,h=o.maj32,d=o.s0_256,p=o.s1_256,f=o.g0_256,A=o.g1_256,g=i.BlockHash,E=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function m(){if(!(this instanceof m))return new m;g.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=E,this.W=new Array(64)}r.inherits(m,g),t.exports=m,m.blockSize=512,m.outSize=256,m.hmacStrength=192,m.padLength=64,m.prototype._update=function(t,e){for(var n=this.W,r=0;r<16;r++)n[r]=t[e+r];for(;r<n.length;r++)n[r]=c(A(n[r-2]),n[r-7],f(n[r-15]),n[r-16]);var i=this.h[0],o=this.h[1],g=this.h[2],E=this.h[3],m=this.h[4],w=this.h[5],y=this.h[6],I=this.h[7];for(s(this.k.length===n.length),r=0;r<n.length;r++){var C=l(I,p(m),u(m,w,y),this.k[r],n[r]),B=a(d(i),h(i,o,g));I=y,y=w,w=m,m=a(E,C),E=g,g=o,o=i,i=a(C,B)}this.h[0]=a(this.h[0],i),this.h[1]=a(this.h[1],o),this.h[2]=a(this.h[2],g),this.h[3]=a(this.h[3],E),this.h[4]=a(this.h[4],m),this.h[5]=a(this.h[5],w),this.h[6]=a(this.h[6],y),this.h[7]=a(this.h[7],I)},m.prototype._digest=function(t){return"hex"===t?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},2341:t=>{"use strict";t.exports=function t(e){if("number"==typeof e&&isNaN(e))throw new Error("NaN is not allowed");if("number"==typeof e&&!isFinite(e))throw new Error("Infinity is not allowed");if(null===e||"object"!=typeof e)return JSON.stringify(e);if(e.toJSON instanceof Function)return t(e.toJSON());if(Array.isArray(e)){return`[${e.reduce((e,n,r)=>`${e}${0===r?"":","}${t(void 0===n||"symbol"==typeof n?null:n)}`,"")}]`}return`{${Object.keys(e).sort().reduce((n,r)=>{if(void 0===e[r]||"symbol"==typeof e[r])return n;return`${n}${0===n.length?"":","}${t(r)}:${t(e[r])}`},"")}}`}},2447:()=>{},2861:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n),Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e},s=this&&this.__spreadArrays||function(){for(var t=0,e=0,n=arguments.length;e<n;e++)t+=arguments[e].length;var r=Array(t),i=0;for(e=0;e<n;e++)for(var o=arguments[e],s=0,a=o.length;s<a;s++,i++)r[i]=o[s];return r};Object.defineProperty(e,"__esModule",{value:!0}),e.Address6=void 0;var a=o(n(8177)),c=o(n(892)),l=o(n(630)),u=o(n(4994)),h=n(8955),d=n(3765),p=n(9617),f=n(9534),A=n(7604);function g(t){if(!t)throw new Error("Assertion failed.")}function E(t){return t=(t=t.replace(/^(0{1,})([1-9]+)$/,'<span class="parse-error">$1</span>$2')).replace(/^(0{1,})(0)$/,'<span class="parse-error">$1</span>$2')}function m(t){return A.sprintf("%04x",parseInt(t,16))}function w(t){return 255&t}var y=function(){function t(t,e){this.addressMinusSuffix="",this.parsedSubnet="",this.subnet="/128",this.subnetMask=128,this.v4=!1,this.zone="",this.isInSubnet=a.isInSubnet,this.isCorrect=a.isCorrect(l.BITS),this.groups=void 0===e?l.GROUPS:e,this.address=t;var n=l.RE_SUBNET_STRING.exec(t);if(n){if(this.parsedSubnet=n[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet="/"+this.subnetMask,Number.isNaN(this.subnetMask)||this.subnetMask<0||this.subnetMask>l.BITS)throw new p.AddressError("Invalid subnet mask.");t=t.replace(l.RE_SUBNET_STRING,"")}else if(/\//.test(t))throw new p.AddressError("Invalid subnet mask.");var r=l.RE_ZONE_STRING.exec(t);r&&(this.zone=r[0],t=t.replace(l.RE_ZONE_STRING,"")),this.addressMinusSuffix=t,this.parsedAddress=this.parse(this.addressMinusSuffix)}return t.isValid=function(e){try{return new t(e),!0}catch(t){return!1}},t.fromBigInteger=function(e){var n,r=e.toString(16).padStart(32,"0"),i=[];for(n=0;n<l.GROUPS;n++)i.push(r.slice(4*n,4*(n+1)));return new t(i.join(":"))},t.fromURL=function(e){var n,r,i=null;if(-1!==e.indexOf("[")&&-1!==e.indexOf("]:")){if(null===(r=l.RE_URL_WITH_PORT.exec(e)))return{error:"failed to parse address with port",address:null,port:null};n=r[1],i=r[2]}else if(-1!==e.indexOf("/")){if(e=e.replace(/^[a-z0-9]+:\/\//,""),null===(r=l.RE_URL.exec(e)))return{error:"failed to parse address from URL",address:null,port:null};n=r[1]}else n=e;return i?((i=parseInt(i,10))<0||i>65536)&&(i=null):i=null,{address:new t(n),port:i}},t.fromAddress4=function(e){var n=new h.Address4(e),r=l.BITS-(c.BITS-n.subnetMask);return new t("::ffff:"+n.correctForm()+"/"+r)},t.fromArpa=function(e){var n=e.replace(/(\.ip6\.arpa)?\.$/,"");if(63!==n.length)throw new p.AddressError("Invalid 'ip6.arpa' form.");for(var r=n.split(".").reverse(),i=7;i>0;i--){var o=4*i;r.splice(o,0,":")}return new t(n=r.join(""))},t.prototype.microsoftTranscription=function(){return A.sprintf("%s.ipv6-literal.net",this.correctForm().replace(/:/g,"-"))},t.prototype.mask=function(t){return void 0===t&&(t=this.subnetMask),this.getBitsBase2(0,t)},t.prototype.possibleSubnets=function(t){void 0===t&&(t=128);var e=l.BITS-this.subnetMask-Math.abs(t-l.BITS);return e<0?"0":function(t){for(var e=/(\d+)(\d{3})/;e.test(t);)t=t.replace(e,"$1,$2");return t}(new f.BigInteger("2",10).pow(e).toString(10))},t.prototype._startAddress=function(){return new f.BigInteger(this.mask()+"0".repeat(l.BITS-this.subnetMask),2)},t.prototype.startAddress=function(){return t.fromBigInteger(this._startAddress())},t.prototype.startAddressExclusive=function(){var e=new f.BigInteger("1");return t.fromBigInteger(this._startAddress().add(e))},t.prototype._endAddress=function(){return new f.BigInteger(this.mask()+"1".repeat(l.BITS-this.subnetMask),2)},t.prototype.endAddress=function(){return t.fromBigInteger(this._endAddress())},t.prototype.endAddressExclusive=function(){var e=new f.BigInteger("1");return t.fromBigInteger(this._endAddress().subtract(e))},t.prototype.getScope=function(){var t=l.SCOPES[this.getBits(12,16).intValue()];return"Global unicast"===this.getType()&&"Link local"!==t&&(t="Global"),t||"Unknown"},t.prototype.getType=function(){for(var e=0,n=Object.keys(l.TYPES);e<n.length;e++){var r=n[e];if(this.isInSubnet(new t(r)))return l.TYPES[r]}return"Global unicast"},t.prototype.getBits=function(t,e){return new f.BigInteger(this.getBitsBase2(t,e),2)},t.prototype.getBitsBase2=function(t,e){return this.binaryZeroPad().slice(t,e)},t.prototype.getBitsBase16=function(t,e){var n=e-t;if(n%4!=0)throw new Error("Length of bits to retrieve must be divisible by four");return this.getBits(t,e).toString(16).padStart(n/4,"0")},t.prototype.getBitsPastSubnet=function(){return this.getBitsBase2(this.subnetMask,l.BITS)},t.prototype.reverseForm=function(t){t||(t={});var e=Math.floor(this.subnetMask/4),n=this.canonicalForm().replace(/:/g,"").split("").slice(0,e).reverse().join(".");return e>0?t.omitSuffix?n:A.sprintf("%s.ip6.arpa.",n):t.omitSuffix?"":"ip6.arpa."},t.prototype.correctForm=function(){var t,e=[],n=0,r=[];for(t=0;t<this.parsedAddress.length;t++){var i=parseInt(this.parsedAddress[t],16);0===i&&n++,0!==i&&n>0&&(n>1&&r.push([t-n,t-1]),n=0)}n>1&&r.push([this.parsedAddress.length-n,this.parsedAddress.length-1]);var o=r.map(function(t){return t[1]-t[0]+1});if(r.length>0){var s=o.indexOf(Math.max.apply(Math,o));e=function(t,e){var n,r=[],i=[];for(n=0;n<t.length;n++)n<e[0]?r.push(t[n]):n>e[1]&&i.push(t[n]);return r.concat(["compact"]).concat(i)}(this.parsedAddress,r[s])}else e=this.parsedAddress;for(t=0;t<e.length;t++)"compact"!==e[t]&&(e[t]=parseInt(e[t],16).toString(16));var a=e.join(":");return a=(a=(a=a.replace(/^compact$/,"::")).replace(/^compact|compact$/,":")).replace(/compact/,"")},t.prototype.binaryZeroPad=function(){return this.bigInteger().toString(2).padStart(l.BITS,"0")},t.prototype.parse4in6=function(t){var e=t.split(":"),n=e.slice(-1)[0].match(c.RE_ADDRESS);if(n){this.parsedAddress4=n[0],this.address4=new h.Address4(this.parsedAddress4);for(var r=0;r<this.address4.groups;r++)if(/^0[0-9]+/.test(this.address4.parsedAddress[r]))throw new p.AddressError("IPv4 addresses can't have leading zeroes.",t.replace(c.RE_ADDRESS,this.address4.parsedAddress.map(E).join(".")));this.v4=!0,e[e.length-1]=this.address4.toGroup6(),t=e.join(":")}return t},t.prototype.parse=function(t){var e=(t=this.parse4in6(t)).match(l.RE_BAD_CHARACTERS);if(e)throw new p.AddressError(A.sprintf("Bad character%s detected in address: %s",e.length>1?"s":"",e.join("")),t.replace(l.RE_BAD_CHARACTERS,'<span class="parse-error">$1</span>'));var n=t.match(l.RE_BAD_ADDRESS);if(n)throw new p.AddressError(A.sprintf("Address failed regex: %s",n.join("")),t.replace(l.RE_BAD_ADDRESS,'<span class="parse-error">$1</span>'));var r=[],i=t.split("::");if(2===i.length){var o=i[0].split(":"),s=i[1].split(":");1===o.length&&""===o[0]&&(o=[]),1===s.length&&""===s[0]&&(s=[]);var a=this.groups-(o.length+s.length);if(!a)throw new p.AddressError("Error parsing groups");this.elidedGroups=a,this.elisionBegin=o.length,this.elisionEnd=o.length+this.elidedGroups,r=r.concat(o);for(var c=0;c<a;c++)r.push("0");r=r.concat(s)}else{if(1!==i.length)throw new p.AddressError("Too many :: groups found");r=t.split(":"),this.elidedGroups=0}if((r=r.map(function(t){return A.sprintf("%x",parseInt(t,16))})).length!==this.groups)throw new p.AddressError("Incorrect number of groups found");return r},t.prototype.canonicalForm=function(){return this.parsedAddress.map(m).join(":")},t.prototype.decimal=function(){return this.parsedAddress.map(function(t){return A.sprintf("%05d",parseInt(t,16))}).join(":")},t.prototype.bigInteger=function(){return new f.BigInteger(this.parsedAddress.map(m).join(""),16)},t.prototype.to4=function(){var t=this.binaryZeroPad().split("");return h.Address4.fromHex(new f.BigInteger(t.slice(96,128).join(""),2).toString(16))},t.prototype.to4in6=function(){var e=this.to4(),n=new t(this.parsedAddress.slice(0,6).join(":"),6).correctForm(),r="";return/:$/.test(n)||(r=":"),n+r+e.address},t.prototype.inspectTeredo=function(){var t=this.getBitsBase16(0,32),e=this.getBits(80,96).xor(new f.BigInteger("ffff",16)).toString(),n=h.Address4.fromHex(this.getBitsBase16(32,64)),r=h.Address4.fromHex(this.getBits(96,128).xor(new f.BigInteger("ffffffff",16)).toString(16)),i=this.getBits(64,80),o=this.getBitsBase2(64,80),s=i.testBit(15),a=i.testBit(14),c=i.testBit(8),l=i.testBit(9),u=new f.BigInteger(o.slice(2,6)+o.slice(8,16),2).toString(10);return{prefix:A.sprintf("%s:%s",t.slice(0,4),t.slice(4,8)),server4:n.address,client4:r.address,flags:o,coneNat:s,microsoft:{reserved:a,universalLocal:l,groupIndividual:c,nonce:u},udpPort:e}},t.prototype.inspect6to4=function(){var t=this.getBitsBase16(0,16),e=h.Address4.fromHex(this.getBitsBase16(16,48));return{prefix:A.sprintf("%s",t.slice(0,4)),gateway:e.address}},t.prototype.to6to4=function(){return this.is4()?new t(["2002",this.getBitsBase16(96,112),this.getBitsBase16(112,128),"","/16"].join(":")):null},t.prototype.toByteArray=function(){var t=this.bigInteger().toByteArray();return 17===t.length&&0===t[0]?t.slice(1):t},t.prototype.toUnsignedByteArray=function(){return this.toByteArray().map(w)},t.fromByteArray=function(t){return this.fromUnsignedByteArray(t.map(w))},t.fromUnsignedByteArray=function(e){for(var n=new f.BigInteger("256",10),r=new f.BigInteger("0",10),i=new f.BigInteger("1",10),o=e.length-1;o>=0;o--)r=r.add(i.multiply(new f.BigInteger(e[o].toString(10),10))),i=i.multiply(n);return t.fromBigInteger(r)},t.prototype.isCanonical=function(){return this.addressMinusSuffix===this.canonicalForm()},t.prototype.isLinkLocal=function(){return"1111111010000000000000000000000000000000000000000000000000000000"===this.getBitsBase2(0,64)},t.prototype.isMulticast=function(){return"Multicast"===this.getType()},t.prototype.is4=function(){return this.v4},t.prototype.isTeredo=function(){return this.isInSubnet(new t("2001::/32"))},t.prototype.is6to4=function(){return this.isInSubnet(new t("2002::/16"))},t.prototype.isLoopback=function(){return"Loopback"===this.getType()},t.prototype.href=function(t){return t=void 0===t?"":A.sprintf(":%s",t),A.sprintf("http://[%s]%s/",this.correctForm(),t)},t.prototype.link=function(t){t||(t={}),void 0===t.className&&(t.className=""),void 0===t.prefix&&(t.prefix="/#address="),void 0===t.v4&&(t.v4=!1);var e=this.correctForm;return t.v4&&(e=this.to4in6),t.className?A.sprintf('<a href="%1$s%2$s" class="%3$s">%2$s</a>',t.prefix,e.call(this),t.className):A.sprintf('<a href="%1$s%2$s">%2$s</a>',t.prefix,e.call(this))},t.prototype.group=function(){if(0===this.elidedGroups)return u.simpleGroup(this.address).join(":");g("number"==typeof this.elidedGroups),g("number"==typeof this.elisionBegin);var t=[],e=this.address.split("::"),n=e[0],r=e[1];n.length?t.push.apply(t,u.simpleGroup(n)):t.push("");for(var i=["hover-group"],o=this.elisionBegin;o<this.elisionBegin+this.elidedGroups;o++)i.push(A.sprintf("group-%d",o));return t.push(A.sprintf('<span class="%s"></span>',i.join(" "))),r.length?t.push.apply(t,u.simpleGroup(r,this.elisionEnd)):t.push(""),this.is4()&&(g(this.address4 instanceof h.Address4),t.pop(),t.push(this.address4.groupForV6())),t.join(":")},t.prototype.regularExpressionString=function(e){void 0===e&&(e=!1);var n=[],r=new t(this.correctForm());if(0===r.elidedGroups)n.push(d.simpleRegularExpression(r.parsedAddress));else if(r.elidedGroups===l.GROUPS)n.push(d.possibleElisions(l.GROUPS));else{var i=r.address.split("::");i[0].length&&n.push(d.simpleRegularExpression(i[0].split(":"))),g("number"==typeof r.elidedGroups),n.push(d.possibleElisions(r.elidedGroups,0!==i[0].length,0!==i[1].length)),i[1].length&&n.push(d.simpleRegularExpression(i[1].split(":"))),n=[n.join(":")]}return e||(n=s(["(?=^|",d.ADDRESS_BOUNDARY,"|[^\\w\\:])("],n,[")(?=[^\\w\\:]|",d.ADDRESS_BOUNDARY,"|$)"])),n.join("")},t.prototype.regularExpression=function(t){return void 0===t&&(t=!1),new RegExp(this.regularExpressionString(t),"i")},t}();e.Address6=y},2872:function(t){"use strict";!function(){function e(t){return parseInt(t)===t}function n(t){if(!e(t.length))return!1;for(var n=0;n<t.length;n++)if(!e(t[n])||t[n]<0||t[n]>255)return!1;return!0}function r(t,r){if(t.buffer&&ArrayBuffer.isView(t)&&"Uint8Array"===t.name)return r&&(t=t.slice?t.slice():Array.prototype.slice.call(t)),t;if(Array.isArray(t)){if(!n(t))throw new Error("Array contains invalid value: "+t);return new Uint8Array(t)}if(e(t.length)&&n(t))return new Uint8Array(t);throw new Error("unsupported array-like object")}function i(t){return new Uint8Array(t)}function o(t,e,n,r,i){null==r&&null==i||(t=t.slice?t.slice(r,i):Array.prototype.slice.call(t,r,i)),e.set(t,n)}var s,a={toBytes:function(t){var e=[],n=0;for(t=encodeURI(t);n<t.length;){var i=t.charCodeAt(n++);37===i?(e.push(parseInt(t.substr(n,2),16)),n+=2):e.push(i)}return r(e)},fromBytes:function(t){for(var e=[],n=0;n<t.length;){var r=t[n];r<128?(e.push(String.fromCharCode(r)),n++):r>191&&r<224?(e.push(String.fromCharCode((31&r)<<6|63&t[n+1])),n+=2):(e.push(String.fromCharCode((15&r)<<12|(63&t[n+1])<<6|63&t[n+2])),n+=3)}return e.join("")}},c=(s="0123456789abcdef",{toBytes:function(t){for(var e=[],n=0;n<t.length;n+=2)e.push(parseInt(t.substr(n,2),16));return e},fromBytes:function(t){for(var e=[],n=0;n<t.length;n++){var r=t[n];e.push(s[(240&r)>>4]+s[15&r])}return e.join("")}}),l={16:10,24:12,32:14},u=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],h=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],d=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],p=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],f=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],A=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],g=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],E=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],m=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],w=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],y=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],I=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],C=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],B=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],T=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function D(t){for(var e=[],n=0;n<t.length;n+=4)e.push(t[n]<<24|t[n+1]<<16|t[n+2]<<8|t[n+3]);return e}var b=function(t){if(!(this instanceof b))throw Error("AES must be instanitated with `new`");Object.defineProperty(this,"key",{value:r(t,!0)}),this._prepare()};b.prototype._prepare=function(){var t=l[this.key.length];if(null==t)throw new Error("invalid key size (must be 16, 24 or 32 bytes)");this._Ke=[],this._Kd=[];for(var e=0;e<=t;e++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);var n,r=4*(t+1),i=this.key.length/4,o=D(this.key);for(e=0;e<i;e++)n=e>>2,this._Ke[n][e%4]=o[e],this._Kd[t-n][e%4]=o[e];for(var s,a=0,c=i;c<r;){if(s=o[i-1],o[0]^=h[s>>16&255]<<24^h[s>>8&255]<<16^h[255&s]<<8^h[s>>24&255]^u[a]<<24,a+=1,8!=i)for(e=1;e<i;e++)o[e]^=o[e-1];else{for(e=1;e<i/2;e++)o[e]^=o[e-1];s=o[i/2-1],o[i/2]^=h[255&s]^h[s>>8&255]<<8^h[s>>16&255]<<16^h[s>>24&255]<<24;for(e=i/2+1;e<i;e++)o[e]^=o[e-1]}for(e=0;e<i&&c<r;)d=c>>2,p=c%4,this._Ke[d][p]=o[e],this._Kd[t-d][p]=o[e++],c++}for(var d=1;d<t;d++)for(var p=0;p<4;p++)s=this._Kd[d][p],this._Kd[d][p]=I[s>>24&255]^C[s>>16&255]^B[s>>8&255]^T[255&s]},b.prototype.encrypt=function(t){if(16!=t.length)throw new Error("invalid plaintext size (must be 16 bytes)");for(var e=this._Ke.length-1,n=[0,0,0,0],r=D(t),o=0;o<4;o++)r[o]^=this._Ke[0][o];for(var s=1;s<e;s++){for(o=0;o<4;o++)n[o]=p[r[o]>>24&255]^f[r[(o+1)%4]>>16&255]^A[r[(o+2)%4]>>8&255]^g[255&r[(o+3)%4]]^this._Ke[s][o];r=n.slice()}var a,c=i(16);for(o=0;o<4;o++)a=this._Ke[e][o],c[4*o]=255&(h[r[o]>>24&255]^a>>24),c[4*o+1]=255&(h[r[(o+1)%4]>>16&255]^a>>16),c[4*o+2]=255&(h[r[(o+2)%4]>>8&255]^a>>8),c[4*o+3]=255&(h[255&r[(o+3)%4]]^a);return c},b.prototype.decrypt=function(t){if(16!=t.length)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var e=this._Kd.length-1,n=[0,0,0,0],r=D(t),o=0;o<4;o++)r[o]^=this._Kd[0][o];for(var s=1;s<e;s++){for(o=0;o<4;o++)n[o]=E[r[o]>>24&255]^m[r[(o+3)%4]>>16&255]^w[r[(o+2)%4]>>8&255]^y[255&r[(o+1)%4]]^this._Kd[s][o];r=n.slice()}var a,c=i(16);for(o=0;o<4;o++)a=this._Kd[e][o],c[4*o]=255&(d[r[o]>>24&255]^a>>24),c[4*o+1]=255&(d[r[(o+3)%4]>>16&255]^a>>16),c[4*o+2]=255&(d[r[(o+2)%4]>>8&255]^a>>8),c[4*o+3]=255&(d[255&r[(o+1)%4]]^a);return c};var M=function(t){if(!(this instanceof M))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new b(t)};M.prototype.encrypt=function(t){if((t=r(t)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var e=i(t.length),n=i(16),s=0;s<t.length;s+=16)o(t,n,0,s,s+16),o(n=this._aes.encrypt(n),e,s);return e},M.prototype.decrypt=function(t){if((t=r(t)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var e=i(t.length),n=i(16),s=0;s<t.length;s+=16)o(t,n,0,s,s+16),o(n=this._aes.decrypt(n),e,s);return e};var N=function(t,e){if(!(this instanceof N))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Block Chaining",this.name="cbc",e){if(16!=e.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else e=i(16);this._lastCipherblock=r(e,!0),this._aes=new b(t)};N.prototype.encrypt=function(t){if((t=r(t)).length%16!=0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var e=i(t.length),n=i(16),s=0;s<t.length;s+=16){o(t,n,0,s,s+16);for(var a=0;a<16;a++)n[a]^=this._lastCipherblock[a];this._lastCipherblock=this._aes.encrypt(n),o(this._lastCipherblock,e,s)}return e},N.prototype.decrypt=function(t){if((t=r(t)).length%16!=0)throw new Error("invalid ciphertext size (must be multiple of 16 bytes)");for(var e=i(t.length),n=i(16),s=0;s<t.length;s+=16){o(t,n,0,s,s+16),n=this._aes.decrypt(n);for(var a=0;a<16;a++)e[s+a]=n[a]^this._lastCipherblock[a];o(t,this._lastCipherblock,0,s,s+16)}return e};var v=function(t,e,n){if(!(this instanceof v))throw Error("AES must be instanitated with `new`");if(this.description="Cipher Feedback",this.name="cfb",e){if(16!=e.length)throw new Error("invalid initialation vector size (must be 16 size)")}else e=i(16);n||(n=1),this.segmentSize=n,this._shiftRegister=r(e,!0),this._aes=new b(t)};v.prototype.encrypt=function(t){if(t.length%this.segmentSize!=0)throw new Error("invalid plaintext size (must be segmentSize bytes)");for(var e,n=r(t,!0),i=0;i<n.length;i+=this.segmentSize){e=this._aes.encrypt(this._shiftRegister);for(var s=0;s<this.segmentSize;s++)n[i+s]^=e[s];o(this._shiftRegister,this._shiftRegister,0,this.segmentSize),o(n,this._shiftRegister,16-this.segmentSize,i,i+this.segmentSize)}return n},v.prototype.decrypt=function(t){if(t.length%this.segmentSize!=0)throw new Error("invalid ciphertext size (must be segmentSize bytes)");for(var e,n=r(t,!0),i=0;i<n.length;i+=this.segmentSize){e=this._aes.encrypt(this._shiftRegister);for(var s=0;s<this.segmentSize;s++)n[i+s]^=e[s];o(this._shiftRegister,this._shiftRegister,0,this.segmentSize),o(t,this._shiftRegister,16-this.segmentSize,i,i+this.segmentSize)}return n};var S=function(t,e){if(!(this instanceof S))throw Error("AES must be instanitated with `new`");if(this.description="Output Feedback",this.name="ofb",e){if(16!=e.length)throw new Error("invalid initialation vector size (must be 16 bytes)")}else e=i(16);this._lastPrecipher=r(e,!0),this._lastPrecipherIndex=16,this._aes=new b(t)};S.prototype.encrypt=function(t){for(var e=r(t,!0),n=0;n<e.length;n++)16===this._lastPrecipherIndex&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),e[n]^=this._lastPrecipher[this._lastPrecipherIndex++];return e},S.prototype.decrypt=S.prototype.encrypt;var _=function(t){if(!(this instanceof _))throw Error("Counter must be instanitated with `new`");0===t||t||(t=1),"number"==typeof t?(this._counter=i(16),this.setValue(t)):this.setBytes(t)};_.prototype.setValue=function(t){if("number"!=typeof t||parseInt(t)!=t)throw new Error("invalid counter value (must be an integer)");for(var e=15;e>=0;--e)this._counter[e]=t%256,t>>=8},_.prototype.setBytes=function(t){if(16!=(t=r(t,!0)).length)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=t},_.prototype.increment=function(){for(var t=15;t>=0;t--){if(255!==this._counter[t]){this._counter[t]++;break}this._counter[t]=0}};var L=function(t,e){if(!(this instanceof L))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",e instanceof _||(e=new _(e)),this._counter=e,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new b(t)};L.prototype.encrypt=function(t){for(var e=r(t,!0),n=0;n<e.length;n++)16===this._remainingCounterIndex&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),e[n]^=this._remainingCounter[this._remainingCounterIndex++];return e},L.prototype.decrypt=L.prototype.encrypt;var x={AES:b,Counter:_,ModeOfOperation:{ecb:M,cbc:N,cfb:v,ofb:S,ctr:L},utils:{hex:c,utf8:a},padding:{pkcs7:{pad:function(t){var e=16-(t=r(t,!0)).length%16,n=i(t.length+e);o(t,n);for(var s=t.length;s<n.length;s++)n[s]=e;return n},strip:function(t){if((t=r(t,!0)).length<16)throw new Error("PKCS#7 invalid length");var e=t[t.length-1];if(e>16)throw new Error("PKCS#7 padding byte out of range");for(var n=t.length-e,s=0;s<e;s++)if(t[n+s]!==e)throw new Error("PKCS#7 invalid padding byte");var a=i(n);return o(t,a,0,0,n),a}}},_arrayTest:{coerceArray:r,createArray:i,copyArray:o}};t.exports=x}()},3153:(t,e,n)=>{"use strict";n.d(e,{Ey:()=>s,w9:()=>a});n(7770);function r(t){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function i(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,o(r.key),r)}}function o(t){var e=function(t,e){if("object"!=r(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var i=n.call(t,e||"default");if("object"!=r(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==r(e)?e:e+""}var s=Object.freeze({BACKGROUND:"background",CONTENT:"content",POPUP:"popup",INIT:"init",VERIFICATION:"verification",FETCH:"fetch",PROVIDER:"provider",CLAIM:"claim",PROOF:"proof",OFFSCREEN:"offscreen",POLYFILLS:"polyfills",SESSION_TIMER:"session-timer"}),a=new(function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.enabled=!0,this.allowedTypes=new Set}return e=t,n=[{key:"enable",value:function(){this.enabled=!0}},{key:"disable",value:function(){this.enabled=!1}},{key:"setTypes",value:function(t){Array.isArray(t)&&(this.allowedTypes=new Set(t))}},{key:"clearTypes",value:function(){this.allowedTypes.clear()}},{key:"log",value:function(e){var n;if(this.enabled&&(!(this.allowedTypes.size>0)||this.allowedTypes.has(e))){for(var r=t.typeColor(e),i=arguments.length,o=new Array(i>1?i-1:0),s=1;s<i;s++)o[s-1]=arguments[s];(n=console).log.apply(n,["%c[".concat(e,"][INFO]"),"color: ".concat(r,"; font-weight: bold;")].concat(o))}}},{key:"info",value:function(e){var n;if(this.enabled&&(!(this.allowedTypes.size>0)||this.allowedTypes.has(e))){for(var r=t.typeColor(e),i=arguments.length,o=new Array(i>1?i-1:0),s=1;s<i;s++)o[s-1]=arguments[s];(n=console).info.apply(n,["%c[".concat(e,"][INFO]"),"color: ".concat(r,"; font-weight: bold;")].concat(o))}}},{key:"warn",value:function(e){var n;if(this.enabled&&(!(this.allowedTypes.size>0)||this.allowedTypes.has(e))){for(var r=t.typeColor(e,"warn"),i=arguments.length,o=new Array(i>1?i-1:0),s=1;s<i;s++)o[s-1]=arguments[s];(n=console).warn.apply(n,["%c[".concat(e,"][WARN]"),"color: ".concat(r,"; font-weight: bold;")].concat(o))}}},{key:"error",value:function(e){var n;if(this.enabled&&(!(this.allowedTypes.size>0)||this.allowedTypes.has(e))){for(var r=t.typeColor(e,"error"),i=arguments.length,o=new Array(i>1?i-1:0),s=1;s<i;s++)o[s-1]=arguments[s];(n=console).error.apply(n,["%c[".concat(e,"][ERROR]"),"color: ".concat(r,"; font-weight: bold;")].concat(o))}}}],r=[{key:"typeColor",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"info",n={background:"#0074D9",content:"#2ECC40",popup:"#FF851B",init:"#B10DC9",verification:"#FF4136",fetch:"#39CCCC",provider:"#FFDC00",claim:"#7FDBFF",proof:"#85144b",offscreen:"#AAAAAA",polyfills:"#0074D9","session-timer":"#2ECC40"},r=n[Object.keys(n).find(function(e){return t.toLowerCase().includes(e)})]||"#888888";return"info"!==e&&(r={info:"",warn:"#FFA500",error:"#FF0000"}[e]||r),r}}],n&&i(e.prototype,n),r&&i(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,r}()),c=(n(3859),n(5606));void 0!==c&&c.env?a.disable():a.enable()},3296:(t,e,n)=>{"use strict";n.r(e),n.d(e,{WebSocket:()=>f,default:()=>A});var r,i=n(3153);function o(t){return o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function s(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,l(r.key),r)}}function c(t,e,n){return e&&a(t.prototype,e),n&&a(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}function l(t){var e=function(t,e){if("object"!=o(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=o(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==o(e)?e:e+""}function u(t,e,n){return e=d(e),function(t,e){if(e&&("object"==o(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(t,h()?Reflect.construct(e,n||[],d(t).constructor):e.apply(t,n))}function h(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(h=function(){return!!t})()}function d(t){return d=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},d(t)}function p(t,e){return p=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},p(t,e)}(t=n.hmd(t),"undefined"==typeof window)?(r=function(){return c(function t(e,n){var r=this;s(this,t),i.w9.info(i.Ey.POLYFILLS,"[WEBSOCKET-POLYFILL] Creating mock WebSocket for background context"),this.url=e,this.protocols=n,this.readyState=3,setTimeout(function(){"function"==typeof r.onclose&&r.onclose({code:1e3,reason:"WebSockets not supported in background context"})},0)},[{key:"send",value:function(){throw i.w9.warn(i.Ey.POLYFILLS,"[WEBSOCKET-POLYFILL] Cannot use WebSockets in background context"),new Error("WebSockets are not available in background context")}},{key:"close",value:function(){}},{key:"sendPromise",value:function(){return Promise.reject(new Error("WebSockets are not available in background context"))}},{key:"addEventListener",value:function(){}},{key:"removeEventListener",value:function(){}}])}(),i.w9.info(i.Ey.POLYFILLS,"[WEBSOCKET-POLYFILL] Using mock WebSocket implementation for background context")):(r=function(t){function e(t,n){var r;return s(this,e),i.w9.info(i.Ey.POLYFILLS,"[WEBSOCKET-POLYFILL] Creating WebSocket with URL:",t),(r=u(this,e,[t,n])).addEventListener("error",function(t){"function"==typeof r.onerror&&r.onerror(t)}),r.addEventListener("open",function(t){"function"==typeof r.onopen&&r.onopen(t)}),r.addEventListener("close",function(t){"function"==typeof r.onclose&&r.onclose(t)}),r.addEventListener("message",function(t){"function"==typeof r.onmessage&&r.onmessage(t)}),r}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&p(t,e)}(e,t),c(e,[{key:"sendPromise",value:function(t){var e=this;return new Promise(function(n,r){try{e.send(t),n()}catch(t){r(t)}})}}])}(window.WebSocket),i.w9.info(i.Ey.POLYFILLS,"[WEBSOCKET-POLYFILL] Using browser WebSocket implementation"));var f=r;const A=r;t.exports&&(t.exports=r,t.exports.WebSocket=r,t.exports.default=r),i.w9.info(i.Ey.POLYFILLS,"[WEBSOCKET-POLYFILL] WebSocket polyfill initialized")},3349:t=>{function e(t,e){if(!t)throw new Error(e||"Assertion failed")}t.exports=e,e.equal=function(t,e,n){if(t!=e)throw new Error(n||"Assertion failed: "+t+" != "+e)}},3631:(t,e)=>{!function(t){"use strict";var e="__namespace",n=function(t){return t&&((n=t.nodeType)===e||Number.isInteger(n)&&n>=1&&n<=11)&&"string"==typeof t.nodeName;var n};var r=function(t,e){for(var n=0;n<e.length;n+=1)t(e[n],n,e)},i=function(t,e,n){var i=e;return r(function(e,n){i=t(i,e,n)},n),i},o=function(t,e){var n=new Array(e.length);return r(function(e,r){n[r]=t(e)},e),n},s=function(t,e){for(var n=0;n<t.length;n+=1)if(t[n]===e)return!0;return!1};function a(t){return t.toString()}var c=function(t,e){return e.join(t)},l=function(t,e,n){return t+n+e},u=Array.prototype.concat;function h(t,e){for(var n=Object(t),r=1;r<arguments.length;r++){var i=arguments[r];if(null!=i)for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(n[o]=i[o])}return n}var d=1,p=2,f=3,A=4,g=7,E=8,m=9,w=10,y=11,I=e;function C(){this.init()}function B(t){this.expression=t}function T(t,e,n){e in t||(t[e]=n)}function D(){}function b(t){arguments.length>0&&this.init(t)}function M(t){arguments.length>0&&this.init(t)}function N(t,e){arguments.length>0&&this.init(t,e)}function v(t,e){arguments.length>0&&this.init(t,e)}function S(t,e){arguments.length>0&&this.init(t,e)}function _(t,e){arguments.length>0&&this.init(t,e)}function L(t,e){arguments.length>0&&this.init(t,e)}function x(t,e){arguments.length>0&&this.init(t,e)}function R(t,e){arguments.length>0&&this.init(t,e)}function F(t,e){arguments.length>0&&this.init(t,e)}function O(t,e){arguments.length>0&&this.init(t,e)}function Q(t,e){arguments.length>0&&this.init(t,e)}function k(t,e){arguments.length>0&&this.init(t,e)}function U(t,e){arguments.length>0&&this.init(t,e)}function P(t,e){arguments.length>0&&this.init(t,e)}function G(t,e){arguments.length>0&&this.init(t,e)}function V(t,e){arguments.length>0&&this.init(t,e)}function H(t,e,n){arguments.length>0&&this.init(t,e,n)}function j(t){for(;t&&t.parentNode;)t=t.parentNode;return t}C.prototype=new Object,C.prototype.constructor=C,C.superclass=Object.prototype,C.prototype.init=function(){this.reduceActions=[],this.reduceActions[3]=function(t){return new v(t[0],t[2])},this.reduceActions[5]=function(t){return new S(t[0],t[2])},this.reduceActions[7]=function(t){return new _(t[0],t[2])},this.reduceActions[8]=function(t){return new L(t[0],t[2])},this.reduceActions[10]=function(t){return new x(t[0],t[2])},this.reduceActions[11]=function(t){return new R(t[0],t[2])},this.reduceActions[12]=function(t){return new F(t[0],t[2])},this.reduceActions[13]=function(t){return new O(t[0],t[2])},this.reduceActions[15]=function(t){return new Q(t[0],t[2])},this.reduceActions[16]=function(t){return new k(t[0],t[2])},this.reduceActions[18]=function(t){return new U(t[0],t[2])},this.reduceActions[19]=function(t){return new P(t[0],t[2])},this.reduceActions[20]=function(t){return new G(t[0],t[2])},this.reduceActions[22]=function(t){return new M(t[1])},this.reduceActions[24]=function(t){return new V(t[0],t[2])},this.reduceActions[25]=function(t){return new H(void 0,void 0,t[0])},this.reduceActions[27]=function(t){return t[0].locationPath=t[2],t[0]},this.reduceActions[28]=function(t){return t[0].locationPath=t[2],t[0].locationPath.steps.unshift(new K(K.DESCENDANTORSELF,Z.nodeTest,[])),t[0]},this.reduceActions[29]=function(t){return new H(t[0],[],void 0)},this.reduceActions[30]=function(t){return pt.instance_of(t[0],H)?(null==t[0].filterPredicates&&(t[0].filterPredicates=[]),t[0].filterPredicates.push(t[1]),t[0]):new H(t[0],[t[1]],void 0)},this.reduceActions[32]=function(t){return t[1]},this.reduceActions[33]=function(t){return new nt(t[0])},this.reduceActions[34]=function(t){return new rt(t[0])},this.reduceActions[36]=function(t){return new tt(t[0],[])},this.reduceActions[37]=function(t){return new tt(t[0],t[2])},this.reduceActions[38]=function(t){return[t[0]]},this.reduceActions[39]=function(t){return t[2].unshift(t[0]),t[2]},this.reduceActions[43]=function(t){return new q(!0,[])},this.reduceActions[44]=function(t){return t[1].absolute=!0,t[1]},this.reduceActions[46]=function(t){return new q(!1,[t[0]])},this.reduceActions[47]=function(t){return t[0].steps.push(t[2]),t[0]},this.reduceActions[49]=function(t){return new K(t[0],t[1],[])},this.reduceActions[50]=function(t){return new K(K.CHILD,t[0],[])},this.reduceActions[51]=function(t){return new K(t[0],t[1],t[2])},this.reduceActions[52]=function(t){return new K(K.CHILD,t[0],t[1])},this.reduceActions[54]=function(t){return[t[0]]},this.reduceActions[55]=function(t){return t[1].unshift(t[0]),t[1]},this.reduceActions[56]=function(t){return"ancestor"==t[0]?K.ANCESTOR:"ancestor-or-self"==t[0]?K.ANCESTORORSELF:"attribute"==t[0]?K.ATTRIBUTE:"child"==t[0]?K.CHILD:"descendant"==t[0]?K.DESCENDANT:"descendant-or-self"==t[0]?K.DESCENDANTORSELF:"following"==t[0]?K.FOLLOWING:"following-sibling"==t[0]?K.FOLLOWINGSIBLING:"namespace"==t[0]?K.NAMESPACE:"parent"==t[0]?K.PARENT:"preceding"==t[0]?K.PRECEDING:"preceding-sibling"==t[0]?K.PRECEDINGSIBLING:"self"==t[0]?K.SELF:-1},this.reduceActions[57]=function(t){return K.ATTRIBUTE},this.reduceActions[59]=function(t){return"comment"==t[0]?Z.commentTest:"text"==t[0]?Z.textTest:"processing-instruction"==t[0]?Z.anyPiTest:"node"==t[0]?Z.nodeTest:new Z(-1,void 0)},this.reduceActions[60]=function(t){return new Z.PITest(t[2])},this.reduceActions[61]=function(t){return t[1]},this.reduceActions[63]=function(t){return t[1].absolute=!0,t[1].steps.unshift(new K(K.DESCENDANTORSELF,Z.nodeTest,[])),t[1]},this.reduceActions[64]=function(t){return t[0].steps.push(new K(K.DESCENDANTORSELF,Z.nodeTest,[])),t[0].steps.push(t[2]),t[0]},this.reduceActions[65]=function(t){return new K(K.SELF,Z.nodeTest,[])},this.reduceActions[66]=function(t){return new K(K.PARENT,Z.nodeTest,[])},this.reduceActions[67]=function(t){return new $(t[1])},this.reduceActions[68]=function(t){return Z.nameTestAny},this.reduceActions[69]=function(t){return new Z.NameTestPrefixAny(t[0].split(":")[0])},this.reduceActions[70]=function(t){return new Z.NameTestQName(t[0])}},C.actionTable=[" s s sssssssss s ss s ss"," s ","r rrrrrrrrr rrrrrrr rr r "," rrrrr "," s s sssssssss s ss s ss","rs rrrrrrrr s sssssrrrrrr rrs rs "," s s sssssssss s ss s ss"," s "," s ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s "," s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr r ","a ","r s rr r ","r sr rr r ","r s rr s rr r ","r rssrr rss rr r ","r rrrrr rrrss rr r ","r rrrrrsss rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrrs rr r ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrr rrrrrr rr r ","r srrrrrrrr rrrrrrs rr sr ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrr rrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r "," sssss ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrr rrrrr rr r "," s "," s "," rrrrr "," s s sssssssss s sss s ss","r srrrrrrrr rrrrrrs rr r "," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss s ss s ss"," s s sssssssss ss s ss"," s s sssssssss s ss s ss"," s s sssss s s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr rr "," s s sssss s s "," s s sssss s s ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr sr ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr "," s ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," rr "," s "," rs ","r sr rr r ","r s rr s rr r ","r rssrr rss rr r ","r rssrr rss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrr rrrss rr r ","r rrrrrsss rrrrr rr r ","r rrrrrsss rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrr rr r ","r rrrrrrrr rrrrrr rr r "," r "," s ","r srrrrrrrr rrrrrrs rr r ","r srrrrrrrr rrrrrrs rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr r ","r rrrrrrrrr rrrrrrr rr rr ","r rrrrrrrrr rrrrrrr rr rr "," s s sssssssss s ss s ss","r rrrrrrrrr rrrrrrr rr rr "," r "],C.actionTableNumber=[" 1 0 /.-,+*)(' & %$ # \"!"," J ","a aaaaaaaaa aaaaaaa aa a "," YYYYY "," 1 0 /.-,+*)(' & %$ # \"!","K1 KKKKKKKK . +*)('KKKKKK KK# K\" "," 1 0 /.-,+*)(' & %$ # \"!"," N "," O ","e eeeeeeeee eeeeeee ee ee ","f fffffffff fffffff ff ff ","d ddddddddd ddddddd dd dd ","B BBBBBBBBB BBBBBBB BB BB ","A AAAAAAAAA AAAAAAA AA AA "," P "," Q "," 1 . +*)(' # \" ","b bbbbbbbbb bbbbbbb bb b "," ","! S !! ! ",'" T" "" " ',"$ V $$ U $$ $ ","& &ZY&& &XW && & ",") ))))) )))\\[ )) ) ",". ....._^] ..... .. . ","1 11111111 11111 11 1 ","5 55555555 55555` 55 5 ","7 77777777 777777 77 7 ","9 99999999 999999 99 9 ",": c:::::::: ::::::b :: a: ","I fIIIIIIII IIIIIIe II I ","= ========= ======= == == ","? ????????? ??????? ?? ?? ","C CCCCCCCCC CCCCCCC CC CC ","J JJJJJJJJ JJJJJJ JJ J ","M MMMMMMMM MMMMMM MM M ","N NNNNNNNNN NNNNNNN NN N ","P PPPPPPPPP PPPPPPP PP P "," +*)(' ","R RRRRRRRRR RRRRRRR RR aR ","U UUUUUUUUU UUUUUUU UU U ","Z ZZZZZZZZZ ZZZZZZZ ZZ ZZ ","c ccccccccc ccccccc cc cc "," j ","L fLLLLLLLL LLLLLLe LL L ","6 66666666 66666 66 6 "," k "," l "," XXXXX "," 1 0 /.-,+*)(' & %$m # \"!","_ f________ ______e __ _ "," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 0 /.-,+*)(' %$ # \"!"," 1 0 /.-,+*)(' & %$ # \"!"," 1 . +*)(' # \" "," 1 . +*)(' # \" ","> >>>>>>>>> >>>>>>> >> >> "," 1 . +*)(' # \" "," 1 . +*)(' # \" ","Q QQQQQQQQQ QQQQQQQ QQ aQ ","V VVVVVVVVV VVVVVVV VV aV ","T TTTTTTTTT TTTTTTT TT T ","@ @@@@@@@@@ @@@@@@@ @@ @@ "," ‡ ","[ [[[[[[[[[ [[[[[[[ [[ [[ ","D DDDDDDDDD DDDDDDD DD DD "," HH "," ˆ "," F‰ ","# T# ## # ","% V %% U %% % ","' 'ZY'' 'XW '' ' ","( (ZY(( (XW (( ( ","+ +++++ +++\\[ ++ + ","* ***** ***\\[ ** * ","- ----- ---\\[ -- - ",", ,,,,, ,,,\\[ ,, , ","0 00000_^] 00000 00 0 ","/ /////_^] ///// // / ","2 22222222 22222 22 2 ","3 33333333 33333 33 3 ","4 44444444 44444 44 4 ","8 88888888 888888 88 8 "," ^ "," Š ","; f;;;;;;;; ;;;;;;e ;; ; ","< f<<<<<<<< <<<<<<e << < ","O OOOOOOOOO OOOOOOO OO O ","` ````````` ``````` `` ` ","S SSSSSSSSS SSSSSSS SS S ","W WWWWWWWWW WWWWWWW WW W ","\\ \\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\ \\\\ \\\\ ","E EEEEEEEEE EEEEEEE EE EE "," 1 0 /.-,+*)(' & %$ # \"!","] ]]]]]]]]] ]]]]]]] ]] ]] "," G "],C.gotoTable=["3456789:;<=>?@ AB CDEFGH IJ "," "," "," ","L456789:;<=>?@ AB CDEFGH IJ "," M EFGH IJ "," N;<=>?@ AB CDEFGH IJ "," "," "," "," "," "," "," "," "," "," S EFGH IJ "," "," "," "," "," "," "," "," "," "," "," "," "," e "," "," "," "," "," "," "," "," "," h J "," i j "," "," "," "," "," "," "," "," "," ","o456789:;<=>?@ ABpqCDEFGH IJ "," "," r6789:;<=>?@ AB CDEFGH IJ "," s789:;<=>?@ AB CDEFGH IJ "," t89:;<=>?@ AB CDEFGH IJ "," u89:;<=>?@ AB CDEFGH IJ "," v9:;<=>?@ AB CDEFGH IJ "," w9:;<=>?@ AB CDEFGH IJ "," x9:;<=>?@ AB CDEFGH IJ "," y9:;<=>?@ AB CDEFGH IJ "," z:;<=>?@ AB CDEFGH IJ "," {:;<=>?@ AB CDEFGH IJ "," |;<=>?@ AB CDEFGH IJ "," };<=>?@ AB CDEFGH IJ "," ~;<=>?@ AB CDEFGH IJ "," =>?@ AB CDEFGH IJ ","€456789:;<=>?@ AB CDEFGH IJ"," ‚ EFGH IJ "," ƒ EFGH IJ "," "," „ GH IJ "," … GH IJ "," i † "," i ‡ "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," "," ","o456789:;<=>?@ ABŒqCDEFGH IJ "," "," "],C.productions=[[1,1,2],[2,1,3],[3,1,4],[3,3,3,-9,4],[4,1,5],[4,3,4,-8,5],[5,1,6],[5,3,5,-22,6],[5,3,5,-5,6],[6,1,7],[6,3,6,-23,7],[6,3,6,-24,7],[6,3,6,-6,7],[6,3,6,-7,7],[7,1,8],[7,3,7,-25,8],[7,3,7,-26,8],[8,1,9],[8,3,8,-12,9],[8,3,8,-11,9],[8,3,8,-10,9],[9,1,10],[9,2,-26,9],[10,1,11],[10,3,10,-27,11],[11,1,12],[11,1,13],[11,3,13,-28,14],[11,3,13,-4,14],[13,1,15],[13,2,13,16],[15,1,17],[15,3,-29,2,-30],[15,1,-15],[15,1,-16],[15,1,18],[18,3,-13,-29,-30],[18,4,-13,-29,19,-30],[19,1,20],[19,3,20,-31,19],[20,1,2],[12,1,14],[12,1,21],[21,1,-28],[21,2,-28,14],[21,1,22],[14,1,23],[14,3,14,-28,23],[14,1,24],[23,2,25,26],[23,1,26],[23,3,25,26,27],[23,2,26,27],[23,1,28],[27,1,16],[27,2,16,27],[25,2,-14,-3],[25,1,-32],[26,1,29],[26,3,-20,-29,-30],[26,4,-21,-29,-15,-30],[16,3,-33,30,-34],[30,1,2],[22,2,-4,14],[24,3,14,-4,23],[28,1,-35],[28,1,-2],[17,2,-36,-18],[29,1,-17],[29,1,-19],[29,1,-18]],C.DOUBLEDOT=2,C.DOUBLECOLON=3,C.DOUBLESLASH=4,C.NOTEQUAL=5,C.LESSTHANOREQUAL=6,C.GREATERTHANOREQUAL=7,C.AND=8,C.OR=9,C.MOD=10,C.DIV=11,C.MULTIPLYOPERATOR=12,C.FUNCTIONNAME=13,C.AXISNAME=14,C.LITERAL=15,C.NUMBER=16,C.ASTERISKNAMETEST=17,C.QNAME=18,C.NCNAMECOLONASTERISK=19,C.NODETYPE=20,C.PROCESSINGINSTRUCTIONWITHLITERAL=21,C.EQUALS=22,C.LESSTHAN=23,C.GREATERTHAN=24,C.PLUS=25,C.MINUS=26,C.BAR=27,C.SLASH=28,C.LEFTPARENTHESIS=29,C.RIGHTPARENTHESIS=30,C.COMMA=31,C.AT=32,C.LEFTBRACKET=33,C.RIGHTBRACKET=34,C.DOT=35,C.DOLLAR=36,C.prototype.tokenize=function(t){for(var e=[],n=[],r=t+"\0",i=0,o=r.charAt(i++);;){for(;" "==o||"\t"==o||"\r"==o||"\n"==o;)o=r.charAt(i++);if("\0"==o||i>=r.length)break;if("("!=o)if(")"!=o)if("["!=o)if("]"!=o)if("@"!=o)if(","!=o)if("|"!=o)if("+"!=o)if("-"!=o)if("="!=o)if("$"!=o)if("."!=o)if("'"!=o&&'"'!=o)if(o>="0"&&o<="9"){u=o;for(o=r.charAt(i++);o>="0"&&o<="9";)u+=o,o=r.charAt(i++);if("."==o&&r.charAt(i)>="0"&&r.charAt(i)<="9")for(u+=o,u+=r.charAt(i++),o=r.charAt(i++);o>="0"&&o<="9";)u+=o,o=r.charAt(i++);e.push(C.NUMBER),n.push(u)}else if("*"!=o)if(":"!=o||":"!=r.charAt(i))if("/"!=o)if("!"!=o||"="!=r.charAt(i))if("<"!=o)if(">"!=o){if("_"!=o&&!pt.isLetter(o.charCodeAt(0)))throw new Error("Unexpected character "+o);var s=o;for(o=r.charAt(i++);pt.isNCNameChar(o.charCodeAt(0));)s+=o,o=r.charAt(i++);if(e.length>0&&(a=e[e.length-1])!=C.AT&&a!=C.DOUBLECOLON&&a!=C.LEFTPARENTHESIS&&a!=C.LEFTBRACKET&&a!=C.AND&&a!=C.OR&&a!=C.MOD&&a!=C.DIV&&a!=C.MULTIPLYOPERATOR&&a!=C.SLASH&&a!=C.DOUBLESLASH&&a!=C.BAR&&a!=C.PLUS&&a!=C.MINUS&&a!=C.EQUALS&&a!=C.NOTEQUAL&&a!=C.LESSTHAN&&a!=C.LESSTHANOREQUAL&&a!=C.GREATERTHAN&&a!=C.GREATERTHANOREQUAL){if("and"==s){e.push(C.AND),n.push(s);continue}if("or"==s){e.push(C.OR),n.push(s);continue}if("mod"==s){e.push(C.MOD),n.push(s);continue}if("div"==s){e.push(C.DIV),n.push(s);continue}}if(":"==o){if("*"==r.charAt(i)){e.push(C.NCNAMECOLONASTERISK),n.push(s+":*"),i++,o=r.charAt(i++);continue}if("_"==r.charAt(i)||pt.isLetter(r.charCodeAt(i))){for(s+=":",o=r.charAt(i++);pt.isNCNameChar(o.charCodeAt(0));)s+=o,o=r.charAt(i++);if("("==o){e.push(C.FUNCTIONNAME),n.push(s);continue}e.push(C.QNAME),n.push(s);continue}if(":"==r.charAt(i)){e.push(C.AXISNAME),n.push(s);continue}}if("("==o){if("comment"==s||"text"==s||"node"==s){e.push(C.NODETYPE),n.push(s);continue}if("processing-instruction"==s){")"==r.charAt(i)?e.push(C.NODETYPE):e.push(C.PROCESSINGINSTRUCTIONWITHLITERAL),n.push(s);continue}e.push(C.FUNCTIONNAME),n.push(s);continue}e.push(C.QNAME),n.push(s)}else{if("="==r.charAt(i)){e.push(C.GREATERTHANOREQUAL),n.push(">="),i++,o=r.charAt(i++);continue}e.push(C.GREATERTHAN),n.push(">"),o=r.charAt(i++)}else{if("="==r.charAt(i)){e.push(C.LESSTHANOREQUAL),n.push("<="),i++,o=r.charAt(i++);continue}e.push(C.LESSTHAN),n.push("<"),o=r.charAt(i++)}else e.push(C.NOTEQUAL),n.push("!="),i++,o=r.charAt(i++);else{if("/"==(o=r.charAt(i++))){e.push(C.DOUBLESLASH),n.push("//"),o=r.charAt(i++);continue}e.push(C.SLASH),n.push("/")}else e.push(C.DOUBLECOLON),n.push("::"),i++,o=r.charAt(i++);else{var a;if(e.length>0&&(a=e[e.length-1])!=C.AT&&a!=C.DOUBLECOLON&&a!=C.LEFTPARENTHESIS&&a!=C.LEFTBRACKET&&a!=C.AND&&a!=C.OR&&a!=C.MOD&&a!=C.DIV&&a!=C.MULTIPLYOPERATOR&&a!=C.SLASH&&a!=C.DOUBLESLASH&&a!=C.BAR&&a!=C.PLUS&&a!=C.MINUS&&a!=C.EQUALS&&a!=C.NOTEQUAL&&a!=C.LESSTHAN&&a!=C.LESSTHANOREQUAL&&a!=C.GREATERTHAN&&a!=C.GREATERTHANOREQUAL){e.push(C.MULTIPLYOPERATOR),n.push(o),o=r.charAt(i++);continue}e.push(C.ASTERISKNAMETEST),n.push(o),o=r.charAt(i++)}else{for(var c=o,l="";i<r.length&&(o=r.charAt(i))!==c;)l+=o,i+=1;if(o!==c)throw At.fromMessage("Unterminated string literal: "+c+l);i+=1,e.push(C.LITERAL),n.push(l),o=r.charAt(i++)}else{if("."==(o=r.charAt(i++))){e.push(C.DOUBLEDOT),n.push(".."),o=r.charAt(i++);continue}if(o>="0"&&o<="9"){var u="."+o;for(o=r.charAt(i++);o>="0"&&o<="9";)u+=o,o=r.charAt(i++);e.push(C.NUMBER),n.push(u);continue}e.push(C.DOT),n.push(".")}else e.push(C.DOLLAR),n.push(o),o=r.charAt(i++);else e.push(C.EQUALS),n.push(o),o=r.charAt(i++);else e.push(C.MINUS),n.push(o),o=r.charAt(i++);else e.push(C.PLUS),n.push(o),o=r.charAt(i++);else e.push(C.BAR),n.push(o),o=r.charAt(i++);else e.push(C.COMMA),n.push(o),o=r.charAt(i++);else e.push(C.AT),n.push(o),o=r.charAt(i++);else e.push(C.RIGHTBRACKET),n.push(o),o=r.charAt(i++);else e.push(C.LEFTBRACKET),n.push(o),o=r.charAt(i++);else e.push(C.RIGHTPARENTHESIS),n.push(o),o=r.charAt(i++);else e.push(C.LEFTPARENTHESIS),n.push(o),o=r.charAt(i++)}return e.push(1),n.push("[EOF]"),[e,n]},C.SHIFT="s",C.REDUCE="r",C.ACCEPT="a",C.prototype.parse=function(t){if(!t)throw new Error("XPath expression unspecified.");if("string"!=typeof t)throw new Error("XPath expression must be a string.");var e,n,r=this.tokenize(t);if(null!=r){e=r[0],n=r[1];var i,o,s=0,a=[],c=[],l=[];for(a.push(0),c.push(1),l.push("_S"),i=e[s],o=n[s++];;)switch(t=a[a.length-1],C.actionTable[t].charAt(i-1)){case C.SHIFT:c.push(-i),l.push(o),a.push(C.actionTableNumber[t].charCodeAt(i-1)-32),i=e[s],o=n[s++];break;case C.REDUCE:for(var u=C.productions[C.actionTableNumber[t].charCodeAt(i-1)-32][1],h=[],d=0;d<u;d++)c.pop(),h.unshift(l.pop()),a.pop();var p=a[a.length-1];c.push(C.productions[C.actionTableNumber[t].charCodeAt(i-1)-32][0]),null==this.reduceActions[C.actionTableNumber[t].charCodeAt(i-1)-32]?l.push(h[0]):l.push(this.reduceActions[C.actionTableNumber[t].charCodeAt(i-1)-32](h)),a.push(C.gotoTable[p].charCodeAt(C.productions[C.actionTableNumber[t].charCodeAt(i-1)-32][0]-2)-33);break;case C.ACCEPT:return new B(l.pop());default:throw new Error("XPath parse error")}}},B.prototype=new Object,B.prototype.constructor=B,B.superclass=Object.prototype,B.prototype.toString=function(){return this.expression.toString()},B.prototype.evaluate=function(t){var e=t.expressionContextNode;if(null!=e&&!n(e))throw new Error("Context node does not appear to be a valid DOM node.");return t.contextNode=t.expressionContextNode,t.contextSize=1,t.contextPosition=1,t.isHtml&&(T(t,"caseInsensitive",!0),T(t,"allowAnyNamespaceForNoPrefix",!0)),T(t,"caseInsensitive",!1),this.expression.evaluate(t)},B.XML_NAMESPACE_URI="http://www.w3.org/XML/1998/namespace",B.XMLNS_NAMESPACE_URI="http://www.w3.org/2000/xmlns/",D.prototype=new Object,D.prototype.constructor=D,D.superclass=Object.prototype,D.prototype.init=function(){},D.prototype.toString=function(){return"<Expression>"},D.prototype.evaluate=function(t){throw new Error("Could not evaluate expression.")},b.prototype=new D,b.prototype.constructor=b,b.superclass=D.prototype,b.prototype.init=function(t){this.rhs=t},M.prototype=new b,M.prototype.constructor=M,M.superclass=b.prototype,M.prototype.init=function(t){M.superclass.init.call(this,t)},M.prototype.evaluate=function(t){return this.rhs.evaluate(t).number().negate()},M.prototype.toString=function(){return"-"+this.rhs.toString()},N.prototype=new D,N.prototype.constructor=N,N.superclass=D.prototype,N.prototype.init=function(t,e){this.lhs=t,this.rhs=e},v.prototype=new N,v.prototype.constructor=v,v.superclass=N.prototype,v.prototype.init=function(t,e){v.superclass.init.call(this,t,e)},v.prototype.toString=function(){return"("+this.lhs.toString()+" or "+this.rhs.toString()+")"},v.prototype.evaluate=function(t){var e=this.lhs.evaluate(t).bool();return e.booleanValue()?e:this.rhs.evaluate(t).bool()},S.prototype=new N,S.prototype.constructor=S,S.superclass=N.prototype,S.prototype.init=function(t,e){S.superclass.init.call(this,t,e)},S.prototype.toString=function(){return"("+this.lhs.toString()+" and "+this.rhs.toString()+")"},S.prototype.evaluate=function(t){var e=this.lhs.evaluate(t).bool();return e.booleanValue()?this.rhs.evaluate(t).bool():e},_.prototype=new N,_.prototype.constructor=_,_.superclass=N.prototype,_.prototype.init=function(t,e){_.superclass.init.call(this,t,e)},_.prototype.toString=function(){return"("+this.lhs.toString()+" = "+this.rhs.toString()+")"},_.prototype.evaluate=function(t){return this.lhs.evaluate(t).equals(this.rhs.evaluate(t))},L.prototype=new N,L.prototype.constructor=L,L.superclass=N.prototype,L.prototype.init=function(t,e){L.superclass.init.call(this,t,e)},L.prototype.toString=function(){return"("+this.lhs.toString()+" != "+this.rhs.toString()+")"},L.prototype.evaluate=function(t){return this.lhs.evaluate(t).notequal(this.rhs.evaluate(t))},x.prototype=new N,x.prototype.constructor=x,x.superclass=N.prototype,x.prototype.init=function(t,e){x.superclass.init.call(this,t,e)},x.prototype.evaluate=function(t){return this.lhs.evaluate(t).lessthan(this.rhs.evaluate(t))},x.prototype.toString=function(){return"("+this.lhs.toString()+" < "+this.rhs.toString()+")"},R.prototype=new N,R.prototype.constructor=R,R.superclass=N.prototype,R.prototype.init=function(t,e){R.superclass.init.call(this,t,e)},R.prototype.evaluate=function(t){return this.lhs.evaluate(t).greaterthan(this.rhs.evaluate(t))},R.prototype.toString=function(){return"("+this.lhs.toString()+" > "+this.rhs.toString()+")"},F.prototype=new N,F.prototype.constructor=F,F.superclass=N.prototype,F.prototype.init=function(t,e){F.superclass.init.call(this,t,e)},F.prototype.evaluate=function(t){return this.lhs.evaluate(t).lessthanorequal(this.rhs.evaluate(t))},F.prototype.toString=function(){return"("+this.lhs.toString()+" <= "+this.rhs.toString()+")"},O.prototype=new N,O.prototype.constructor=O,O.superclass=N.prototype,O.prototype.init=function(t,e){O.superclass.init.call(this,t,e)},O.prototype.evaluate=function(t){return this.lhs.evaluate(t).greaterthanorequal(this.rhs.evaluate(t))},O.prototype.toString=function(){return"("+this.lhs.toString()+" >= "+this.rhs.toString()+")"},Q.prototype=new N,Q.prototype.constructor=Q,Q.superclass=N.prototype,Q.prototype.init=function(t,e){Q.superclass.init.call(this,t,e)},Q.prototype.evaluate=function(t){return this.lhs.evaluate(t).number().plus(this.rhs.evaluate(t).number())},Q.prototype.toString=function(){return"("+this.lhs.toString()+" + "+this.rhs.toString()+")"},k.prototype=new N,k.prototype.constructor=k,k.superclass=N.prototype,k.prototype.init=function(t,e){k.superclass.init.call(this,t,e)},k.prototype.evaluate=function(t){return this.lhs.evaluate(t).number().minus(this.rhs.evaluate(t).number())},k.prototype.toString=function(){return"("+this.lhs.toString()+" - "+this.rhs.toString()+")"},U.prototype=new N,U.prototype.constructor=U,U.superclass=N.prototype,U.prototype.init=function(t,e){U.superclass.init.call(this,t,e)},U.prototype.evaluate=function(t){return this.lhs.evaluate(t).number().multiply(this.rhs.evaluate(t).number())},U.prototype.toString=function(){return"("+this.lhs.toString()+" * "+this.rhs.toString()+")"},P.prototype=new N,P.prototype.constructor=P,P.superclass=N.prototype,P.prototype.init=function(t,e){P.superclass.init.call(this,t,e)},P.prototype.evaluate=function(t){return this.lhs.evaluate(t).number().div(this.rhs.evaluate(t).number())},P.prototype.toString=function(){return"("+this.lhs.toString()+" div "+this.rhs.toString()+")"},G.prototype=new N,G.prototype.constructor=G,G.superclass=N.prototype,G.prototype.init=function(t,e){G.superclass.init.call(this,t,e)},G.prototype.evaluate=function(t){return this.lhs.evaluate(t).number().mod(this.rhs.evaluate(t).number())},G.prototype.toString=function(){return"("+this.lhs.toString()+" mod "+this.rhs.toString()+")"},V.prototype=new N,V.prototype.constructor=V,V.superclass=N.prototype,V.prototype.init=function(t,e){V.superclass.init.call(this,t,e)},V.prototype.evaluate=function(t){return this.lhs.evaluate(t).nodeset().union(this.rhs.evaluate(t).nodeset())},V.prototype.toString=function(){return o(a,[this.lhs,this.rhs]).join(" | ")},H.prototype=new D,H.prototype.constructor=H,H.superclass=D.prototype,H.prototype.init=function(t,e,n){H.superclass.init.call(this),this.filter=t,this.filterPredicates=e,this.locationPath=n};var Y=function(t,e,n,o){if(0===t.length)return n;var s=e.extend({});return i(function(t,e){return s.contextSize=t.length,n=function(t,n){return s.contextNode=t,s.contextPosition=n+1,H.predicateMatches(e,s)},i=[],r(function(t,e){n(t,e)&&i.push(t)},t),i;var n,i},function(t,e){var n=new st;n.addArray(t);var r=n.toArray();return e?r.reverse():r}(n,o),t)};H.getRoot=function(t,e){var n=e[0];if(n&&n.nodeType===m)return n;if(t.virtualRoot)return t.virtualRoot;if(!n)throw new Error("Context node not found when determining document root.");var r=n.ownerDocument;if(r)return r;for(var i=n;null!=i.parentNode;)i=i.parentNode;return i};var z=function(t){var e=String(t.name);return"xmlns"===e?"":"xmlns:"===e.substring(0,6)?e.substring(6,e.length):null};function J(t,e,n){return Y(t.predicates,e,H.applyStep(t,e,n),s(X,t.axis))}function W(t,e,n){return function(t){for(var e=[],n=0;n<t.length;n+=32767){var r=t.slice(n,n+32767);e=u.apply(e,r)}return e}(o(J.bind(null,n,t),e))}function q(t,e){arguments.length>0&&this.init(t,e)}function K(t,e,n){arguments.length>0&&this.init(t,e,n)}H.applyStep=function(t,e,n){if(!n)throw new Error("Context node not found when evaluating XPath step: "+t);var r=[];switch(e.contextNode=n,t.axis){case K.ANCESTOR:if(e.contextNode===e.virtualRoot)break;for(i=e.contextNode.nodeType==p?H.getOwnerElement(e.contextNode):e.contextNode.parentNode;null!=i&&(t.nodeTest.matches(i,e)&&r.push(i),i!==e.virtualRoot);)i=i.parentNode;break;case K.ANCESTORORSELF:for(var i=e.contextNode;null!=i&&(t.nodeTest.matches(i,e)&&r.push(i),i!==e.virtualRoot);i=i.nodeType==p?H.getOwnerElement(i):i.parentNode);break;case K.ATTRIBUTE:var o=e.contextNode.attributes;if(null!=o)for(var s=0;s<o.length;s++){i=o.item(s);t.nodeTest.matches(i,e)&&r.push(i)}break;case K.CHILD:for(i=e.contextNode.firstChild;null!=i;i=i.nextSibling)t.nodeTest.matches(i,e)&&r.push(i);break;case K.DESCENDANT:for(var a=[e.contextNode.firstChild];a.length>0;)for(i=a.pop();null!=i;)t.nodeTest.matches(i,e)&&r.push(i),null!=i.firstChild?(a.push(i.nextSibling),i=i.firstChild):i=i.nextSibling;break;case K.DESCENDANTORSELF:t.nodeTest.matches(e.contextNode,e)&&r.push(e.contextNode);for(a=[e.contextNode.firstChild];a.length>0;)for(i=a.pop();null!=i;)t.nodeTest.matches(i,e)&&r.push(i),null!=i.firstChild?(a.push(i.nextSibling),i=i.firstChild):i=i.nextSibling;break;case K.FOLLOWING:if(e.contextNode===e.virtualRoot)break;a=[];null!=e.contextNode.firstChild?a.unshift(e.contextNode.firstChild):a.unshift(e.contextNode.nextSibling);for(i=e.contextNode.parentNode;null!=i&&i.nodeType!=m&&i!==e.virtualRoot;i=i.parentNode)a.unshift(i.nextSibling);do{for(i=a.pop();null!=i;)t.nodeTest.matches(i,e)&&r.push(i),null!=i.firstChild?(a.push(i.nextSibling),i=i.firstChild):i=i.nextSibling}while(a.length>0);break;case K.FOLLOWINGSIBLING:if(e.contextNode===e.virtualRoot)break;for(i=e.contextNode.nextSibling;null!=i;i=i.nextSibling)t.nodeTest.matches(i,e)&&r.push(i);break;case K.NAMESPACE:var c={};if(e.contextNode.nodeType==d){c.xml=new at("xml",null,B.XML_NAMESPACE_URI,e.contextNode);for(i=e.contextNode;null!=i&&i.nodeType==d;i=i.parentNode)for(s=0;s<i.attributes.length;s++){var l=i.attributes.item(s);null!=(u=z(l))&&null==c[u]&&(c[u]=new at(u,l,l.value,e.contextNode))}for(var u in c){n=c[u];t.nodeTest.matches(n,e)&&r.push(n)}}break;case K.PARENT:i=null,e.contextNode!==e.virtualRoot&&(i=e.contextNode.nodeType==p?H.getOwnerElement(e.contextNode):e.contextNode.parentNode),null!=i&&t.nodeTest.matches(i,e)&&r.push(i);break;case K.PRECEDING:a=null!=e.virtualRoot?[e.virtualRoot]:[j(e.contextNode)];t:for(;a.length>0;)for(i=a.pop();null!=i;){if(i==e.contextNode)break t;t.nodeTest.matches(i,e)&&r.unshift(i),null!=i.firstChild?(a.push(i.nextSibling),i=i.firstChild):i=i.nextSibling}break;case K.PRECEDINGSIBLING:if(e.contextNode===e.virtualRoot)break;for(i=e.contextNode.previousSibling;null!=i;i=i.previousSibling)t.nodeTest.matches(i,e)&&r.push(i);break;case K.SELF:t.nodeTest.matches(e.contextNode,e)&&r.push(e.contextNode)}return r},H.applySteps=function(t,e,n){return i(W.bind(null,e),n,t)},H.prototype.applyFilter=function(t,e){if(!this.filter)return{nodes:[t.contextNode]};var n=this.filter.evaluate(t);if(!pt.instance_of(n,st)){if(null!=this.filterPredicates&&this.filterPredicates.length>0||null!=this.locationPath)throw new Error("Path expression filter must evaluate to a nodeset if predicates or location path are used");return{nonNodes:n}}return{nodes:Y(this.filterPredicates||[],e,n.toUnsortedArray(),!1)}},H.applyLocationPath=function(t,e,n){if(!t)return n;var r=t.absolute?[H.getRoot(e,n)]:n;return H.applySteps(t.steps,e,r)},H.prototype.evaluate=function(t){var e=h(new ct,t),n=this.applyFilter(t,e);if("nonNodes"in n)return n.nonNodes;var r=new st;return r.addArray(H.applyLocationPath(this.locationPath,e,n.nodes)),r},H.predicateMatches=function(t,e){var n=t.evaluate(e);return pt.instance_of(n,rt)?e.contextPosition===n.numberValue():n.booleanValue()},H.predicateString=function(t){return l("[","]",t.toString())},H.predicatesString=function(t){return c("",o(H.predicateString,t))},H.prototype.toString=function(){if(null!=this.filter){var t=a(this.filter);return pt.instance_of(this.filter,nt)?l("'","'",t):null!=this.filterPredicates&&this.filterPredicates.length?l("(",")",t)+H.predicatesString(this.filterPredicates):null!=this.locationPath?t+(this.locationPath.absolute?"":"/")+a(this.locationPath):t}return a(this.locationPath)},H.getOwnerElement=function(t){if(t.ownerElement)return t.ownerElement;try{if(t.selectSingleNode)return t.selectSingleNode("..")}catch(t){}for(var e=(t.nodeType==m?t:t.ownerDocument).getElementsByTagName("*"),n=0;n<e.length;n++)for(var r=e.item(n),i=r.attributes,o=0;o<i.length;o++){if(i.item(o)===t)return r}return null},q.prototype=new Object,q.prototype.constructor=q,q.superclass=Object.prototype,q.prototype.init=function(t,e){this.absolute=t,this.steps=e},q.prototype.toString=function(){return(this.absolute?"/":"")+o(a,this.steps).join("/")},K.prototype=new Object,K.prototype.constructor=K,K.superclass=Object.prototype,K.prototype.init=function(t,e,n){this.axis=t,this.nodeTest=e,this.predicates=n},K.prototype.toString=function(){return K.STEPNAMES[this.axis]+"::"+this.nodeTest.toString()+H.predicatesString(this.predicates)},K.ANCESTOR=0,K.ANCESTORORSELF=1,K.ATTRIBUTE=2,K.CHILD=3,K.DESCENDANT=4,K.DESCENDANTORSELF=5,K.FOLLOWING=6,K.FOLLOWINGSIBLING=7,K.NAMESPACE=8,K.PARENT=9,K.PRECEDING=10,K.PRECEDINGSIBLING=11,K.SELF=12,K.STEPNAMES=i(function(t,e){return t[e[0]]=e[1],t},{},[[K.ANCESTOR,"ancestor"],[K.ANCESTORORSELF,"ancestor-or-self"],[K.ATTRIBUTE,"attribute"],[K.CHILD,"child"],[K.DESCENDANT,"descendant"],[K.DESCENDANTORSELF,"descendant-or-self"],[K.FOLLOWING,"following"],[K.FOLLOWINGSIBLING,"following-sibling"],[K.NAMESPACE,"namespace"],[K.PARENT,"parent"],[K.PRECEDING,"preceding"],[K.PRECEDINGSIBLING,"preceding-sibling"],[K.SELF,"self"]]);var X=[K.ANCESTOR,K.ANCESTORORSELF,K.PARENT,K.PRECEDING,K.PRECEDINGSIBLING];function Z(t,e){arguments.length>0&&this.init(t,e)}function $(t){arguments.length>0&&this.init(t)}function tt(t,e){arguments.length>0&&this.init(t,e)}Z.prototype=new Object,Z.prototype.constructor=Z,Z.superclass=Object.prototype,Z.prototype.init=function(t,e){this.type=t,this.value=e},Z.prototype.toString=function(){return"<unknown nodetest type>"},Z.prototype.matches=function(t,e){console.warn("unknown node test type")},Z.NAMETESTANY=0,Z.NAMETESTPREFIXANY=1,Z.NAMETESTQNAME=2,Z.COMMENT=3,Z.TEXT=4,Z.PI=5,Z.NODE=6,Z.isNodeType=function(t){return function(e){return s(t,e.nodeType)}},Z.makeNodeTestType=function(t,e,n){var r=n||function(){};return r.prototype=new Z(t),r.prototype.constructor=r,h(r.prototype,e),r},Z.makeNodeTypeTest=function(t,e,n){return new(Z.makeNodeTestType(t,{matches:Z.isNodeType(e),toString:(r=n,function(){return r})}));var r},Z.hasPrefix=function(t){return t.prefix||-1!==(t.nodeName||t.tagName).indexOf(":")},Z.isElementOrAttribute=Z.isNodeType([1,2]),Z.nameSpaceMatches=function(t,e,n){var r=n.namespaceURI||"";if(!t)return!r||e.allowAnyNamespaceForNoPrefix&&!Z.hasPrefix(n);var i=e.namespaceResolver.getNamespace(t,e.expressionContextNode);if(null==i)throw new Error("Cannot resolve QName "+t);return i===r},Z.localNameMatches=function(t,e,n){var r=n.localName||n.nodeName;return e.caseInsensitive?t.toLowerCase()===r.toLowerCase():t===r},Z.NameTestPrefixAny=Z.makeNodeTestType(Z.NAMETESTPREFIXANY,{matches:function(t,e){return Z.isElementOrAttribute(t)&&Z.nameSpaceMatches(this.prefix,e,t)},toString:function(){return this.prefix+":*"}},function(t){this.prefix=t}),Z.NameTestQName=Z.makeNodeTestType(Z.NAMETESTQNAME,{matches:function(t,e){return Z.isNodeType([d,p,I])(t)&&Z.nameSpaceMatches(this.prefix,e,t)&&Z.localNameMatches(this.localName,e,t)},toString:function(){return this.name}},function(t){var e=t.split(":");this.name=t,this.prefix=e.length>1?e[0]:null,this.localName=e[e.length>1?1:0]}),Z.PITest=Z.makeNodeTestType(Z.PI,{matches:function(t,e){return Z.isNodeType([g])(t)&&(t.target||t.nodeName)===this.name},toString:function(){return l('processing-instruction("','")',this.name)}},function(t){this.name=t}),Z.nameTestAny=Z.makeNodeTypeTest(Z.NAMETESTANY,[d,p,I],"*"),Z.textTest=Z.makeNodeTypeTest(Z.TEXT,[f,A],"text()"),Z.commentTest=Z.makeNodeTypeTest(Z.COMMENT,[E],"comment()"),Z.nodeTest=Z.makeNodeTypeTest(Z.NODE,[d,p,f,A,g,E,m],"node()"),Z.anyPiTest=Z.makeNodeTypeTest(Z.PI,[g],"processing-instruction()"),$.prototype=new D,$.prototype.constructor=$,$.superclass=D.prototype,$.prototype.init=function(t){this.variable=t},$.prototype.toString=function(){return"$"+this.variable},$.prototype.evaluate=function(t){var e=pt.resolveQName(this.variable,t.namespaceResolver,t.contextNode,!1);if(null==e[0])throw new Error("Cannot resolve QName "+fn);var n=t.variableResolver.getVariable(e[1],e[0]);if(!n)throw At.fromMessage("Undeclared variable: "+this.toString());return n},tt.prototype=new D,tt.prototype.constructor=tt,tt.superclass=D.prototype,tt.prototype.init=function(t,e){this.functionName=t,this.arguments=e},tt.prototype.toString=function(){for(var t=this.functionName+"(",e=0;e<this.arguments.length;e++)e>0&&(t+=", "),t+=this.arguments[e].toString();return t+")"},tt.prototype.evaluate=function(t){var e=ut.getFunctionFromContext(this.functionName,t);if(!e)throw new Error("Unknown function "+this.functionName);var n=[t].concat(this.arguments);return e.apply(t.functionResolver.thisArg,n)};var et=new Object;function nt(t){arguments.length>0&&this.init(t)}function rt(t){arguments.length>0&&this.init(t)}function it(t){arguments.length>0&&this.init(t)}function ot(t){this.init(t)}function st(){this.init()}function at(t,e,n,r){this.isXPathNamespace=!0,this.baseNode=e,this.ownerDocument=r.ownerDocument,this.nodeName=t,this.prefix=t,this.localName=t,this.namespaceURI=null,this.nodeValue=n,this.ownerElement=r,this.nodeType=I}function ct(t,e,n){this.variableResolver=null!=t?t:new lt,this.namespaceResolver=null!=e?e:new ht,this.functionResolver=null!=n?n:new ut}function lt(){}function ut(t){this.thisArg=null!=t?t:dt,this.functions=new Object,this.addStandardFunctions()}function ht(){}et.equals=function(t,e){return t.equals(e)},et.notequal=function(t,e){return t.notequal(e)},et.lessthan=function(t,e){return t.lessthan(e)},et.greaterthan=function(t,e){return t.greaterthan(e)},et.lessthanorequal=function(t,e){return t.lessthanorequal(e)},et.greaterthanorequal=function(t,e){return t.greaterthanorequal(e)},nt.prototype=new D,nt.prototype.constructor=nt,nt.superclass=D.prototype,nt.prototype.init=function(t){this.str=String(t)},nt.prototype.toString=function(){return this.str},nt.prototype.evaluate=function(t){return this},nt.prototype.string=function(){return this},nt.prototype.number=function(){return new rt(this.str)},nt.prototype.bool=function(){return new it(this.str)},nt.prototype.nodeset=function(){throw new Error("Cannot convert string to nodeset")},nt.prototype.stringValue=function(){return this.str},nt.prototype.numberValue=function(){return this.number().numberValue()},nt.prototype.booleanValue=function(){return this.bool().booleanValue()},nt.prototype.equals=function(t){return pt.instance_of(t,it)?this.bool().equals(t):pt.instance_of(t,rt)?this.number().equals(t):pt.instance_of(t,st)?t.compareWithString(this,et.equals):new it(this.str==t.str)},nt.prototype.notequal=function(t){return pt.instance_of(t,it)?this.bool().notequal(t):pt.instance_of(t,rt)?this.number().notequal(t):pt.instance_of(t,st)?t.compareWithString(this,et.notequal):new it(this.str!=t.str)},nt.prototype.lessthan=function(t){return this.number().lessthan(t)},nt.prototype.greaterthan=function(t){return this.number().greaterthan(t)},nt.prototype.lessthanorequal=function(t){return this.number().lessthanorequal(t)},nt.prototype.greaterthanorequal=function(t){return this.number().greaterthanorequal(t)},rt.prototype=new D,rt.prototype.constructor=rt,rt.superclass=D.prototype,rt.prototype.init=function(t){this.num="string"==typeof t?this.parse(t):Number(t)},rt.prototype.numberFormat=/^\s*-?[0-9]*\.?[0-9]+\s*$/,rt.prototype.parse=function(t){return this.numberFormat.test(t)?parseFloat(t):Number.NaN},rt.prototype.toString=function(){var t=this.num.toString();return-1!==t.indexOf("e-")?function(t){for(var e=t.split("e-"),n=e[0].replace(".",""),r=Number(e[1]),i=0;i<r-1;i+=1)n="0"+n;return"0."+n}(t):-1!==t.indexOf("e")?function(t){for(var e=t.split("e"),n=e[0].replace(".",""),r=Number(e[1])+1-n.length,i=0;i<r;i+=1)n+="0";return n}(t):t},rt.prototype.evaluate=function(t){return this},rt.prototype.string=function(){return new nt(this.toString())},rt.prototype.number=function(){return this},rt.prototype.bool=function(){return new it(this.num)},rt.prototype.nodeset=function(){throw new Error("Cannot convert number to nodeset")},rt.prototype.stringValue=function(){return this.string().stringValue()},rt.prototype.numberValue=function(){return this.num},rt.prototype.booleanValue=function(){return this.bool().booleanValue()},rt.prototype.negate=function(){return new rt(-this.num)},rt.prototype.equals=function(t){return pt.instance_of(t,it)?this.bool().equals(t):pt.instance_of(t,nt)?this.equals(t.number()):pt.instance_of(t,st)?t.compareWithNumber(this,et.equals):new it(this.num==t.num)},rt.prototype.notequal=function(t){return pt.instance_of(t,it)?this.bool().notequal(t):pt.instance_of(t,nt)?this.notequal(t.number()):pt.instance_of(t,st)?t.compareWithNumber(this,et.notequal):new it(this.num!=t.num)},rt.prototype.lessthan=function(t){return pt.instance_of(t,st)?t.compareWithNumber(this,et.greaterthan):pt.instance_of(t,it)||pt.instance_of(t,nt)?this.lessthan(t.number()):new it(this.num<t.num)},rt.prototype.greaterthan=function(t){return pt.instance_of(t,st)?t.compareWithNumber(this,et.lessthan):pt.instance_of(t,it)||pt.instance_of(t,nt)?this.greaterthan(t.number()):new it(this.num>t.num)},rt.prototype.lessthanorequal=function(t){return pt.instance_of(t,st)?t.compareWithNumber(this,et.greaterthanorequal):pt.instance_of(t,it)||pt.instance_of(t,nt)?this.lessthanorequal(t.number()):new it(this.num<=t.num)},rt.prototype.greaterthanorequal=function(t){return pt.instance_of(t,st)?t.compareWithNumber(this,et.lessthanorequal):pt.instance_of(t,it)||pt.instance_of(t,nt)?this.greaterthanorequal(t.number()):new it(this.num>=t.num)},rt.prototype.plus=function(t){return new rt(this.num+t.num)},rt.prototype.minus=function(t){return new rt(this.num-t.num)},rt.prototype.multiply=function(t){return new rt(this.num*t.num)},rt.prototype.div=function(t){return new rt(this.num/t.num)},rt.prototype.mod=function(t){return new rt(this.num%t.num)},it.prototype=new D,it.prototype.constructor=it,it.superclass=D.prototype,it.prototype.init=function(t){this.b=Boolean(t)},it.prototype.toString=function(){return this.b.toString()},it.prototype.evaluate=function(t){return this},it.prototype.string=function(){return new nt(this.b)},it.prototype.number=function(){return new rt(this.b)},it.prototype.bool=function(){return this},it.prototype.nodeset=function(){throw new Error("Cannot convert boolean to nodeset")},it.prototype.stringValue=function(){return this.string().stringValue()},it.prototype.numberValue=function(){return this.number().numberValue()},it.prototype.booleanValue=function(){return this.b},it.prototype.not=function(){return new it(!this.b)},it.prototype.equals=function(t){return pt.instance_of(t,nt)||pt.instance_of(t,rt)?this.equals(t.bool()):pt.instance_of(t,st)?t.compareWithBoolean(this,et.equals):new it(this.b==t.b)},it.prototype.notequal=function(t){return pt.instance_of(t,nt)||pt.instance_of(t,rt)?this.notequal(t.bool()):pt.instance_of(t,st)?t.compareWithBoolean(this,et.notequal):new it(this.b!=t.b)},it.prototype.lessthan=function(t){return this.number().lessthan(t)},it.prototype.greaterthan=function(t){return this.number().greaterthan(t)},it.prototype.lessthanorequal=function(t){return this.number().lessthanorequal(t)},it.prototype.greaterthanorequal=function(t){return this.number().greaterthanorequal(t)},it.true_=new it(!0),it.false_=new it(!1),ot.prototype=new Object,ot.prototype.constructor=ot,ot.superclass=Object.prototype,ot.prototype.init=function(t){this.left=null,this.right=null,this.node=t,this.depth=1},ot.prototype.balance=function(){var t=null==this.left?0:this.left.depth,e=null==this.right?0:this.right.depth;if(t>e+1)(null==this.left.left?0:this.left.left.depth)<(null==this.left.right?0:this.left.right.depth)&&this.left.rotateRR(),this.rotateLL();else if(t+1<e){var n=null==this.right.right?0:this.right.right.depth;(null==this.right.left?0:this.right.left.depth)>n&&this.right.rotateLL(),this.rotateRR()}},ot.prototype.rotateLL=function(){var t=this.node,e=this.right;this.node=this.left.node,this.right=this.left,this.left=this.left.left,this.right.left=this.right.right,this.right.right=e,this.right.node=t,this.right.updateInNewLocation(),this.updateInNewLocation()},ot.prototype.rotateRR=function(){var t=this.node,e=this.left;this.node=this.right.node,this.left=this.right,this.right=this.right.right,this.left.right=this.left.left,this.left.left=e,this.left.node=t,this.left.updateInNewLocation(),this.updateInNewLocation()},ot.prototype.updateInNewLocation=function(){this.getDepthFromChildren()},ot.prototype.getDepthFromChildren=function(){this.depth=null==this.node?0:1,null!=this.left&&(this.depth=this.left.depth+1),null!=this.right&&this.depth<=this.right.depth&&(this.depth=this.right.depth+1)},ot.prototype.add=function(t){if(t===this.node)return!1;var e=function(t,e){if(t===e)return 0;if(t.compareDocumentPosition){var n=t.compareDocumentPosition(e);return 1&n||10&n?1:20&n?-1:0}for(var r=0,i=0,o=t;null!=o;o=o.parentNode||o.ownerElement)r++;for(var s=e;null!=s;s=s.parentNode||s.ownerElement)i++;if(r>i){for(;r>i;)t=t.parentNode||t.ownerElement,r--;if(t===e)return 1}else if(i>r){for(;i>r;)e=e.parentNode||e.ownerElement,i--;if(t===e)return-1}for(var a=t.parentNode||t.ownerElement,c=e.parentNode||e.ownerElement;a!==c;)e=c,a=(t=a).parentNode||t.ownerElement,c=e.parentNode||e.ownerElement;var l=ft(t),u=ft(e);if(l&&!u)return-1;if(!l&&u)return 1;if(t.isXPathNamespace){if(t.nodeValue===B.XML_NAMESPACE_URI)return-1;if(!e.isXPathNamespace)return-1;if(e.nodeValue===B.XML_NAMESPACE_URI)return 1}else if(e.isXPathNamespace)return 1;if(a)for(var h=l?a.attributes:a.childNodes,d=h.length,p=t.baseNode||t,f=e.baseNode||e,A=0;A<d;A+=1){var g=h[A];if(g===p)return-1;if(g===f)return 1}throw new Error("Unexpected: could not determine node order")}(t,this.node),n=!1;return-1==e?null==this.left?(this.left=new ot(t),n=!0):(n=this.left.add(t))&&this.balance():1==e&&(null==this.right?(this.right=new ot(t),n=!0):(n=this.right.add(t))&&this.balance()),n&&this.getDepthFromChildren(),n},st.prototype=new D,st.prototype.constructor=st,st.superclass=D.prototype,st.prototype.init=function(){this.tree=null,this.nodes=[],this.size=0},st.prototype.toString=function(){var t=this.first();return null==t?"":this.stringForNode(t)},st.prototype.evaluate=function(t){return this},st.prototype.string=function(){return new nt(this.toString())},st.prototype.stringValue=function(){return this.toString()},st.prototype.number=function(){return new rt(this.string())},st.prototype.numberValue=function(){return Number(this.string())},st.prototype.bool=function(){return new it(this.booleanValue())},st.prototype.booleanValue=function(){return!!this.size},st.prototype.nodeset=function(){return this},st.prototype.stringForNode=function(t){return t.nodeType==m||t.nodeType==d||t.nodeType===y?this.stringForContainerNode(t):t.nodeType===p?t.value||t.nodeValue:t.isNamespaceNode?t.namespace:t.nodeValue},st.prototype.stringForContainerNode=function(t){for(var e="",n=t.firstChild;null!=n;n=n.nextSibling){var r=n.nodeType;1!==r&&3!==r&&4!==r&&9!==r&&11!==r||(e+=this.stringForNode(n))}return e},st.prototype.buildTree=function(){if(!this.tree&&this.nodes.length){this.tree=new ot(this.nodes[0]);for(var t=1;t<this.nodes.length;t+=1)this.tree.add(this.nodes[t])}return this.tree},st.prototype.first=function(){var t=this.buildTree();if(null==t)return null;for(;null!=t.left;)t=t.left;return t.node},st.prototype.add=function(t){for(var e=0;e<this.nodes.length;e+=1)if(t===this.nodes[e])return;this.tree=null,this.nodes.push(t),this.size+=1},st.prototype.addArray=function(t){var e=this;r(function(t){e.add(t)},t)},st.prototype.toArray=function(){var t=[];return this.toArrayRec(this.buildTree(),t),t},st.prototype.toArrayRec=function(t,e){null!=t&&(this.toArrayRec(t.left,e),e.push(t.node),this.toArrayRec(t.right,e))},st.prototype.toUnsortedArray=function(){return this.nodes.slice()},st.prototype.compareWithString=function(t,e){for(var n=this.toUnsortedArray(),r=0;r<n.length;r++){var i=n[r],o=e(new nt(this.stringForNode(i)),t);if(o.booleanValue())return o}return new it(!1)},st.prototype.compareWithNumber=function(t,e){for(var n=this.toUnsortedArray(),r=0;r<n.length;r++){var i=n[r],o=e(new rt(this.stringForNode(i)),t);if(o.booleanValue())return o}return new it(!1)},st.prototype.compareWithBoolean=function(t,e){return e(this.bool(),t)},st.prototype.compareWithNodeSet=function(t,e){for(var n=this.toUnsortedArray(),r=function(t,n){return e(n,t)},i=0;i<n.length;i++){var o=new nt(this.stringForNode(n[i])),s=t.compareWithString(o,r);if(s.booleanValue())return s}return new it(!1)},st.compareWith=function(t){var e=Array.prototype.slice,n=t.length,r=function(){var i=e.call(arguments);return i.length<n?function(t,n){return function(){return n.apply(this,t.concat(e.call(arguments)))}}(i,r):t.apply(this,e.apply(arguments,[0,n]))};return r}(function(t,e){return pt.instance_of(e,nt)?this.compareWithString(e,t):pt.instance_of(e,rt)?this.compareWithNumber(e,t):pt.instance_of(e,it)?this.compareWithBoolean(e,t):this.compareWithNodeSet(e,t)}),st.prototype.equals=st.compareWith(et.equals),st.prototype.notequal=st.compareWith(et.notequal),st.prototype.lessthan=st.compareWith(et.lessthan),st.prototype.greaterthan=st.compareWith(et.greaterthan),st.prototype.lessthanorequal=st.compareWith(et.lessthanorequal),st.prototype.greaterthanorequal=st.compareWith(et.greaterthanorequal),st.prototype.union=function(t){var e=new st;return e.addArray(this.toUnsortedArray()),e.addArray(t.toUnsortedArray()),e},at.prototype=new Object,at.prototype.constructor=at,at.superclass=Object.prototype,at.prototype.toString=function(){return'{ "'+this.prefix+'", "'+this.namespaceURI+'" }'},ct.prototype=new Object,ct.prototype.constructor=ct,ct.superclass=Object.prototype,ct.prototype.extend=function(t){return h(new ct,this,t)},lt.prototype=new Object,lt.prototype.constructor=lt,lt.superclass=Object.prototype,lt.prototype.getVariable=function(t,e){return null},ut.prototype=new Object,ut.prototype.constructor=ut,ut.superclass=Object.prototype,ut.prototype.addStandardFunctions=function(){this.functions["{}last"]=dt.last,this.functions["{}position"]=dt.position,this.functions["{}count"]=dt.count,this.functions["{}id"]=dt.id,this.functions["{}local-name"]=dt.localName,this.functions["{}namespace-uri"]=dt.namespaceURI,this.functions["{}name"]=dt.name,this.functions["{}string"]=dt.string,this.functions["{}concat"]=dt.concat,this.functions["{}starts-with"]=dt.startsWith,this.functions["{}contains"]=dt.contains,this.functions["{}substring-before"]=dt.substringBefore,this.functions["{}substring-after"]=dt.substringAfter,this.functions["{}substring"]=dt.substring,this.functions["{}string-length"]=dt.stringLength,this.functions["{}normalize-space"]=dt.normalizeSpace,this.functions["{}translate"]=dt.translate,this.functions["{}boolean"]=dt.boolean_,this.functions["{}not"]=dt.not,this.functions["{}true"]=dt.true_,this.functions["{}false"]=dt.false_,this.functions["{}lang"]=dt.lang,this.functions["{}number"]=dt.number,this.functions["{}sum"]=dt.sum,this.functions["{}floor"]=dt.floor,this.functions["{}ceiling"]=dt.ceiling,this.functions["{}round"]=dt.round},ut.prototype.addFunction=function(t,e,n){this.functions["{"+t+"}"+e]=n},ut.getFunctionFromContext=function(t,e){var n=pt.resolveQName(t,e.namespaceResolver,e.contextNode,!1);if(null===n[0])throw new Error("Cannot resolve QName "+name);return e.functionResolver.getFunction(n[1],n[0])},ut.prototype.getFunction=function(t,e){return this.functions["{"+e+"}"+t]},ht.prototype=new Object,ht.prototype.constructor=ht,ht.superclass=Object.prototype,ht.prototype.getNamespace=function(t,e){if("xml"==t)return B.XML_NAMESPACE_URI;if("xmlns"==t)return B.XMLNS_NAMESPACE_URI;for(e.nodeType==m?e=e.documentElement:e.nodeType==p?e=H.getOwnerElement(e):e.nodeType!=d&&(e=e.parentNode);null!=e&&e.nodeType==d;){for(var n=e.attributes,r=0;r<n.length;r++){var i=n.item(r),o=i.name||i.nodeName;if("xmlns"===o&&""===t||o==="xmlns:"+t)return String(i.value||i.nodeValue)}e=e.parentNode}return null};var dt=new Object;dt.last=function(t){if(1!=arguments.length)throw new Error("Function last expects ()");return new rt(t.contextSize)},dt.position=function(t){if(1!=arguments.length)throw new Error("Function position expects ()");return new rt(t.contextPosition)},dt.count=function(){var t,e=arguments[0];if(2!=arguments.length||!pt.instance_of(t=arguments[1].evaluate(e),st))throw new Error("Function count expects (node-set)");return new rt(t.size)},dt.id=function(){var t,e=arguments[0];if(2!=arguments.length)throw new Error("Function id expects (object)");t=arguments[1].evaluate(e);for(var n=(t=pt.instance_of(t,st)?t.toArray().join(" "):t.stringValue()).split(/[\x0d\x0a\x09\x20]+/),r=new st,i=e.contextNode.nodeType==m?e.contextNode:e.contextNode.ownerDocument,o=0;o<n.length;o++){var s;null!=(s=i.getElementById?i.getElementById(n[o]):pt.getElementById(i,n[o]))&&r.add(s)}return r},dt.localName=function(t,e){var n;if(1==arguments.length)n=t.contextNode;else{if(2!=arguments.length)throw new Error("Function local-name expects (node-set?)");n=e.evaluate(t).first()}return new nt(null==n?"":n.localName||n.baseName||n.target||n.nodeName||"")},dt.namespaceURI=function(){var t,e=arguments[0];if(1==arguments.length)t=e.contextNode;else{if(2!=arguments.length)throw new Error("Function namespace-uri expects (node-set?)");t=arguments[1].evaluate(e).first()}return new nt(null==t?"":t.namespaceURI||"")},dt.name=function(){var t,e=arguments[0];if(1==arguments.length)t=e.contextNode;else{if(2!=arguments.length)throw new Error("Function name expects (node-set?)");t=arguments[1].evaluate(e).first()}return null==t?new nt(""):t.nodeType==d?new nt(t.nodeName):t.nodeType==p?new nt(t.name||t.nodeName):t.nodeType===g?new nt(t.target||t.nodeName):null==t.localName?new nt(""):new nt(t.localName)},dt.string=function(){var t=arguments[0];if(1==arguments.length)return new nt(st.prototype.stringForNode(t.contextNode));if(2==arguments.length)return arguments[1].evaluate(t).string();throw new Error("Function string expects (object?)")},dt.concat=function(t){if(arguments.length<3)throw new Error("Function concat expects (string, string[, string]*)");for(var e="",n=1;n<arguments.length;n++)e+=arguments[n].evaluate(t).stringValue();return new nt(e)},dt.startsWith=function(){var t=arguments[0];if(3!=arguments.length)throw new Error("Function startsWith expects (string, string)");var e=arguments[1].evaluate(t).stringValue(),n=arguments[2].evaluate(t).stringValue();return new it(e.substring(0,n.length)==n)},dt.contains=function(){var t=arguments[0];if(3!=arguments.length)throw new Error("Function contains expects (string, string)");var e=arguments[1].evaluate(t).stringValue(),n=arguments[2].evaluate(t).stringValue();return new it(-1!==e.indexOf(n))},dt.substringBefore=function(){var t=arguments[0];if(3!=arguments.length)throw new Error("Function substring-before expects (string, string)");var e=arguments[1].evaluate(t).stringValue(),n=arguments[2].evaluate(t).stringValue();return new nt(e.substring(0,e.indexOf(n)))},dt.substringAfter=function(){var t=arguments[0];if(3!=arguments.length)throw new Error("Function substring-after expects (string, string)");var e=arguments[1].evaluate(t).stringValue(),n=arguments[2].evaluate(t).stringValue();if(0==n.length)return new nt(e);var r=e.indexOf(n);return new nt(-1==r?"":e.substring(r+n.length))},dt.substring=function(){var t=arguments[0];if(3!=arguments.length&&4!=arguments.length)throw new Error("Function substring expects (string, number, number?)");var e=arguments[1].evaluate(t).stringValue(),n=Math.round(arguments[2].evaluate(t).numberValue())-1,r=4==arguments.length?n+Math.round(arguments[3].evaluate(t).numberValue()):void 0;return new nt(e.substring(n,r))},dt.stringLength=function(){var t,e=arguments[0];if(1==arguments.length)t=st.prototype.stringForNode(e.contextNode);else{if(2!=arguments.length)throw new Error("Function string-length expects (string?)");t=arguments[1].evaluate(e).stringValue()}return new rt(t.length)},dt.normalizeSpace=function(){var t,e=arguments[0];if(1==arguments.length)t=st.prototype.stringForNode(e.contextNode);else{if(2!=arguments.length)throw new Error("Function normalize-space expects (string?)");t=arguments[1].evaluate(e).stringValue()}for(var n=0,r=t.length-1;pt.isSpace(t.charCodeAt(r));)r--;for(var i="";n<=r&&pt.isSpace(t.charCodeAt(n));)n++;for(;n<=r;)if(pt.isSpace(t.charCodeAt(n)))for(i+=" ";n<=r&&pt.isSpace(t.charCodeAt(n));)n++;else i+=t.charAt(n),n++;return new nt(i)},dt.translate=function(t,e,n,r){if(4!=arguments.length)throw new Error("Function translate expects (string, string, string)");var s=e.evaluate(t).stringValue(),a=n.evaluate(t).stringValue(),l=r.evaluate(t).stringValue(),u=i(function(t,e,n){return e in t||(t[e]=n>l.length?"":l[n]),t},{},a);return new nt(c("",o(function(t){return t in u?u[t]:t},s)))},dt.boolean_=function(){var t=arguments[0];if(2!=arguments.length)throw new Error("Function boolean expects (object)");return arguments[1].evaluate(t).bool()},dt.not=function(t,e){if(2!=arguments.length)throw new Error("Function not expects (object)");return e.evaluate(t).bool().not()},dt.true_=function(){if(1!=arguments.length)throw new Error("Function true expects ()");return it.true_},dt.false_=function(){if(1!=arguments.length)throw new Error("Function false expects ()");return it.false_},dt.lang=function(){var t,e=arguments[0];if(2!=arguments.length)throw new Error("Function lang expects (string)");for(var n=e.contextNode;null!=n&&n.nodeType!=m;n=n.parentNode){var r=n.getAttributeNS(B.XML_NAMESPACE_URI,"lang");if(null!=r){t=String(r);break}}if(null==t)return it.false_;var i=arguments[1].evaluate(e).stringValue();return new it(t.substring(0,i.length)==i&&(t.length==i.length||"-"==t.charAt(i.length)))},dt.number=function(){var t=arguments[0];if(1!=arguments.length&&2!=arguments.length)throw new Error("Function number expects (object?)");return 1==arguments.length?new rt(st.prototype.stringForNode(t.contextNode)):arguments[1].evaluate(t).number()},dt.sum=function(){var t,e=arguments[0];if(2!=arguments.length||!pt.instance_of(t=arguments[1].evaluate(e),st))throw new Error("Function sum expects (node-set)");t=t.toUnsortedArray();for(var n=0,r=0;r<t.length;r++)n+=new rt(st.prototype.stringForNode(t[r])).numberValue();return new rt(n)},dt.floor=function(){var t=arguments[0];if(2!=arguments.length)throw new Error("Function floor expects (number)");return new rt(Math.floor(arguments[1].evaluate(t).numberValue()))},dt.ceiling=function(){var t=arguments[0];if(2!=arguments.length)throw new Error("Function ceiling expects (number)");return new rt(Math.ceil(arguments[1].evaluate(t).numberValue()))},dt.round=function(){var t=arguments[0];if(2!=arguments.length)throw new Error("Function round expects (number)");return new rt(Math.round(arguments[1].evaluate(t).numberValue()))};var pt=new Object,ft=function(t){return t&&(t.nodeType===p||t.ownerElement||t.isXPathNamespace)};pt.splitQName=function(t){var e=t.indexOf(":");return-1==e?[null,t]:[t.substring(0,e),t.substring(e+1)]},pt.resolveQName=function(t,e,n,r){var i=pt.splitQName(t);return null!=i[0]?i[0]=e.getNamespace(i[0],n):r?(i[0]=e.getNamespace("",n),null==i[0]&&(i[0]="")):i[0]="",i},pt.isSpace=function(t){return 9==t||13==t||10==t||32==t},pt.isLetter=function(t){return t>=65&&t<=90||t>=97&&t<=122||t>=192&&t<=214||t>=216&&t<=246||t>=248&&t<=255||t>=256&&t<=305||t>=308&&t<=318||t>=321&&t<=328||t>=330&&t<=382||t>=384&&t<=451||t>=461&&t<=496||t>=500&&t<=501||t>=506&&t<=535||t>=592&&t<=680||t>=699&&t<=705||902==t||t>=904&&t<=906||908==t||t>=910&&t<=929||t>=931&&t<=974||t>=976&&t<=982||986==t||988==t||990==t||992==t||t>=994&&t<=1011||t>=1025&&t<=1036||t>=1038&&t<=1103||t>=1105&&t<=1116||t>=1118&&t<=1153||t>=1168&&t<=1220||t>=1223&&t<=1224||t>=1227&&t<=1228||t>=1232&&t<=1259||t>=1262&&t<=1269||t>=1272&&t<=1273||t>=1329&&t<=1366||1369==t||t>=1377&&t<=1414||t>=1488&&t<=1514||t>=1520&&t<=1522||t>=1569&&t<=1594||t>=1601&&t<=1610||t>=1649&&t<=1719||t>=1722&&t<=1726||t>=1728&&t<=1742||t>=1744&&t<=1747||1749==t||t>=1765&&t<=1766||t>=2309&&t<=2361||2365==t||t>=2392&&t<=2401||t>=2437&&t<=2444||t>=2447&&t<=2448||t>=2451&&t<=2472||t>=2474&&t<=2480||2482==t||t>=2486&&t<=2489||t>=2524&&t<=2525||t>=2527&&t<=2529||t>=2544&&t<=2545||t>=2565&&t<=2570||t>=2575&&t<=2576||t>=2579&&t<=2600||t>=2602&&t<=2608||t>=2610&&t<=2611||t>=2613&&t<=2614||t>=2616&&t<=2617||t>=2649&&t<=2652||2654==t||t>=2674&&t<=2676||t>=2693&&t<=2699||2701==t||t>=2703&&t<=2705||t>=2707&&t<=2728||t>=2730&&t<=2736||t>=2738&&t<=2739||t>=2741&&t<=2745||2749==t||2784==t||t>=2821&&t<=2828||t>=2831&&t<=2832||t>=2835&&t<=2856||t>=2858&&t<=2864||t>=2866&&t<=2867||t>=2870&&t<=2873||2877==t||t>=2908&&t<=2909||t>=2911&&t<=2913||t>=2949&&t<=2954||t>=2958&&t<=2960||t>=2962&&t<=2965||t>=2969&&t<=2970||2972==t||t>=2974&&t<=2975||t>=2979&&t<=2980||t>=2984&&t<=2986||t>=2990&&t<=2997||t>=2999&&t<=3001||t>=3077&&t<=3084||t>=3086&&t<=3088||t>=3090&&t<=3112||t>=3114&&t<=3123||t>=3125&&t<=3129||t>=3168&&t<=3169||t>=3205&&t<=3212||t>=3214&&t<=3216||t>=3218&&t<=3240||t>=3242&&t<=3251||t>=3253&&t<=3257||3294==t||t>=3296&&t<=3297||t>=3333&&t<=3340||t>=3342&&t<=3344||t>=3346&&t<=3368||t>=3370&&t<=3385||t>=3424&&t<=3425||t>=3585&&t<=3630||3632==t||t>=3634&&t<=3635||t>=3648&&t<=3653||t>=3713&&t<=3714||3716==t||t>=3719&&t<=3720||3722==t||3725==t||t>=3732&&t<=3735||t>=3737&&t<=3743||t>=3745&&t<=3747||3749==t||3751==t||t>=3754&&t<=3755||t>=3757&&t<=3758||3760==t||t>=3762&&t<=3763||3773==t||t>=3776&&t<=3780||t>=3904&&t<=3911||t>=3913&&t<=3945||t>=4256&&t<=4293||t>=4304&&t<=4342||4352==t||t>=4354&&t<=4355||t>=4357&&t<=4359||4361==t||t>=4363&&t<=4364||t>=4366&&t<=4370||4412==t||4414==t||4416==t||4428==t||4430==t||4432==t||t>=4436&&t<=4437||4441==t||t>=4447&&t<=4449||4451==t||4453==t||4455==t||4457==t||t>=4461&&t<=4462||t>=4466&&t<=4467||4469==t||4510==t||4520==t||4523==t||t>=4526&&t<=4527||t>=4535&&t<=4536||4538==t||t>=4540&&t<=4546||4587==t||4592==t||4601==t||t>=7680&&t<=7835||t>=7840&&t<=7929||t>=7936&&t<=7957||t>=7960&&t<=7965||t>=7968&&t<=8005||t>=8008&&t<=8013||t>=8016&&t<=8023||8025==t||8027==t||8029==t||t>=8031&&t<=8061||t>=8064&&t<=8116||t>=8118&&t<=8124||8126==t||t>=8130&&t<=8132||t>=8134&&t<=8140||t>=8144&&t<=8147||t>=8150&&t<=8155||t>=8160&&t<=8172||t>=8178&&t<=8180||t>=8182&&t<=8188||8486==t||t>=8490&&t<=8491||8494==t||t>=8576&&t<=8578||t>=12353&&t<=12436||t>=12449&&t<=12538||t>=12549&&t<=12588||t>=44032&&t<=55203||t>=19968&&t<=40869||12295==t||t>=12321&&t<=12329},pt.isNCNameChar=function(t){return t>=48&&t<=57||t>=1632&&t<=1641||t>=1776&&t<=1785||t>=2406&&t<=2415||t>=2534&&t<=2543||t>=2662&&t<=2671||t>=2790&&t<=2799||t>=2918&&t<=2927||t>=3047&&t<=3055||t>=3174&&t<=3183||t>=3302&&t<=3311||t>=3430&&t<=3439||t>=3664&&t<=3673||t>=3792&&t<=3801||t>=3872&&t<=3881||46==t||45==t||95==t||pt.isLetter(t)||t>=768&&t<=837||t>=864&&t<=865||t>=1155&&t<=1158||t>=1425&&t<=1441||t>=1443&&t<=1465||t>=1467&&t<=1469||1471==t||t>=1473&&t<=1474||1476==t||t>=1611&&t<=1618||1648==t||t>=1750&&t<=1756||t>=1757&&t<=1759||t>=1760&&t<=1764||t>=1767&&t<=1768||t>=1770&&t<=1773||t>=2305&&t<=2307||2364==t||t>=2366&&t<=2380||2381==t||t>=2385&&t<=2388||t>=2402&&t<=2403||t>=2433&&t<=2435||2492==t||2494==t||2495==t||t>=2496&&t<=2500||t>=2503&&t<=2504||t>=2507&&t<=2509||2519==t||t>=2530&&t<=2531||2562==t||2620==t||2622==t||2623==t||t>=2624&&t<=2626||t>=2631&&t<=2632||t>=2635&&t<=2637||t>=2672&&t<=2673||t>=2689&&t<=2691||2748==t||t>=2750&&t<=2757||t>=2759&&t<=2761||t>=2763&&t<=2765||t>=2817&&t<=2819||2876==t||t>=2878&&t<=2883||t>=2887&&t<=2888||t>=2891&&t<=2893||t>=2902&&t<=2903||t>=2946&&t<=2947||t>=3006&&t<=3010||t>=3014&&t<=3016||t>=3018&&t<=3021||3031==t||t>=3073&&t<=3075||t>=3134&&t<=3140||t>=3142&&t<=3144||t>=3146&&t<=3149||t>=3157&&t<=3158||t>=3202&&t<=3203||t>=3262&&t<=3268||t>=3270&&t<=3272||t>=3274&&t<=3277||t>=3285&&t<=3286||t>=3330&&t<=3331||t>=3390&&t<=3395||t>=3398&&t<=3400||t>=3402&&t<=3405||3415==t||3633==t||t>=3636&&t<=3642||t>=3655&&t<=3662||3761==t||t>=3764&&t<=3769||t>=3771&&t<=3772||t>=3784&&t<=3789||t>=3864&&t<=3865||3893==t||3895==t||3897==t||3902==t||3903==t||t>=3953&&t<=3972||t>=3974&&t<=3979||t>=3984&&t<=3989||3991==t||t>=3993&&t<=4013||t>=4017&&t<=4023||4025==t||t>=8400&&t<=8412||8417==t||t>=12330&&t<=12335||12441==t||12442==t||183==t||720==t||721==t||903==t||1600==t||3654==t||3782==t||12293==t||t>=12337&&t<=12341||t>=12445&&t<=12446||t>=12540&&t<=12542},pt.coalesceText=function(t){for(var e=t.firstChild;null!=e;e=e.nextSibling)if(e.nodeType==f||e.nodeType==A){var n=e.nodeValue,r=e;for(e=e.nextSibling;null!=e&&(e.nodeType==f||e.nodeType==A);){n+=e.nodeValue;var i=e;e=e.nextSibling,i.parentNode.removeChild(i)}if(r.nodeType==A){var o=r.parentNode;if(null==r.nextSibling)o.removeChild(r),o.appendChild(o.ownerDocument.createTextNode(n));else{var s=r.nextSibling;o.removeChild(r),o.insertBefore(o.ownerDocument.createTextNode(n),s)}}else r.nodeValue=n;if(null==e)break}else e.nodeType==d&&pt.coalesceText(e)},pt.instance_of=function(t,e){for(;null!=t;){if(t.constructor===e)return!0;if(t===Object)return!1;t=t.constructor.superclass}return!1},pt.getElementById=function(t,e){if(t.nodeType==d&&(t.getAttribute("id")==e||t.getAttributeNS(null,"id")==e))return t;for(var n=t.firstChild;null!=n;n=n.nextSibling){var r=pt.getElementById(n,e);if(null!=r)return r}return null};var At=function(){function t(e,n,r){var i=Error.call(this,function(e,n){var r=n?": "+n.toString():"";switch(e){case t.INVALID_EXPRESSION_ERR:return"Invalid expression"+r;case t.TYPE_ERR:return"Type error"+r}return null}(e,n)||r);return i.code=e,i.exception=n,i}return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t.superclass=Error,t.prototype.toString=function(){return this.message},t.fromMessage=function(e,n){return new t(null,n,e)},t.INVALID_EXPRESSION_ERR=51,t.TYPE_ERR=52,t}();function gt(t,e,n){this.xpath=n.parse(t),this.context=new ct,this.context.namespaceResolver=new Et(e)}function Et(t){this.xpathNSResolver=t}function mt(t){this.node=t,this.namespaceResolver=new ht}function wt(t,e){switch(e==wt.ANY_TYPE&&(t.constructor===nt?e=wt.STRING_TYPE:t.constructor===rt?e=wt.NUMBER_TYPE:t.constructor===it?e=wt.BOOLEAN_TYPE:t.constructor===st&&(e=wt.UNORDERED_NODE_ITERATOR_TYPE)),this.resultType=e,e){case wt.NUMBER_TYPE:return void(this.numberValue=t.numberValue());case wt.STRING_TYPE:return void(this.stringValue=t.stringValue());case wt.BOOLEAN_TYPE:return void(this.booleanValue=t.booleanValue());case wt.ANY_UNORDERED_NODE_TYPE:case wt.FIRST_ORDERED_NODE_TYPE:if(t.constructor===st)return void(this.singleNodeValue=t.first());break;case wt.UNORDERED_NODE_ITERATOR_TYPE:case wt.ORDERED_NODE_ITERATOR_TYPE:if(t.constructor===st)return this.invalidIteratorState=!1,this.nodes=t.toArray(),void(this.iteratorIndex=0);break;case wt.UNORDERED_NODE_SNAPSHOT_TYPE:case wt.ORDERED_NODE_SNAPSHOT_TYPE:if(t.constructor===st)return this.nodes=t.toArray(),void(this.snapshotLength=this.nodes.length)}throw new At(At.TYPE_ERR)}function yt(t,e){t.createExpression=function(t,n){try{return new gt(t,n,e)}catch(t){throw new At(At.INVALID_EXPRESSION_ERR,t)}},t.createNSResolver=function(t){return new mt(t)},t.evaluate=function(n,r,i,o,s){if(o<0||o>9)throw{code:0,toString:function(){return"Request type not supported"}};return t.createExpression(n,i,e).evaluate(r,o,s)}}gt.prototype={},gt.prototype.constructor=gt,gt.superclass=Object.prototype,gt.getOwnerDocument=function(t){return t.nodeType===m?t:t.ownerDocument},gt.detectHtmlDom=function(t){if(!t)return!1;var e=gt.getOwnerDocument(t);try{return e.implementation.hasFeature("HTML","2.0")}catch(t){return!0}},gt.prototype.evaluate=function(t,e,n){return this.context.expressionContextNode=t,this.context.caseInsensitive=gt.detectHtmlDom(t),new wt(this.xpath.evaluate(this.context),e)},Et.prototype={},Et.prototype.constructor=Et,Et.superclass=Object.prototype,Et.prototype.getNamespace=function(t,e){return null==this.xpathNSResolver?null:this.xpathNSResolver.lookupNamespaceURI(t)},mt.prototype={},mt.prototype.constructor=mt,mt.superclass=Object.prototype,mt.prototype.lookupNamespaceURI=function(t){return this.namespaceResolver.getNamespace(t,this.node)},wt.prototype={},wt.prototype.constructor=wt,wt.superclass=Object.prototype,wt.prototype.iterateNext=function(){if(this.resultType!=wt.UNORDERED_NODE_ITERATOR_TYPE&&this.resultType!=wt.ORDERED_NODE_ITERATOR_TYPE)throw new At(At.TYPE_ERR);return this.nodes[this.iteratorIndex++]},wt.prototype.snapshotItem=function(t){if(this.resultType!=wt.UNORDERED_NODE_SNAPSHOT_TYPE&&this.resultType!=wt.ORDERED_NODE_SNAPSHOT_TYPE)throw new At(At.TYPE_ERR);return this.nodes[t]},wt.ANY_TYPE=0,wt.NUMBER_TYPE=1,wt.STRING_TYPE=2,wt.BOOLEAN_TYPE=3,wt.UNORDERED_NODE_ITERATOR_TYPE=4,wt.ORDERED_NODE_ITERATOR_TYPE=5,wt.UNORDERED_NODE_SNAPSHOT_TYPE=6,wt.ORDERED_NODE_SNAPSHOT_TYPE=7,wt.ANY_UNORDERED_NODE_TYPE=8,wt.FIRST_ORDERED_NODE_TYPE=9;try{var It=!0;try{document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("XPath",null)&&(It=!1)}catch(t){}It&&yt(document,new C)}catch(t){}yt(t,new C),function(){var e=new C,n=new ht,r=new ut,i=new lt;function o(t){return{getNamespace:function(e,r){return t(e,r)||n.getNamespace(e,r)}}}function s(t){return t&&"function"==typeof t.getNamespace?o((e=t).getNamespace.bind(e)):"function"==typeof t?o(t):"object"==typeof t?function(t){return o(function(e){return t[e]})}(t):n;var e}function a(t){if(null==t||t instanceof nt||t instanceof it||t instanceof rt||t instanceof st)return t;switch(typeof t){case"string":return new nt(t);case"boolean":return new it(t);case"number":return new rt(t)}var e=new st;return e.addArray([].concat(t)),e}function c(t){return{getFunction:function(e,n){var i=t(e,n);return i?function(t){return function(e){var n=Array.prototype.slice.call(arguments,1).map(function(t){return t.evaluate(e)});return a(t.apply(this,[].concat(e,n)))}}(i):r.getFunction(e,n)}}}function l(t){return t&&"function"==typeof t.getFunction?c((e=t).getFunction.bind(e)):"function"==typeof t?c(t):"object"==typeof t?function(t){return c(function(e){return t[e]})}(t):r;var e}function u(t){return{getVariable:function(e,n){return a(t(e,n))}}}function h(t,e,n){t in n&&(e[t]=n[t])}function d(t){var e=new ct;return t?(e.namespaceResolver=s(t.namespaces),e.functionResolver=l(t.functions),e.variableResolver=function(t){if(t){if("function"==typeof t.getVariable)return u(t.getVariable.bind(t));if("function"==typeof t)return u(t);if("object"==typeof t)return u(function(e){return t[e]})}return i}(t.variables),e.expressionContextNode=t.node,h("allowAnyNamespaceForNoPrefix",e,t),h("isHtml",e,t)):e.namespaceResolver=n,e}var p={evaluate:function(t){return function(t,e){var n=d(e);return t.evaluate(n)}(this.expression,t)},evaluateNumber:function(t){return this.evaluate(t).numberValue()},evaluateString:function(t){return this.evaluate(t).stringValue()},evaluateBoolean:function(t){return this.evaluate(t).booleanValue()},evaluateNodeSet:function(t){return this.evaluate(t).nodeset()},select:function(t){return this.evaluateNodeSet(t).toArray()},select1:function(t){return this.select(t)[0]}};t.parse=function(t){var n=e.parse(t);return Object.create(p,{expression:{value:n}})}}(),h(t,{XPath:B,XPathParser:C,XPathResult:wt,Step:K,PathExpr:H,NodeTest:Z,LocationPath:q,OrOperation:v,AndOperation:S,BarOperation:V,EqualsOperation:_,NotEqualOperation:L,LessThanOperation:x,GreaterThanOperation:R,LessThanOrEqualOperation:F,GreaterThanOrEqualOperation:O,PlusOperation:Q,MinusOperation:k,MultiplyOperation:U,DivOperation:P,ModOperation:G,UnaryMinusOperation:M,FunctionCall:tt,VariableReference:$,XPathContext:ct,XNodeSet:st,XBoolean:it,XString:nt,XNumber:rt,NamespaceResolver:ht,FunctionResolver:ut,VariableResolver:lt,Utilities:pt}),t.select=function(e,n,r){return t.selectWithResolver(e,n,null,r)},t.useNamespaces=function(e){var n={mappings:e||{},lookupNamespaceURI:function(t){return this.mappings[t]}};return function(e,r,i){return t.selectWithResolver(e,r,n,i)}},t.selectWithResolver=function(t,e,n,r){var i=new gt(t,n,new C),o=wt.ANY_TYPE,s=i.evaluate(e,o,null);return s.resultType==wt.STRING_TYPE?s=s.stringValue:s.resultType==wt.NUMBER_TYPE?s=s.numberValue:s.resultType==wt.BOOLEAN_TYPE?s=s.booleanValue:(s=s.nodes,r&&(s=s[0])),s},t.select1=function(e,n){return t.select(e,n,!0)};var Ct=function(t){return function(e){return n(e)&&e.nodeType===t}};h(t,{isNodeLike:n,isArrayOfNodes:function(t){return Array.isArray(t)&&t.every(n)},isElement:Ct(d),isAttribute:Ct(p),isTextNode:Ct(f),isCDATASection:Ct(A),isProcessingInstruction:Ct(g),isComment:Ct(E),isDocumentNode:Ct(m),isDocumentTypeNode:Ct(w),isDocumentFragment:Ct(y)})}(e)},3765:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n),Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e};Object.defineProperty(e,"__esModule",{value:!0}),e.possibleElisions=e.simpleRegularExpression=e.ADDRESS_BOUNDARY=e.padGroup=e.groupPossibilities=void 0;var s=o(n(630)),a=n(7604);function c(t){return a.sprintf("(%s)",t.join("|"))}function l(t){return t.length<4?a.sprintf("0{0,%d}%s",4-t.length,t):t}e.groupPossibilities=c,e.padGroup=l,e.ADDRESS_BOUNDARY="[^A-Fa-f0-9:]",e.simpleRegularExpression=function(t){var e=[];t.forEach(function(t,n){0===parseInt(t,16)&&e.push(n)});var n=e.map(function(e){return t.map(function(t,n){if(n===e){var r=0===n||n===s.GROUPS-1?":":"";return c([l(t),r])}return l(t)}).join(":")});return n.push(t.map(l).join(":")),c(n)},e.possibleElisions=function(t,e,n){var r=e?"":":",i=n?"":":",o=[];e||n||o.push("::"),e&&n&&o.push(""),(n&&!e||!n&&e)&&o.push(":"),o.push(a.sprintf("%s(:0{1,4}){1,%d}",r,t-1)),o.push(a.sprintf("(0{1,4}:){1,%d}%s",t-1,i)),o.push(a.sprintf("(0{1,4}:){%d}0{1,4}",t-1));for(var s=1;s<t-1;s++)for(var l=1;l<t-s;l++)o.push(a.sprintf("(0{1,4}:){%d}:(0{1,4}:){%d}0{1,4}",l,t-l-s-1));return c(o)}},3859:(t,e,n)=>{"use strict";n.r(e),n.d(e,{DEFAULT_LOG_CONFIG:()=>l,EVENT_TYPES:()=>s,LOGGING_ENDPOINTS:()=>r,LOG_CONFIG_STORAGE_KEY:()=>u,LOG_LEVEL:()=>a,LOG_LEVEL_MAP:()=>c,LOG_SOURCES:()=>o,LOG_TYPES:()=>i});var r={DIAGNOSTIC_LOGGING:"http://localhost:8001/api/logs"},i={BACKGROUND:"joclaim_browser_extension.BackgroundProcess",CONTENT:"joclaim_browser_extension.ContentScript",POPUP:"joclaim_browser_extension.Popup",INIT:"joclaim_browser_extension.Initialization",VERIFICATION:"joclaim_browser_extension.Verification",FETCH_DATA:"joclaim_browser_extension.FetchData",PROVIDER_DATA:"joclaim_browser_extension.ProviderData",CLAIM_CREATION:"joclaim_browser_extension.ClaimCreation",PROOF_GENERATION:"joclaim_browser_extension.ProofGeneration",PROOF_SUBMISSION:"joclaim_browser_extension.ProofSubmission",PROOF_VERIFICATION:"joclaim_browser_extension.ProofVerification",OFFSCREEN:"joclaim_browser_extension.Offscreen"},o={BACKGROUND:"background",CONTENT:"content",OFFSCREEN:"offscreen",POPUP:"popup",INJECTION:"injection"},s={IS_JOCLAIM_EXTENSION_SDK:"IS_JOCLAIM_EXTENSION_SDK",VERIFICATION_FLOW_STARTED:"VERIFICATION_FLOW_STARTED",JOCLAIM_VERIFICATION_DISMISSED:"JOCLAIM_VERIFICATION_DISMISSED",JOCLAIM_VERIFICATION_PROVIDER_LOAD_EXCEPTION:"JOCLAIM_VERIFICATION_PROVIDER_LOAD_EXCEPTION",REQUEST_MATCHED:"REQUEST_MATCHED",RESPONSE_MATCH_FAILED:"RESPONSE_MATCH_FAILED",X_PATH_MATCH_REQUIREMENT_FAILED:"X_PATH_MATCH_REQUIREMENT_FAILED",JSON_PATH_MATCH_REQUIREMENT_FAILED:"JSON_PATH_MATCH_REQUIREMENT_FAILED",REGEX_MATCH_REQUIREMENT_FAILED:"REGEX_MATCH_REQUIREMENT_FAILED",FILTERED_REQUEST_FOUND:"FILTERED_REQUEST_FOUND",FILTER_REQUEST_ERROR:"FILTER_REQUEST_ERROR",STARTING_CLAIM_CREATION:"STARTING_CLAIM_CREATION",CLAIM_CREATION_STARTED:"CLAIM_CREATION_STARTED",CLAIM_CREATION_SUCCESS:"CLAIM_CREATION_SUCCESS",CLAIM_CREATION_FAILED:"CLAIM_CREATION_FAILED",CLAIM_PARAMETER_VALIDATION_FAILED_EXCEPTION:"CLAIM_PARAMETER_VALIDATION_FAILED_EXCEPTION",OFFSCREEN_DOCUMENT_READY:"OFFSCREEN_DOCUMENT_READY",OFFSCREEN_DOCUMENT_NOT_READY_EXCEPTION:"OFFSCREEN_DOCUMENT_NOT_READY_EXCEPTION",PROOF_GENERATION_STARTED:"PROOF_GENERATION_STARTED",PROOF_GENERATION_SUCCESS:"PROOF_GENERATION_SUCCESS",PROOF_GENERATION_ABORTED:"PROOF_GENERATION_ABORTED",PROOF_GENERATION_FAILED:"PROOF_GENERATION_FAILED",RESULT_RECEIVED:"RESULT_RECEIVED",SUBMITTING_PROOF:"SUBMITTING_PROOF",SUBMITTING_PROOF_TO_CALLBACK_URL:"SUBMITTING_PROOF_TO_CALLBACK_URL",SUBMITTING_PROOF_TO_CALLBACK_URL_SUCCESS:"SUBMITTING_PROOF_TO_CALLBACK_URL_SUCCESS",SUBMITTING_PROOF_TO_CALLBACK_URL_FAILED:"SUBMITTING_PROOF_TO_CALLBACK_URL_FAILED",PROOF_SUBMISSION_FAILED:"PROOF_SUBMISSION_FAILED",PROOF_SUBMITTED:"PROOF_SUBMITTED",VERIFICATION_FLOW_FAILED:"VERIFICATION_FLOW_FAILED",TAB_NOT_MANAGED_BY_EXTENSION_EXCEPTION:"TAB_NOT_MANAGED_BY_EXTENSION_EXCEPTION",INJECTION_SCRIPT_SET_IN_LOCAL_STORAGE_FAILED:"INJECTION_SCRIPT_SET_IN_LOCAL_STORAGE_FAILED",VERIFICATION_POPUP_ERROR:"VERIFICATION_POPUP_ERROR",UPDATE_SESSION_STATUS_ERROR:"UPDATE_SESSION_STATUS_ERROR"},a={INFO:10,DEBUG:20,ALL:30},c={INFO:a.INFO,DEBUG:a.DEBUG,ALL:a.ALL},l={logLevel:"INFO",consoleEnabled:!1,source:"joclaim-extension-sdk"},u="joclaim_extension_sdk_log_config"},3917:(t,e,n)=>{"use strict";var r=n(7426),i=n(6166),o=n(6225),s=r.rotl32,a=r.sum32,c=r.sum32_5,l=o.ft_1,u=i.BlockHash,h=[1518500249,1859775393,2400959708,3395469782];function d(){if(!(this instanceof d))return new d;u.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}r.inherits(d,u),t.exports=d,d.blockSize=512,d.outSize=160,d.hmacStrength=80,d.padLength=64,d.prototype._update=function(t,e){for(var n=this.W,r=0;r<16;r++)n[r]=t[e+r];for(;r<n.length;r++)n[r]=s(n[r-3]^n[r-8]^n[r-14]^n[r-16],1);var i=this.h[0],o=this.h[1],u=this.h[2],d=this.h[3],p=this.h[4];for(r=0;r<n.length;r++){var f=~~(r/20),A=c(s(i,5),l(f,o,u,d),p,n[r],h[f]);p=d,d=u,u=s(o,30),o=i,i=A}this.h[0]=a(this.h[0],i),this.h[1]=a(this.h[1],o),this.h[2]=a(this.h[2],u),this.h[3]=a(this.h[3],d),this.h[4]=a(this.h[4],p)},d.prototype._digest=function(t){return"hex"===t?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},4874:(t,e,n)=>{"use strict";const r=n(793);t.exports=h;const i=function(){function t(t){return void 0!==t&&t}try{return"undefined"!=typeof globalThis||Object.defineProperty(Object.prototype,"globalThis",{get:function(){return delete Object.prototype.globalThis,this.globalThis=this},configurable:!0}),globalThis}catch(e){return t(self)||t(window)||t(this)||{}}}().console||{},o={mapHttpRequest:E,mapHttpResponse:E,wrapRequestSerializer:m,wrapResponseSerializer:m,wrapErrorSerializer:m,req:E,res:E,err:A,errWithCause:A};function s(t,e){return"silent"===t?1/0:e.levels.values[t]}const a=Symbol("pino.logFuncs"),c=Symbol("pino.hierarchy"),l={error:"log",fatal:"error",warn:"error",info:"log",debug:"log",trace:"log"};function u(t,e){const n={logger:e,parent:t[c]};e[c]=n}function h(t){(t=t||{}).browser=t.browser||{};const e=t.browser.transmit;if(e&&"function"!=typeof e.send)throw Error("pino: transmit option must have a send function");const n=t.browser.write||i;t.browser.write&&(t.browser.asObject=!0);const r=t.serializers||{},o=function(t,e){if(Array.isArray(t))return t.filter(function(t){return"!stdSerializers.err"!==t});return!0===t&&Object.keys(e)}(t.browser.serialize,r);let c=t.browser.serialize;Array.isArray(t.browser.serialize)&&t.browser.serialize.indexOf("!stdSerializers.err")>-1&&(c=!1);const A=Object.keys(t.customLevels||{}),E=["error","fatal","warn","info","debug","trace"].concat(A);"function"==typeof n&&E.forEach(function(t){n[t]=n}),(!1===t.enabled||t.browser.disabled)&&(t.level="silent");const m=t.level||"info",y=Object.create(n);y.log||(y.log=w),function(t,e,n){const r={};e.forEach(t=>{r[t]=n[t]?n[t]:i[t]||i[l[t]||"log"]||w}),t[a]=r}(y,E,n),u({},y),Object.defineProperty(y,"levelVal",{get:function(){return s(this.level,this)}}),Object.defineProperty(y,"level",{get:function(){return this._level},set:function(t){if("silent"!==t&&!this.levels.values[t])throw Error("unknown level "+t);this._level=t,d(this,I,y,"error"),d(this,I,y,"fatal"),d(this,I,y,"warn"),d(this,I,y,"info"),d(this,I,y,"debug"),d(this,I,y,"trace"),A.forEach(t=>{d(this,I,y,t)})}});const I={transmit:e,serialize:o,asObject:t.browser.asObject,asObjectBindingsOnly:t.browser.asObjectBindingsOnly,formatters:t.browser.formatters,levels:E,timestamp:g(t),messageKey:t.messageKey||"msg",onChild:t.onChild||w};function C(n,i,s){if(!i)throw new Error("missing bindings for child Pino");s=s||{},o&&i.serializers&&(s.serializers=i.serializers);const a=s.serializers;if(o&&a){var c=Object.assign({},r,a),l=!0===t.browser.serialize?Object.keys(c):o;delete i.serializers,p([i],l,c,this._stdErrSerialize)}function h(t){this._childLevel=1+(0|t._childLevel),this.bindings=i,c&&(this.serializers=c,this._serialize=l),e&&(this._logEvent=f([].concat(t._logEvent.bindings,i)))}h.prototype=this;const d=new h(this);return u(this,d),d.child=function(...t){return C.call(this,n,...t)},d.level=s.level||this.level,n.onChild(d),d}return y.levels=function(t){const e=t.customLevels||{},n=Object.assign({},h.levels.values,e),r=Object.assign({},h.levels.labels,function(t){const e={};return Object.keys(t).forEach(function(n){e[t[n]]=n}),e}(e));return{values:n,labels:r}}(t),y.level=m,y.isLevelEnabled=function(t){return!!this.levels.values[t]&&this.levels.values[t]>=this.levels.values[this.level]},y.setMaxListeners=y.getMaxListeners=y.emit=y.addListener=y.on=y.prependListener=y.once=y.prependOnceListener=y.removeListener=y.removeAllListeners=y.listeners=y.listenerCount=y.eventNames=y.write=y.flush=w,y.serializers=r,y._serialize=o,y._stdErrSerialize=c,y.child=function(...t){return C.call(this,I,...t)},e&&(y._logEvent=f()),y}function d(t,e,n,o){if(Object.defineProperty(t,o,{value:s(t.level,n)>s(o,n)?w:n[a][o],writable:!0,enumerable:!0,configurable:!0}),t[o]===w){if(!e.transmit)return;const r=s(e.transmit.level||t.level,n);if(s(o,n)<r)return}t[o]=function(t,e,n,o){return c=t[a][o],function(){const a=e.timestamp(),l=new Array(arguments.length),u=Object.getPrototypeOf&&Object.getPrototypeOf(this)===i?i:this;for(var h=0;h<l.length;h++)l[h]=arguments[h];var d=!1;if(e.serialize&&(p(l,this._serialize,this.serializers,this._stdErrSerialize),d=!0),e.asObject||e.formatters?c.call(u,...function(t,e,n,i,o){const{level:s,log:a=t=>t}=o.formatters||{},c=n.slice();let l=c[0];const u={};let h=1+(0|t._childLevel);if(h<1&&(h=1),i&&(u.time=i),s){const n=s(e,t.levels.values[e]);Object.assign(u,n)}else u.level=t.levels.values[e];if(o.asObjectBindingsOnly){if(null!==l&&"object"==typeof l)for(;h--&&"object"==typeof c[0];)Object.assign(u,c.shift());return[a(u),...c]}if(null!==l&&"object"==typeof l){for(;h--&&"object"==typeof c[0];)Object.assign(u,c.shift());l=c.length?r(c.shift(),c):void 0}else"string"==typeof l&&(l=r(c.shift(),c));return void 0!==l&&(u[o.messageKey]=l),[a(u)]}(this,o,l,a,e)):c.apply(u,l),e.transmit){const r=e.transmit.level||t._level,i=s(r,n),c=s(o,n);if(c<i)return;!function(t,e,n,r=!1){const i=e.send,o=e.ts,s=e.methodLevel,a=e.methodValue,c=e.val,l=t._logEvent.bindings;r||p(n,t._serialize||Object.keys(t.serializers),t.serializers,void 0===t._stdErrSerialize||t._stdErrSerialize),t._logEvent.ts=o,t._logEvent.messages=n.filter(function(t){return-1===l.indexOf(t)}),t._logEvent.level.label=s,t._logEvent.level.value=a,i(s,t._logEvent,c),t._logEvent=f(l)}(this,{ts:a,methodLevel:o,methodValue:c,transmitLevel:r,transmitValue:n.levels.values[e.transmit.level||t._level],send:e.transmit.send,val:s(t._level,n)},l,d)}};var c}(t,e,n,o);const l=function(t){const e=[];t.bindings&&e.push(t.bindings);let n=t[c];for(;n.parent;)n=n.parent,n.logger.bindings&&e.push(n.logger.bindings);return e.reverse()}(t);0!==l.length&&(t[o]=function(t,e){return function(){return e.apply(this,[...t,...arguments])}}(l,t[o]))}function p(t,e,n,r){for(const i in t)if(r&&t[i]instanceof Error)t[i]=h.stdSerializers.err(t[i]);else if("object"==typeof t[i]&&!Array.isArray(t[i])&&e)for(const r in t[i])e.indexOf(r)>-1&&r in n&&(t[i][r]=n[r](t[i][r]))}function f(t){return{ts:0,messages:[],bindings:t||[],level:{label:"",value:0}}}function A(t){const e={type:t.constructor.name,msg:t.message,stack:t.stack};for(const n in t)void 0===e[n]&&(e[n]=t[n]);return e}function g(t){return"function"==typeof t.timestamp?t.timestamp:!1===t.timestamp?y:I}function E(){return{}}function m(t){return t}function w(){}function y(){return!1}function I(){return Date.now()}h.levels={values:{fatal:60,error:50,warn:40,info:30,debug:20,trace:10},labels:{10:"trace",20:"debug",30:"info",40:"warn",50:"error",60:"fatal"}},h.stdSerializers=o,h.stdTimeFunctions=Object.assign({},{nullTime:y,epochTime:I,unixTime:function(){return Math.round(Date.now()/1e3)},isoTime:function(){return new Date(Date.now()).toISOString()}}),t.exports.default=h,t.exports.pino=h},4994:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.simpleGroup=e.spanLeadingZeroes=e.spanAll=e.spanAllZeroes=void 0;var r=n(7604);function i(t){return t.replace(/(0+)/g,'<span class="zero">$1</span>')}function o(t){return t.replace(/^(0+)/,'<span class="zero">$1</span>')}e.spanAllZeroes=i,e.spanAll=function(t,e){return void 0===e&&(e=0),t.split("").map(function(t,n){return r.sprintf('<span class="digit value-%s position-%d">%s</span>',t,n+e,i(t))}).join("")},e.spanLeadingZeroes=function(t){return t.split(":").map(function(t){return o(t)}).join(":")},e.simpleGroup=function(t,e){return void 0===e&&(e=0),t.split(":").map(function(t,n){return/group-v4/.test(t)?t:r.sprintf('<span class="hover-group group-%d">%s</span>',n+e,o(t))})}},5413:(t,e)=>{"use strict";var n;Object.defineProperty(e,"__esModule",{value:!0}),e.Doctype=e.CDATA=e.Tag=e.Style=e.Script=e.Comment=e.Directive=e.Text=e.Root=e.isTag=e.ElementType=void 0,function(t){t.Root="root",t.Text="text",t.Directive="directive",t.Comment="comment",t.Script="script",t.Style="style",t.Tag="tag",t.CDATA="cdata",t.Doctype="doctype"}(n=e.ElementType||(e.ElementType={})),e.isTag=function(t){return t.type===n.Tag||t.type===n.Script||t.type===n.Style},e.Root=n.Root,e.Text=n.Text,e.Directive=n.Directive,e.Comment=n.Comment,e.Script=n.Script,e.Style=n.Style,e.Tag=n.Tag,e.CDATA=n.CDATA,e.Doctype=n.Doctype},5606:t=>{var e,n,r=t.exports={};function i(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function s(t){if(e===setTimeout)return setTimeout(t,0);if((e===i||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(n){try{return e.call(null,t,0)}catch(n){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:i}catch(t){e=i}try{n="function"==typeof clearTimeout?clearTimeout:o}catch(t){n=o}}();var a,c=[],l=!1,u=-1;function h(){l&&a&&(l=!1,a.length?c=a.concat(c):u=-1,c.length&&d())}function d(){if(!l){var t=s(h);l=!0;for(var e=c.length;e;){for(a=c,c=[];++u<e;)a&&a[u].run();u=-1,e=c.length}a=null,l=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===o||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{return n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function p(t,e){this.fun=t,this.array=e}function f(){}r.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)e[n-1]=arguments[n];c.push(new p(t,e)),1!==c.length||l||s(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=f,r.addListener=f,r.once=f,r.off=f,r.removeListener=f,r.removeAllListeners=f,r.emit=f,r.prependListener=f,r.prependOnceListener=f,r.listeners=function(t){return[]},r.binding=function(t){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(t){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},6166:(t,e,n)=>{"use strict";var r=n(7426),i=n(3349);function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}e.BlockHash=o,o.prototype.update=function(t,e){if(t=r.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var n=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-n,t.length),0===this.pending.length&&(this.pending=null),t=r.join32(t,0,t.length-n,this.endian);for(var i=0;i<t.length;i+=this._delta32)this._update(t,i,i+this._delta32)}return this},o.prototype.digest=function(t){return this.update(this._pad()),i(null===this.pending),this._digest(t)},o.prototype._pad=function(){var t=this.pendingTotal,e=this._delta8,n=e-(t+this.padLength)%e,r=new Array(n+this.padLength);r[0]=128;for(var i=1;i<n;i++)r[i]=0;if(t<<=3,"big"===this.endian){for(var o=8;o<this.padLength;o++)r[i++]=0;r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=t>>>24&255,r[i++]=t>>>16&255,r[i++]=t>>>8&255,r[i++]=255&t}else for(r[i++]=255&t,r[i++]=t>>>8&255,r[i++]=t>>>16&255,r[i++]=t>>>24&255,r[i++]=0,r[i++]=0,r[i++]=0,r[i++]=0,o=8;o<this.padLength;o++)r[i++]=0;return r}},6225:(t,e,n)=>{"use strict";var r=n(7426).rotr32;function i(t,e,n){return t&e^~t&n}function o(t,e,n){return t&e^t&n^e&n}function s(t,e,n){return t^e^n}e.ft_1=function(t,e,n,r){return 0===t?i(e,n,r):1===t||3===t?s(e,n,r):2===t?o(e,n,r):void 0},e.ch32=i,e.maj32=o,e.p32=s,e.s0_256=function(t){return r(t,2)^r(t,13)^r(t,22)},e.s1_256=function(t){return r(t,6)^r(t,11)^r(t,25)},e.g0_256=function(t){return r(t,7)^r(t,18)^t>>>3},e.g1_256=function(t){return r(t,17)^r(t,19)^t>>>10}},6229:(t,e,n)=>{"use strict";e.sha1=n(3917),e.sha224=n(7714),e.sha256=n(2287),e.sha384=n(1911),e.sha512=n(7766)},6698:t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}},6784:(t,e,n)=>{"use strict";var r=n(7426),i=n(6166),o=r.rotl32,s=r.sum32,a=r.sum32_3,c=r.sum32_4,l=i.BlockHash;function u(){if(!(this instanceof u))return new u;l.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function h(t,e,n,r){return t<=15?e^n^r:t<=31?e&n|~e&r:t<=47?(e|~n)^r:t<=63?e&r|n&~r:e^(n|~r)}function d(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function p(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}r.inherits(u,l),e.ripemd160=u,u.blockSize=512,u.outSize=160,u.hmacStrength=192,u.padLength=64,u.prototype._update=function(t,e){for(var n=this.h[0],r=this.h[1],i=this.h[2],l=this.h[3],u=this.h[4],m=n,w=r,y=i,I=l,C=u,B=0;B<80;B++){var T=s(o(c(n,h(B,r,i,l),t[f[B]+e],d(B)),g[B]),u);n=u,u=l,l=o(i,10),i=r,r=T,T=s(o(c(m,h(79-B,w,y,I),t[A[B]+e],p(B)),E[B]),C),m=C,C=I,I=o(y,10),y=w,w=T}T=a(this.h[1],i,I),this.h[1]=a(this.h[2],l,C),this.h[2]=a(this.h[3],u,m),this.h[3]=a(this.h[4],n,w),this.h[4]=a(this.h[0],r,y),this.h[0]=T},u.prototype._digest=function(t){return"hex"===t?r.toHex32(this.h,"little"):r.split32(this.h,"little")};var f=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],A=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],g=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],E=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]},6957:function(t,e,n){"use strict";var r,i=this&&this.__extends||(r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},r(t,e)},function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),o=this&&this.__assign||function(){return o=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var i in e=arguments[n])Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i]);return t},o.apply(this,arguments)};Object.defineProperty(e,"__esModule",{value:!0}),e.cloneNode=e.hasChildren=e.isDocument=e.isDirective=e.isComment=e.isText=e.isCDATA=e.isTag=e.Element=e.Document=e.NodeWithChildren=e.ProcessingInstruction=e.Comment=e.Text=e.DataNode=e.Node=void 0;var s=n(5413),a=new Map([[s.ElementType.Tag,1],[s.ElementType.Script,1],[s.ElementType.Style,1],[s.ElementType.Directive,1],[s.ElementType.Text,3],[s.ElementType.CDATA,4],[s.ElementType.Comment,8],[s.ElementType.Root,9]]),c=function(){function t(t){this.type=t,this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}return Object.defineProperty(t.prototype,"nodeType",{get:function(){var t;return null!==(t=a.get(this.type))&&void 0!==t?t:1},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.parent},set:function(t){this.parent=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"previousSibling",{get:function(){return this.prev},set:function(t){this.prev=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"nextSibling",{get:function(){return this.next},set:function(t){this.next=t},enumerable:!1,configurable:!0}),t.prototype.cloneNode=function(t){return void 0===t&&(t=!1),C(this,t)},t}();e.Node=c;var l=function(t){function e(e,n){var r=t.call(this,e)||this;return r.data=n,r}return i(e,t),Object.defineProperty(e.prototype,"nodeValue",{get:function(){return this.data},set:function(t){this.data=t},enumerable:!1,configurable:!0}),e}(c);e.DataNode=l;var u=function(t){function e(e){return t.call(this,s.ElementType.Text,e)||this}return i(e,t),e}(l);e.Text=u;var h=function(t){function e(e){return t.call(this,s.ElementType.Comment,e)||this}return i(e,t),e}(l);e.Comment=h;var d=function(t){function e(e,n){var r=t.call(this,s.ElementType.Directive,n)||this;return r.name=e,r}return i(e,t),e}(l);e.ProcessingInstruction=d;var p=function(t){function e(e,n){var r=t.call(this,e)||this;return r.children=n,r}return i(e,t),Object.defineProperty(e.prototype,"firstChild",{get:function(){var t;return null!==(t=this.children[0])&&void 0!==t?t:null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lastChild",{get:function(){return this.children.length>0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"childNodes",{get:function(){return this.children},set:function(t){this.children=t},enumerable:!1,configurable:!0}),e}(c);e.NodeWithChildren=p;var f=function(t){function e(e){return t.call(this,s.ElementType.Root,e)||this}return i(e,t),e}(p);e.Document=f;var A=function(t){function e(e,n,r,i){void 0===r&&(r=[]),void 0===i&&(i="script"===e?s.ElementType.Script:"style"===e?s.ElementType.Style:s.ElementType.Tag);var o=t.call(this,i,r)||this;return o.name=e,o.attribs=n,o}return i(e,t),Object.defineProperty(e.prototype,"tagName",{get:function(){return this.name},set:function(t){this.name=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"attributes",{get:function(){var t=this;return Object.keys(this.attribs).map(function(e){var n,r;return{name:e,value:t.attribs[e],namespace:null===(n=t["x-attribsNamespace"])||void 0===n?void 0:n[e],prefix:null===(r=t["x-attribsPrefix"])||void 0===r?void 0:r[e]}})},enumerable:!1,configurable:!0}),e}(p);function g(t){return(0,s.isTag)(t)}function E(t){return t.type===s.ElementType.CDATA}function m(t){return t.type===s.ElementType.Text}function w(t){return t.type===s.ElementType.Comment}function y(t){return t.type===s.ElementType.Directive}function I(t){return t.type===s.ElementType.Root}function C(t,e){var n;if(void 0===e&&(e=!1),m(t))n=new u(t.data);else if(w(t))n=new h(t.data);else if(g(t)){var r=e?B(t.children):[],i=new A(t.name,o({},t.attribs),r);r.forEach(function(t){return t.parent=i}),null!=t.namespace&&(i.namespace=t.namespace),t["x-attribsNamespace"]&&(i["x-attribsNamespace"]=o({},t["x-attribsNamespace"])),t["x-attribsPrefix"]&&(i["x-attribsPrefix"]=o({},t["x-attribsPrefix"])),n=i}else if(E(t)){r=e?B(t.children):[];var a=new p(s.ElementType.CDATA,r);r.forEach(function(t){return t.parent=a}),n=a}else if(I(t)){r=e?B(t.children):[];var c=new f(r);r.forEach(function(t){return t.parent=c}),t["x-mode"]&&(c["x-mode"]=t["x-mode"]),n=c}else{if(!y(t))throw new Error("Not implemented yet: ".concat(t.type));var l=new d(t.name,t.data);null!=t["x-name"]&&(l["x-name"]=t["x-name"],l["x-publicId"]=t["x-publicId"],l["x-systemId"]=t["x-systemId"]),n=l}return n.startIndex=t.startIndex,n.endIndex=t.endIndex,null!=t.sourceCodeLocation&&(n.sourceCodeLocation=t.sourceCodeLocation),n}function B(t){for(var e=t.map(function(t){return C(t,!0)}),n=1;n<e.length;n++)e[n].prev=e[n-1],e[n-1].next=e[n];return e}e.Element=A,e.isTag=g,e.isCDATA=E,e.isText=m,e.isComment=w,e.isDirective=y,e.isDocument=I,e.hasChildren=function(t){return Object.prototype.hasOwnProperty.call(t,"children")},e.cloneNode=C},7426:(t,e,n)=>{"use strict";var r=n(3349),i=n(6698);function o(t,e){return 55296==(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1)))}function s(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function a(t){return 1===t.length?"0"+t:t}function c(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}e.inherits=i,e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var n=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),i=0;i<t.length;i+=2)n.push(parseInt(t[i]+t[i+1],16))}else for(var r=0,i=0;i<t.length;i++){var s=t.charCodeAt(i);s<128?n[r++]=s:s<2048?(n[r++]=s>>6|192,n[r++]=63&s|128):o(t,i)?(s=65536+((1023&s)<<10)+(1023&t.charCodeAt(++i)),n[r++]=s>>18|240,n[r++]=s>>12&63|128,n[r++]=s>>6&63|128,n[r++]=63&s|128):(n[r++]=s>>12|224,n[r++]=s>>6&63|128,n[r++]=63&s|128)}else for(i=0;i<t.length;i++)n[i]=0|t[i];return n},e.toHex=function(t){for(var e="",n=0;n<t.length;n++)e+=a(t[n].toString(16));return e},e.htonl=s,e.toHex32=function(t,e){for(var n="",r=0;r<t.length;r++){var i=t[r];"little"===e&&(i=s(i)),n+=c(i.toString(16))}return n},e.zero2=a,e.zero8=c,e.join32=function(t,e,n,i){var o=n-e;r(o%4==0);for(var s=new Array(o/4),a=0,c=e;a<s.length;a++,c+=4){var l;l="big"===i?t[c]<<24|t[c+1]<<16|t[c+2]<<8|t[c+3]:t[c+3]<<24|t[c+2]<<16|t[c+1]<<8|t[c],s[a]=l>>>0}return s},e.split32=function(t,e){for(var n=new Array(4*t.length),r=0,i=0;r<t.length;r++,i+=4){var o=t[r];"big"===e?(n[i]=o>>>24,n[i+1]=o>>>16&255,n[i+2]=o>>>8&255,n[i+3]=255&o):(n[i+3]=o>>>24,n[i+2]=o>>>16&255,n[i+1]=o>>>8&255,n[i]=255&o)}return n},e.rotr32=function(t,e){return t>>>e|t<<32-e},e.rotl32=function(t,e){return t<<e|t>>>32-e},e.sum32=function(t,e){return t+e>>>0},e.sum32_3=function(t,e,n){return t+e+n>>>0},e.sum32_4=function(t,e,n,r){return t+e+n+r>>>0},e.sum32_5=function(t,e,n,r,i){return t+e+n+r+i>>>0},e.sum64=function(t,e,n,r){var i=t[e],o=r+t[e+1]>>>0,s=(o<r?1:0)+n+i;t[e]=s>>>0,t[e+1]=o},e.sum64_hi=function(t,e,n,r){return(e+r>>>0<e?1:0)+t+n>>>0},e.sum64_lo=function(t,e,n,r){return e+r>>>0},e.sum64_4_hi=function(t,e,n,r,i,o,s,a){var c=0,l=e;return c+=(l=l+r>>>0)<e?1:0,c+=(l=l+o>>>0)<o?1:0,t+n+i+s+(c+=(l=l+a>>>0)<a?1:0)>>>0},e.sum64_4_lo=function(t,e,n,r,i,o,s,a){return e+r+o+a>>>0},e.sum64_5_hi=function(t,e,n,r,i,o,s,a,c,l){var u=0,h=e;return u+=(h=h+r>>>0)<e?1:0,u+=(h=h+o>>>0)<o?1:0,u+=(h=h+a>>>0)<a?1:0,t+n+i+s+c+(u+=(h=h+l>>>0)<l?1:0)>>>0},e.sum64_5_lo=function(t,e,n,r,i,o,s,a,c,l){return e+r+o+a+l>>>0},e.rotr64_hi=function(t,e,n){return(e<<32-n|t>>>n)>>>0},e.rotr64_lo=function(t,e,n){return(t<<32-n|e>>>n)>>>0},e.shr64_hi=function(t,e,n){return t>>>n},e.shr64_lo=function(t,e,n){return(t<<32-n|e>>>n)>>>0}},7526:(t,e)=>{"use strict";e.byteLength=function(t){var e=a(t),n=e[0],r=e[1];return 3*(n+r)/4-r},e.toByteArray=function(t){var e,n,o=a(t),s=o[0],c=o[1],l=new i(function(t,e,n){return 3*(e+n)/4-n}(0,s,c)),u=0,h=c>0?s-4:s;for(n=0;n<h;n+=4)e=r[t.charCodeAt(n)]<<18|r[t.charCodeAt(n+1)]<<12|r[t.charCodeAt(n+2)]<<6|r[t.charCodeAt(n+3)],l[u++]=e>>16&255,l[u++]=e>>8&255,l[u++]=255&e;2===c&&(e=r[t.charCodeAt(n)]<<2|r[t.charCodeAt(n+1)]>>4,l[u++]=255&e);1===c&&(e=r[t.charCodeAt(n)]<<10|r[t.charCodeAt(n+1)]<<4|r[t.charCodeAt(n+2)]>>2,l[u++]=e>>8&255,l[u++]=255&e);return l},e.fromByteArray=function(t){for(var e,r=t.length,i=r%3,o=[],s=16383,a=0,c=r-i;a<c;a+=s)o.push(l(t,a,a+s>c?c:a+s));1===i?(e=t[r-1],o.push(n[e>>2]+n[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],o.push(n[e>>10]+n[e>>4&63]+n[e<<2&63]+"="));return o.join("")};for(var n=[],r=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0;s<64;++s)n[s]=o[s],r[o.charCodeAt(s)]=s;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var n=t.indexOf("=");return-1===n&&(n=e),[n,n===e?0:4-n%4]}function c(t){return n[t>>18&63]+n[t>>12&63]+n[t>>6&63]+n[63&t]}function l(t,e,n){for(var r,i=[],o=e;o<n;o+=3)r=(t[o]<<16&16711680)+(t[o+1]<<8&65280)+(255&t[o+2]),i.push(c(r));return i.join("")}r["-".charCodeAt(0)]=62,r["_".charCodeAt(0)]=63},7604:(t,e,n)=>{var r;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function o(t){return function(t,e){var n,r,s,a,c,l,u,h,d,p=1,f=t.length,A="";for(r=0;r<f;r++)if("string"==typeof t[r])A+=t[r];else if("object"==typeof t[r]){if((a=t[r]).keys)for(n=e[p],s=0;s<a.keys.length;s++){if(null==n)throw new Error(o('[sprintf] Cannot access property "%s" of undefined value "%s"',a.keys[s],a.keys[s-1]));n=n[a.keys[s]]}else n=a.param_no?e[a.param_no]:e[p++];if(i.not_type.test(a.type)&&i.not_primitive.test(a.type)&&n instanceof Function&&(n=n()),i.numeric_arg.test(a.type)&&"number"!=typeof n&&isNaN(n))throw new TypeError(o("[sprintf] expecting number but found %T",n));switch(i.number.test(a.type)&&(h=n>=0),a.type){case"b":n=parseInt(n,10).toString(2);break;case"c":n=String.fromCharCode(parseInt(n,10));break;case"d":case"i":n=parseInt(n,10);break;case"j":n=JSON.stringify(n,null,a.width?parseInt(a.width):0);break;case"e":n=a.precision?parseFloat(n).toExponential(a.precision):parseFloat(n).toExponential();break;case"f":n=a.precision?parseFloat(n).toFixed(a.precision):parseFloat(n);break;case"g":n=a.precision?String(Number(n.toPrecision(a.precision))):parseFloat(n);break;case"o":n=(parseInt(n,10)>>>0).toString(8);break;case"s":n=String(n),n=a.precision?n.substring(0,a.precision):n;break;case"t":n=String(!!n),n=a.precision?n.substring(0,a.precision):n;break;case"T":n=Object.prototype.toString.call(n).slice(8,-1).toLowerCase(),n=a.precision?n.substring(0,a.precision):n;break;case"u":n=parseInt(n,10)>>>0;break;case"v":n=n.valueOf(),n=a.precision?n.substring(0,a.precision):n;break;case"x":n=(parseInt(n,10)>>>0).toString(16);break;case"X":n=(parseInt(n,10)>>>0).toString(16).toUpperCase()}i.json.test(a.type)?A+=n:(!i.number.test(a.type)||h&&!a.sign?d="":(d=h?"+":"-",n=n.toString().replace(i.sign,"")),l=a.pad_char?"0"===a.pad_char?"0":a.pad_char.charAt(1):" ",u=a.width-(d+n).length,c=a.width&&u>0?l.repeat(u):"",A+=a.align?d+n+c:"0"===l?d+c+n:c+d+n)}return A}(function(t){if(a[t])return a[t];var e,n=t,r=[],o=0;for(;n;){if(null!==(e=i.text.exec(n)))r.push(e[0]);else if(null!==(e=i.modulo.exec(n)))r.push("%");else{if(null===(e=i.placeholder.exec(n)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){o|=1;var s=[],c=e[2],l=[];if(null===(l=i.key.exec(c)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(s.push(l[1]);""!==(c=c.substring(l[0].length));)if(null!==(l=i.key_access.exec(c)))s.push(l[1]);else{if(null===(l=i.index_access.exec(c)))throw new SyntaxError("[sprintf] failed to parse named argument key");s.push(l[1])}e[2]=s}else o|=2;if(3===o)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");r.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}n=n.substring(e[0].length)}return a[t]=r}(t),arguments)}function s(t,e){return o.apply(null,[t].concat(e||[]))}var a=Object.create(null);e.sprintf=o,e.vsprintf=s,"undefined"!=typeof window&&(window.sprintf=o,window.vsprintf=s,void 0===(r=function(){return{sprintf:o,vsprintf:s}}.call(e,n,e,t))||(t.exports=r))}()},7714:(t,e,n)=>{"use strict";var r=n(7426),i=n(2287);function o(){if(!(this instanceof o))return new o;i.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}r.inherits(o,i),t.exports=o,o.blockSize=512,o.outSize=224,o.hmacStrength=192,o.padLength=64,o.prototype._digest=function(t){return"hex"===t?r.toHex32(this.h.slice(0,7),"big"):r.split32(this.h.slice(0,7),"big")}},7766:(t,e,n)=>{"use strict";var r=n(7426),i=n(6166),o=n(3349),s=r.rotr64_hi,a=r.rotr64_lo,c=r.shr64_hi,l=r.shr64_lo,u=r.sum64,h=r.sum64_hi,d=r.sum64_lo,p=r.sum64_4_hi,f=r.sum64_4_lo,A=r.sum64_5_hi,g=r.sum64_5_lo,E=i.BlockHash,m=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function w(){if(!(this instanceof w))return new w;E.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=m,this.W=new Array(160)}function y(t,e,n,r,i){var o=t&n^~t&i;return o<0&&(o+=4294967296),o}function I(t,e,n,r,i,o){var s=e&r^~e&o;return s<0&&(s+=4294967296),s}function C(t,e,n,r,i){var o=t&n^t&i^n&i;return o<0&&(o+=4294967296),o}function B(t,e,n,r,i,o){var s=e&r^e&o^r&o;return s<0&&(s+=4294967296),s}function T(t,e){var n=s(t,e,28)^s(e,t,2)^s(e,t,7);return n<0&&(n+=4294967296),n}function D(t,e){var n=a(t,e,28)^a(e,t,2)^a(e,t,7);return n<0&&(n+=4294967296),n}function b(t,e){var n=s(t,e,14)^s(t,e,18)^s(e,t,9);return n<0&&(n+=4294967296),n}function M(t,e){var n=a(t,e,14)^a(t,e,18)^a(e,t,9);return n<0&&(n+=4294967296),n}function N(t,e){var n=s(t,e,1)^s(t,e,8)^c(t,e,7);return n<0&&(n+=4294967296),n}function v(t,e){var n=a(t,e,1)^a(t,e,8)^l(t,e,7);return n<0&&(n+=4294967296),n}function S(t,e){var n=s(t,e,19)^s(e,t,29)^c(t,e,6);return n<0&&(n+=4294967296),n}function _(t,e){var n=a(t,e,19)^a(e,t,29)^l(t,e,6);return n<0&&(n+=4294967296),n}r.inherits(w,E),t.exports=w,w.blockSize=1024,w.outSize=512,w.hmacStrength=192,w.padLength=128,w.prototype._prepareBlock=function(t,e){for(var n=this.W,r=0;r<32;r++)n[r]=t[e+r];for(;r<n.length;r+=2){var i=S(n[r-4],n[r-3]),o=_(n[r-4],n[r-3]),s=n[r-14],a=n[r-13],c=N(n[r-30],n[r-29]),l=v(n[r-30],n[r-29]),u=n[r-32],h=n[r-31];n[r]=p(i,o,s,a,c,l,u,h),n[r+1]=f(i,o,s,a,c,l,u,h)}},w.prototype._update=function(t,e){this._prepareBlock(t,e);var n=this.W,r=this.h[0],i=this.h[1],s=this.h[2],a=this.h[3],c=this.h[4],l=this.h[5],p=this.h[6],f=this.h[7],E=this.h[8],m=this.h[9],w=this.h[10],N=this.h[11],v=this.h[12],S=this.h[13],_=this.h[14],L=this.h[15];o(this.k.length===n.length);for(var x=0;x<n.length;x+=2){var R=_,F=L,O=b(E,m),Q=M(E,m),k=y(E,m,w,N,v),U=I(E,m,w,N,v,S),P=this.k[x],G=this.k[x+1],V=n[x],H=n[x+1],j=A(R,F,O,Q,k,U,P,G,V,H),Y=g(R,F,O,Q,k,U,P,G,V,H);R=T(r,i),F=D(r,i),O=C(r,i,s,a,c),Q=B(r,i,s,a,c,l);var z=h(R,F,O,Q),J=d(R,F,O,Q);_=v,L=S,v=w,S=N,w=E,N=m,E=h(p,f,j,Y),m=d(f,f,j,Y),p=c,f=l,c=s,l=a,s=r,a=i,r=h(j,Y,z,J),i=d(j,Y,z,J)}u(this.h,0,r,i),u(this.h,2,s,a),u(this.h,4,c,l),u(this.h,6,p,f),u(this.h,8,E,m),u(this.h,10,w,N),u(this.h,12,v,S),u(this.h,14,_,L)},w.prototype._digest=function(t){return"hex"===t?r.toHex32(this.h,"big"):r.split32(this.h,"big")}},7770:(t,e,n)=>{"use strict";n.d(e,{y8:()=>I,Ow:()=>y});var r=n(3859);function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}function o(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,s(r.key),r)}}function s(t){var e=function(t,e){if("object"!=i(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=i(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==i(e)?e:e+""}var a=function(){function t(e){var n=e.sessionId,r=e.providerId,i=e.appId,o=e.logLine,s=e.type,a=e.eventType,c=e.logLevel,l=e.source,u=e.tabId,h=e.url,d=e.meta,p=e.time,f=void 0===p?null:p,A=e.deviceId;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sessionId=n,this.providerId=r,this.appId=i,this.logLine=o,this.type=s,this.eventType=a,this.logLevel=c,this.source=l,this.tabId=u,this.url=h,this.meta=d||void 0,this.time=f||new Date,this.deviceId=A}return e=t,r=[{key:"fromDateTimeToTimeStamp",value:function(t){return(1e6*t.getTime()).toString()}}],(n=[{key:"toJson",value:function(){var e={logLine:this.logLine,ts:t.fromDateTimeToTimeStamp(this.time),logLevel:this.logLevel,sessionId:this.sessionId,providerId:this.providerId,appId:this.appId,source:this.source,deviceId:this.deviceId};return this.type&&(e.type=this.type),this.eventType&&(e.eventType=this.eventType),this.tabId&&(e.tabId=this.tabId),this.url&&(e.url=this.url),this.meta&&(e.meta=this.meta),e}}])&&o(e.prototype,n),r&&o(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,n,r}();function c(t){return function(t){if(Array.isArray(t))return l(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return l(t,e);var n={}.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function u(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",i=n.toStringTag||"@@toStringTag";function o(n,r,i,o){var c=r&&r.prototype instanceof a?r:a,l=Object.create(c.prototype);return h(l,"_invoke",function(n,r,i){var o,a,c,l=0,u=i||[],h=!1,d={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return o=e,a=0,c=t,d.n=n,s}};function p(n,r){for(a=n,c=r,e=0;!h&&l&&!i&&e<u.length;e++){var i,o=u[e],p=d.p,f=o[2];n>3?(i=f===r)&&(c=o[(a=o[4])?5:(a=3,3)],o[4]=o[5]=t):o[0]<=p&&((i=n<2&&p<o[1])?(a=0,d.v=r,d.n=o[1]):p<f&&(i=n<3||o[0]>r||r>f)&&(o[4]=n,o[5]=r,d.n=f,a=0))}if(i||n>1)return s;throw h=!0,r}return function(i,u,f){if(l>1)throw TypeError("Generator is already running");for(h&&1===u&&p(u,f),a=u,c=f;(e=a<2?t:c)||!h;){o||(a?a<3?(a>1&&(d.n=-1),p(a,c)):d.n=c:d.v=c);try{if(l=2,o){if(a||(i="next"),e=o[i]){if(!(e=e.call(o,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,a<2&&(a=0)}else 1===a&&(e=o.return)&&e.call(o),a<2&&(c=TypeError("The iterator does not provide a '"+i+"' method"),a=1);o=t}else if((e=(h=d.n<0)?c:n.call(r,d))!==s)break}catch(e){o=t,a=1,c=e}finally{l=1}}return{value:e,done:h}}}(n,i,o),!0),l}var s={};function a(){}function c(){}function l(){}e=Object.getPrototypeOf;var d=[][r]?e(e([][r]())):(h(e={},r,function(){return this}),e),p=l.prototype=a.prototype=Object.create(d);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,h(t,i,"GeneratorFunction")),t.prototype=Object.create(p),t}return c.prototype=l,h(p,"constructor",l),h(l,"constructor",c),c.displayName="GeneratorFunction",h(l,i,"GeneratorFunction"),h(p),h(p,i,"Generator"),h(p,r,function(){return this}),h(p,"toString",function(){return"[object Generator]"}),(u=function(){return{w:o,m:f}})()}function h(t,e,n,r){var i=Object.defineProperty;try{i({},"",{})}catch(t){i=0}h=function(t,e,n,r){function o(e,n){h(t,e,function(t){return this._invoke(e,n,t)})}e?i?i(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(o("next",0),o("throw",1),o("return",2))},h(t,e,n,r)}function d(t,e,n,r,i,o,s){try{var a=t[o](s),c=a.value}catch(t){return void n(t)}a.done?e(c):Promise.resolve(c).then(r,i)}function p(t){return function(){var e=this,n=arguments;return new Promise(function(r,i){var o=t.apply(e,n);function s(t){d(o,r,i,s,a,"next",t)}function a(t){d(o,r,i,s,a,"throw",t)}s(void 0)})}}function f(t){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},f(t)}function A(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function g(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?A(Object(n),!0).forEach(function(e){E(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):A(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function E(t,e,n){return(e=w(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function m(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,w(r.key),r)}}function w(t){var e=function(t,e){if("object"!=f(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=f(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==f(e)?e:e+""}var y=new(function(){return t=function t(){var e=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.logs=[],this.isSending=!1,this.maxBatchSize=20,this.flushInterval=5e3,this.flushIntervalId=null,this.config=g({},r.DEFAULT_LOG_CONFIG),this.deviceId=null;try{var n;"undefined"!=typeof chrome&&null!==(n=chrome.storage)&&void 0!==n&&n.local&&(chrome.storage.local.get([r.LOG_CONFIG_STORAGE_KEY],function(t){var n=null==t?void 0:t[r.LOG_CONFIG_STORAGE_KEY];n&&"object"===f(n)&&e.setConfig(n)}),chrome.storage.onChanged.addListener(function(t,n){if("local"===n&&t[r.LOG_CONFIG_STORAGE_KEY]){var i=t[r.LOG_CONFIG_STORAGE_KEY].newValue||{};e.setConfig(i)}}))}catch(t){}this.startFlushInterval()},e=[{key:"setConfig",value:function(t){this.config=g(g({},this.config),t)}},{key:"startFlushInterval",value:function(){var t=this;this.flushIntervalId&&clearInterval(this.flushIntervalId),this.flushIntervalId=setInterval(function(){return t.flush()},this.flushInterval)}},{key:"stopFlushInterval",value:function(){this.flushIntervalId&&(clearInterval(this.flushIntervalId),this.flushIntervalId=null)}},{key:"getDeviceLoggingId",value:(s=p(u().m(function t(){var e;return u().w(function(t){for(;;)switch(t.p=t.n){case 0:if(!this.deviceId){t.n=1;break}return t.a(2,this.deviceId);case 1:if(t.p=1,"undefined"==typeof chrome||!chrome.storage){t.n=3;break}return t.n=2,chrome.storage.local.get(["joclaim_device_id"]);case 2:if(!(e=t.v).joclaim_device_id){t.n=3;break}return this.deviceId=e.joclaim_device_id,t.a(2,this.deviceId);case 3:t.n=5;break;case 4:t.p=4,t.v;case 5:if(this.deviceId="undefined"!=typeof crypto&&crypto.randomUUID?crypto.randomUUID():String(Date.now()),t.p=6,"undefined"==typeof chrome||!chrome.storage){t.n=7;break}return t.n=7,chrome.storage.local.set({joclaim_device_id:this.deviceId});case 7:t.n=9;break;case 8:t.p=8,t.v;case 9:return t.a(2,this.deviceId)}},t,this,[[6,8],[1,4]])})),function(){return s.apply(this,arguments)})},{key:"addLog",value:function(t){this.logs.push(t),this.logs.length>=this.maxBatchSize&&this.flush()}},{key:"shouldLog",value:function(t){return t<=(r.LOG_LEVEL_MAP[this.config.logLevel]||r.LOG_LEVEL.INFO)}},{key:"emitToConsole",value:function(t,e,n){var r="[".concat(t,"]"),i="".concat(r," ").concat(e);n?console.log(i,n):console.log(i)}},{key:"log",value:function(t){var e=t.message,n=t.logLevel,r=t.type,i=t.eventType,o=t.meta,s=t.sessionId,c=t.providerId,l=t.appId,u=t.source,h=t.tabId,d=t.url;if(e&&n){if(this.shouldLog(n)){this.config.consoleEnabled&&this.emitToConsole(n,e,o);var p=new a({sessionId:s||"unknown",providerId:c||"unknown",appId:l||"unknown",logLine:e,type:r,eventType:i,logLevel:n,source:u||this.config.source,tabId:h,url:d,meta:o,time:new Date});this.addLog(p)}}else console.error("Logger: message and logLevel are required")}},{key:"flush",value:(o=p(u().m(function t(){var e,n;return u().w(function(t){for(;;)switch(t.p=t.n){case 0:if(0!==this.logs.length&&!this.isSending){t.n=1;break}return t.a(2);case 1:return e=c(this.logs),this.logs=[],t.p=2,this.isSending=!0,t.n=3,this.sendLogs(e);case 3:t.n=5;break;case 4:t.p=4,n=t.v,console.error("Error flushing logs:",n),this.logs=[].concat(c(this.logs),c(e));case 5:return t.p=5,this.isSending=!1,t.f(5);case 6:return t.a(2)}},t,this,[[2,4,5,6]])})),function(){return o.apply(this,arguments)})},{key:"sendLogs",value:(i=p(u().m(function t(e){var n,i,o,s,a,c,l;return u().w(function(t){for(;;)switch(t.n){case 0:if(null!=e&&e.length){t.n=1;break}return t.a(2);case 1:return t.n=2,this.getDeviceLoggingId();case 2:return n=t.v,i=e.map(function(t){var e=t.toJson();return e.deviceId=e.deviceId||n,e}),o=JSON.stringify({logs:i,source:this.config.source,deviceId:n}),t.n=3,fetch(r.LOGGING_ENDPOINTS.DIAGNOSTIC_LOGGING,{method:"POST",headers:{"Content-Type":"application/json"},body:o});case 3:if((s=t.v).ok){t.n=5;break}return a=console,c="Failed to send ".concat(e.length," logs"),t.n=4,s.text();case 4:l=t.v,a.error.call(a,c,l);case 5:return t.a(2)}},t,this)})),function(t){return i.apply(this,arguments)})}],e&&m(t.prototype,e),n&&m(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t;var t,e,n,i,o,s}()),I=function(){var t,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=g({sessionId:"unknown",providerId:"unknown",appId:"unknown",source:(null===(t=y.config)||void 0===t?void 0:t.source)||"joclaim-extension-sdk"},e);return{get context(){return g({},n)},setContext:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.assign(n,t)},log:function(t){y.log(g(g({},n),t))},info:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};y.log(g(g({},n),{},{logLevel:"INFO"},t))},debug:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};y.log(g(g({},n),{},{logLevel:"DEBUG"},t))},all:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};y.log(g(g({},n),{},{logLevel:"ALL"},t))},error:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};y.log(g(g({},n),{},{logLevel:"ALL"},t))}}}},7790:()=>{},7952:(t,e,n)=>{var r=e;r.utils=n(7426),r.common=n(6166),r.sha=n(6229),r.ripemd=n(6784),r.hmac=n(8948),r.sha1=r.sha.sha1,r.sha256=r.sha.sha256,r.sha224=r.sha.sha224,r.sha384=r.sha.sha384,r.sha512=r.sha.sha512,r.ripemd160=r.ripemd.ripemd160},8141:()=>{},8177:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isCorrect=e.isInSubnet=void 0,e.isInSubnet=function(t){return!(this.subnetMask<t.subnetMask)&&this.mask(t.subnetMask)===t.mask()},e.isCorrect=function(t){return function(){return this.addressMinusSuffix===this.correctForm()&&(this.subnetMask===t&&!this.parsedSubnet||this.parsedSubnet===String(this.subnetMask))}}},8287:(t,e,n)=>{"use strict";
13
- /*!
14
- * The buffer module from node.js, for the browser.
15
- *
16
- * @author Feross Aboukhadijeh <https://feross.org>
17
- * @license MIT
18
- */
19
- const r=n(7526),i=n(251),o="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.hp=c,e.IS=50;const s=2147483647;function a(t){if(t>s)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,c.prototype),e}function c(t,e,n){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return h(t)}return l(t,e,n)}function l(t,e,n){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!c.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const n=0|A(t,e);let r=a(n);const i=r.write(t,e);i!==n&&(r=r.slice(0,i));return r}(t,e);if(ArrayBuffer.isView(t))return function(t){if(q(t,Uint8Array)){const e=new Uint8Array(t);return p(e.buffer,e.byteOffset,e.byteLength)}return d(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(q(t,ArrayBuffer)||t&&q(t.buffer,ArrayBuffer))return p(t,e,n);if("undefined"!=typeof SharedArrayBuffer&&(q(t,SharedArrayBuffer)||t&&q(t.buffer,SharedArrayBuffer)))return p(t,e,n);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const r=t.valueOf&&t.valueOf();if(null!=r&&r!==t)return c.from(r,e,n);const i=function(t){if(c.isBuffer(t)){const e=0|f(t.length),n=a(e);return 0===n.length||t.copy(n,0,0,e),n}if(void 0!==t.length)return"number"!=typeof t.length||K(t.length)?a(0):d(t);if("Buffer"===t.type&&Array.isArray(t.data))return d(t.data)}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return c.from(t[Symbol.toPrimitive]("string"),e,n);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function u(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function h(t){return u(t),a(t<0?0:0|f(t))}function d(t){const e=t.length<0?0:0|f(t.length),n=a(e);for(let r=0;r<e;r+=1)n[r]=255&t[r];return n}function p(t,e,n){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(n||0))throw new RangeError('"length" is outside of buffer bounds');let r;return r=void 0===e&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,e):new Uint8Array(t,e,n),Object.setPrototypeOf(r,c.prototype),r}function f(t){if(t>=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return 0|t}function A(t,e){if(c.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||q(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const n=t.length,r=arguments.length>2&&!0===arguments[2];if(!r&&0===n)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":return z(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return J(t).length;default:if(i)return r?-1:z(t).length;e=(""+e).toLowerCase(),i=!0}}function g(t,e,n){let r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if((n>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return S(this,e,n);case"utf8":case"utf-8":return b(this,e,n);case"ascii":return N(this,e,n);case"latin1":case"binary":return v(this,e,n);case"base64":return D(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function E(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}function m(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),K(n=+n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=c.from(e,r)),c.isBuffer(e))return 0===e.length?-1:w(t,e,n,r,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):w(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function w(t,e,n,r,i){let o,s=1,a=t.length,c=e.length;if(void 0!==r&&("ucs2"===(r=String(r).toLowerCase())||"ucs-2"===r||"utf16le"===r||"utf-16le"===r)){if(t.length<2||e.length<2)return-1;s=2,a/=2,c/=2,n/=2}function l(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(i){let r=-1;for(o=n;o<a;o++)if(l(t,o)===l(e,-1===r?0:o-r)){if(-1===r&&(r=o),o-r+1===c)return r*s}else-1!==r&&(o-=o-r),r=-1}else for(n+c>a&&(n=a-c),o=n;o>=0;o--){let n=!0;for(let r=0;r<c;r++)if(l(t,o+r)!==l(e,r)){n=!1;break}if(n)return o}return-1}function y(t,e,n,r){n=Number(n)||0;const i=t.length-n;r?(r=Number(r))>i&&(r=i):r=i;const o=e.length;let s;for(r>o/2&&(r=o/2),s=0;s<r;++s){const r=parseInt(e.substr(2*s,2),16);if(K(r))return s;t[n+s]=r}return s}function I(t,e,n,r){return W(z(e,t.length-n),t,n,r)}function C(t,e,n,r){return W(function(t){const e=[];for(let n=0;n<t.length;++n)e.push(255&t.charCodeAt(n));return e}(e),t,n,r)}function B(t,e,n,r){return W(J(e),t,n,r)}function T(t,e,n,r){return W(function(t,e){let n,r,i;const o=[];for(let s=0;s<t.length&&!((e-=2)<0);++s)n=t.charCodeAt(s),r=n>>8,i=n%256,o.push(i),o.push(r);return o}(e,t.length-n),t,n,r)}function D(t,e,n){return 0===e&&n===t.length?r.fromByteArray(t):r.fromByteArray(t.slice(e,n))}function b(t,e,n){n=Math.min(t.length,n);const r=[];let i=e;for(;i<n;){const e=t[i];let o=null,s=e>239?4:e>223?3:e>191?2:1;if(i+s<=n){let n,r,a,c;switch(s){case 1:e<128&&(o=e);break;case 2:n=t[i+1],128==(192&n)&&(c=(31&e)<<6|63&n,c>127&&(o=c));break;case 3:n=t[i+1],r=t[i+2],128==(192&n)&&128==(192&r)&&(c=(15&e)<<12|(63&n)<<6|63&r,c>2047&&(c<55296||c>57343)&&(o=c));break;case 4:n=t[i+1],r=t[i+2],a=t[i+3],128==(192&n)&&128==(192&r)&&128==(192&a)&&(c=(15&e)<<18|(63&n)<<12|(63&r)<<6|63&a,c>65535&&c<1114112&&(o=c))}}null===o?(o=65533,s=1):o>65535&&(o-=65536,r.push(o>>>10&1023|55296),o=56320|1023&o),r.push(o),i+=s}return function(t){const e=t.length;if(e<=M)return String.fromCharCode.apply(String,t);let n="",r=0;for(;r<e;)n+=String.fromCharCode.apply(String,t.slice(r,r+=M));return n}(r)}c.TYPED_ARRAY_SUPPORT=function(){try{const t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),c.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(c.prototype,"parent",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.buffer}}),Object.defineProperty(c.prototype,"offset",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.byteOffset}}),c.poolSize=8192,c.from=function(t,e,n){return l(t,e,n)},Object.setPrototypeOf(c.prototype,Uint8Array.prototype),Object.setPrototypeOf(c,Uint8Array),c.alloc=function(t,e,n){return function(t,e,n){return u(t),t<=0?a(t):void 0!==e?"string"==typeof n?a(t).fill(e,n):a(t).fill(e):a(t)}(t,e,n)},c.allocUnsafe=function(t){return h(t)},c.allocUnsafeSlow=function(t){return h(t)},c.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==c.prototype},c.compare=function(t,e){if(q(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),q(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(t)||!c.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let n=t.length,r=e.length;for(let i=0,o=Math.min(n,r);i<o;++i)if(t[i]!==e[i]){n=t[i],r=e[i];break}return n<r?-1:r<n?1:0},c.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},c.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return c.alloc(0);let n;if(void 0===e)for(e=0,n=0;n<t.length;++n)e+=t[n].length;const r=c.allocUnsafe(e);let i=0;for(n=0;n<t.length;++n){let e=t[n];if(q(e,Uint8Array))i+e.length>r.length?(c.isBuffer(e)||(e=c.from(e)),e.copy(r,i)):Uint8Array.prototype.set.call(r,e,i);else{if(!c.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(r,i)}i+=e.length}return r},c.byteLength=A,c.prototype._isBuffer=!0,c.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;e<t;e+=2)E(this,e,e+1);return this},c.prototype.swap32=function(){const t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let e=0;e<t;e+=4)E(this,e,e+3),E(this,e+1,e+2);return this},c.prototype.swap64=function(){const t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let e=0;e<t;e+=8)E(this,e,e+7),E(this,e+1,e+6),E(this,e+2,e+5),E(this,e+3,e+4);return this},c.prototype.toString=function(){const t=this.length;return 0===t?"":0===arguments.length?b(this,0,t):g.apply(this,arguments)},c.prototype.toLocaleString=c.prototype.toString,c.prototype.equals=function(t){if(!c.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===c.compare(this,t)},c.prototype.inspect=function(){let t="";const n=e.IS;return t=this.toString("hex",0,n).replace(/(.{2})/g,"$1 ").trim(),this.length>n&&(t+=" ... "),"<Buffer "+t+">"},o&&(c.prototype[o]=c.prototype.inspect),c.prototype.compare=function(t,e,n,r,i){if(q(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),!c.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(this===t)return 0;let o=(i>>>=0)-(r>>>=0),s=(n>>>=0)-(e>>>=0);const a=Math.min(o,s),l=this.slice(r,i),u=t.slice(e,n);for(let t=0;t<a;++t)if(l[t]!==u[t]){o=l[t],s=u[t];break}return o<s?-1:s<o?1:0},c.prototype.includes=function(t,e,n){return-1!==this.indexOf(t,e,n)},c.prototype.indexOf=function(t,e,n){return m(this,t,e,n,!0)},c.prototype.lastIndexOf=function(t,e,n){return m(this,t,e,n,!1)},c.prototype.write=function(t,e,n,r){if(void 0===e)r="utf8",n=this.length,e=0;else if(void 0===n&&"string"==typeof e)r=e,n=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(n)?(n>>>=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}const i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");let o=!1;for(;;)switch(r){case"hex":return y(this,t,e,n);case"utf8":case"utf-8":return I(this,t,e,n);case"ascii":case"latin1":case"binary":return C(this,t,e,n);case"base64":return B(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return T(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const M=4096;function N(t,e,n){let r="";n=Math.min(t.length,n);for(let i=e;i<n;++i)r+=String.fromCharCode(127&t[i]);return r}function v(t,e,n){let r="";n=Math.min(t.length,n);for(let i=e;i<n;++i)r+=String.fromCharCode(t[i]);return r}function S(t,e,n){const r=t.length;(!e||e<0)&&(e=0),(!n||n<0||n>r)&&(n=r);let i="";for(let r=e;r<n;++r)i+=X[t[r]];return i}function _(t,e,n){const r=t.slice(e,n);let i="";for(let t=0;t<r.length-1;t+=2)i+=String.fromCharCode(r[t]+256*r[t+1]);return i}function L(t,e,n){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>n)throw new RangeError("Trying to access beyond buffer length")}function x(t,e,n,r,i,o){if(!c.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<o)throw new RangeError('"value" argument is out of bounds');if(n+r>t.length)throw new RangeError("Index out of range")}function R(t,e,n,r,i){V(e,r,i,t,n,7);let o=Number(e&BigInt(4294967295));t[n++]=o,o>>=8,t[n++]=o,o>>=8,t[n++]=o,o>>=8,t[n++]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[n++]=s,s>>=8,t[n++]=s,s>>=8,t[n++]=s,s>>=8,t[n++]=s,n}function F(t,e,n,r,i){V(e,r,i,t,n,7);let o=Number(e&BigInt(4294967295));t[n+7]=o,o>>=8,t[n+6]=o,o>>=8,t[n+5]=o,o>>=8,t[n+4]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[n+3]=s,s>>=8,t[n+2]=s,s>>=8,t[n+1]=s,s>>=8,t[n]=s,n+8}function O(t,e,n,r,i,o){if(n+r>t.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("Index out of range")}function Q(t,e,n,r,o){return e=+e,n>>>=0,o||O(t,0,n,4),i.write(t,e,n,r,23,4),n+4}function k(t,e,n,r,o){return e=+e,n>>>=0,o||O(t,0,n,8),i.write(t,e,n,r,52,8),n+8}c.prototype.slice=function(t,e){const n=this.length;(t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<t&&(e=t);const r=this.subarray(t,e);return Object.setPrototypeOf(r,c.prototype),r},c.prototype.readUintLE=c.prototype.readUIntLE=function(t,e,n){t>>>=0,e>>>=0,n||L(t,e,this.length);let r=this[t],i=1,o=0;for(;++o<e&&(i*=256);)r+=this[t+o]*i;return r},c.prototype.readUintBE=c.prototype.readUIntBE=function(t,e,n){t>>>=0,e>>>=0,n||L(t,e,this.length);let r=this[t+--e],i=1;for(;e>0&&(i*=256);)r+=this[t+--e]*i;return r},c.prototype.readUint8=c.prototype.readUInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),this[t]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(t,e){return t>>>=0,e||L(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readBigUInt64LE=Z(function(t){H(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||j(t,this.length-8);const r=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,i=this[++t]+256*this[++t]+65536*this[++t]+n*2**24;return BigInt(r)+(BigInt(i)<<BigInt(32))}),c.prototype.readBigUInt64BE=Z(function(t){H(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||j(t,this.length-8);const r=e*2**24+65536*this[++t]+256*this[++t]+this[++t],i=this[++t]*2**24+65536*this[++t]+256*this[++t]+n;return(BigInt(r)<<BigInt(32))+BigInt(i)}),c.prototype.readIntLE=function(t,e,n){t>>>=0,e>>>=0,n||L(t,e,this.length);let r=this[t],i=1,o=0;for(;++o<e&&(i*=256);)r+=this[t+o]*i;return i*=128,r>=i&&(r-=Math.pow(2,8*e)),r},c.prototype.readIntBE=function(t,e,n){t>>>=0,e>>>=0,n||L(t,e,this.length);let r=e,i=1,o=this[t+--r];for(;r>0&&(i*=256);)o+=this[t+--r]*i;return i*=128,o>=i&&(o-=Math.pow(2,8*e)),o},c.prototype.readInt8=function(t,e){return t>>>=0,e||L(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},c.prototype.readInt16LE=function(t,e){t>>>=0,e||L(t,2,this.length);const n=this[t]|this[t+1]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt16BE=function(t,e){t>>>=0,e||L(t,2,this.length);const n=this[t+1]|this[t]<<8;return 32768&n?4294901760|n:n},c.prototype.readInt32LE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,e){return t>>>=0,e||L(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readBigInt64LE=Z(function(t){H(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||j(t,this.length-8);const r=this[t+4]+256*this[t+5]+65536*this[t+6]+(n<<24);return(BigInt(r)<<BigInt(32))+BigInt(e+256*this[++t]+65536*this[++t]+this[++t]*2**24)}),c.prototype.readBigInt64BE=Z(function(t){H(t>>>=0,"offset");const e=this[t],n=this[t+7];void 0!==e&&void 0!==n||j(t,this.length-8);const r=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(r)<<BigInt(32))+BigInt(this[++t]*2**24+65536*this[++t]+256*this[++t]+n)}),c.prototype.readFloatLE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,e){return t>>>=0,e||L(t,4,this.length),i.read(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,e){return t>>>=0,e||L(t,8,this.length),i.read(this,t,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(t,e,n,r){if(t=+t,e>>>=0,n>>>=0,!r){x(this,t,e,n,Math.pow(2,8*n)-1,0)}let i=1,o=0;for(this[e]=255&t;++o<n&&(i*=256);)this[e+o]=t/i&255;return e+n},c.prototype.writeUintBE=c.prototype.writeUIntBE=function(t,e,n,r){if(t=+t,e>>>=0,n>>>=0,!r){x(this,t,e,n,Math.pow(2,8*n)-1,0)}let i=n-1,o=1;for(this[e+i]=255&t;--i>=0&&(o*=256);)this[e+i]=t/o&255;return e+n},c.prototype.writeUint8=c.prototype.writeUInt8=function(t,e,n){return t=+t,e>>>=0,n||x(this,t,e,1,255,0),this[e]=255&t,e+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(t,e,n){return t=+t,e>>>=0,n||x(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(t,e,n){return t=+t,e>>>=0,n||x(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(t,e,n){return t=+t,e>>>=0,n||x(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(t,e,n){return t=+t,e>>>=0,n||x(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeBigUInt64LE=Z(function(t,e=0){return R(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),c.prototype.writeBigUInt64BE=Z(function(t,e=0){return F(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),c.prototype.writeIntLE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);x(this,t,e,n,r-1,-r)}let i=0,o=1,s=0;for(this[e]=255&t;++i<n&&(o*=256);)t<0&&0===s&&0!==this[e+i-1]&&(s=1),this[e+i]=(t/o|0)-s&255;return e+n},c.prototype.writeIntBE=function(t,e,n,r){if(t=+t,e>>>=0,!r){const r=Math.pow(2,8*n-1);x(this,t,e,n,r-1,-r)}let i=n-1,o=1,s=0;for(this[e+i]=255&t;--i>=0&&(o*=256);)t<0&&0===s&&0!==this[e+i+1]&&(s=1),this[e+i]=(t/o|0)-s&255;return e+n},c.prototype.writeInt8=function(t,e,n){return t=+t,e>>>=0,n||x(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},c.prototype.writeInt16LE=function(t,e,n){return t=+t,e>>>=0,n||x(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeInt16BE=function(t,e,n){return t=+t,e>>>=0,n||x(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeInt32LE=function(t,e,n){return t=+t,e>>>=0,n||x(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},c.prototype.writeInt32BE=function(t,e,n){return t=+t,e>>>=0,n||x(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeBigInt64LE=Z(function(t,e=0){return R(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),c.prototype.writeBigInt64BE=Z(function(t,e=0){return F(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),c.prototype.writeFloatLE=function(t,e,n){return Q(this,t,e,!0,n)},c.prototype.writeFloatBE=function(t,e,n){return Q(this,t,e,!1,n)},c.prototype.writeDoubleLE=function(t,e,n){return k(this,t,e,!0,n)},c.prototype.writeDoubleBE=function(t,e,n){return k(this,t,e,!1,n)},c.prototype.copy=function(t,e,n,r){if(!c.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),r||0===r||(r=this.length),e>=t.length&&(e=t.length),e||(e=0),r>0&&r<n&&(r=n),r===n)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-e<r-n&&(r=t.length-e+n);const i=r-n;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,n,r):Uint8Array.prototype.set.call(t,this.subarray(n,r),e),i},c.prototype.fill=function(t,e,n,r){if("string"==typeof t){if("string"==typeof e?(r=e,e=0,n=this.length):"string"==typeof n&&(r=n,n=this.length),void 0!==r&&"string"!=typeof r)throw new TypeError("encoding must be a string");if("string"==typeof r&&!c.isEncoding(r))throw new TypeError("Unknown encoding: "+r);if(1===t.length){const e=t.charCodeAt(0);("utf8"===r&&e<128||"latin1"===r)&&(t=e)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<n)throw new RangeError("Out of range index");if(n<=e)return this;let i;if(e>>>=0,n=void 0===n?this.length:n>>>0,t||(t=0),"number"==typeof t)for(i=e;i<n;++i)this[i]=t;else{const o=c.isBuffer(t)?t:c.from(t,r),s=o.length;if(0===s)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(i=0;i<n-e;++i)this[i+e]=o[i%s]}return this};const U={};function P(t,e,n){U[t]=class extends n{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(t){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:t,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}function G(t){let e="",n=t.length;const r="-"===t[0]?1:0;for(;n>=r+4;n-=3)e=`_${t.slice(n-3,n)}${e}`;return`${t.slice(0,n)}${e}`}function V(t,e,n,r,i,o){if(t>n||t<e){const r="bigint"==typeof e?"n":"";let i;throw i=o>3?0===e||e===BigInt(0)?`>= 0${r} and < 2${r} ** ${8*(o+1)}${r}`:`>= -(2${r} ** ${8*(o+1)-1}${r}) and < 2 ** ${8*(o+1)-1}${r}`:`>= ${e}${r} and <= ${n}${r}`,new U.ERR_OUT_OF_RANGE("value",i,t)}!function(t,e,n){H(e,"offset"),void 0!==t[e]&&void 0!==t[e+n]||j(e,t.length-(n+1))}(r,i,o)}function H(t,e){if("number"!=typeof t)throw new U.ERR_INVALID_ARG_TYPE(e,"number",t)}function j(t,e,n){if(Math.floor(t)!==t)throw H(t,n),new U.ERR_OUT_OF_RANGE(n||"offset","an integer",t);if(e<0)throw new U.ERR_BUFFER_OUT_OF_BOUNDS;throw new U.ERR_OUT_OF_RANGE(n||"offset",`>= ${n?1:0} and <= ${e}`,t)}P("ERR_BUFFER_OUT_OF_BOUNDS",function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),P("ERR_INVALID_ARG_TYPE",function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`},TypeError),P("ERR_OUT_OF_RANGE",function(t,e,n){let r=`The value of "${t}" is out of range.`,i=n;return Number.isInteger(n)&&Math.abs(n)>2**32?i=G(String(n)):"bigint"==typeof n&&(i=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(i=G(i)),i+="n"),r+=` It must be ${e}. Received ${i}`,r},RangeError);const Y=/[^+/0-9A-Za-z-_]/g;function z(t,e){let n;e=e||1/0;const r=t.length;let i=null;const o=[];for(let s=0;s<r;++s){if(n=t.charCodeAt(s),n>55295&&n<57344){if(!i){if(n>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===r){(e-=3)>-1&&o.push(239,191,189);continue}i=n;continue}if(n<56320){(e-=3)>-1&&o.push(239,191,189),i=n;continue}n=65536+(i-55296<<10|n-56320)}else i&&(e-=3)>-1&&o.push(239,191,189);if(i=null,n<128){if((e-=1)<0)break;o.push(n)}else if(n<2048){if((e-=2)<0)break;o.push(n>>6|192,63&n|128)}else if(n<65536){if((e-=3)<0)break;o.push(n>>12|224,n>>6&63|128,63&n|128)}else{if(!(n<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(n>>18|240,n>>12&63|128,n>>6&63|128,63&n|128)}}return o}function J(t){return r.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(Y,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function W(t,e,n,r){let i;for(i=0;i<r&&!(i+n>=e.length||i>=t.length);++i)e[i+n]=t[i];return i}function q(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function K(t){return t!=t}const X=function(){const t="0123456789abcdef",e=new Array(256);for(let n=0;n<16;++n){const r=16*n;for(let i=0;i<16;++i)e[r+i]=t[n]+t[i]}return e}();function Z(t){return"undefined"==typeof BigInt?$:t}function $(){throw new Error("BigInt not supported")}},8630:(t,e,n)=>{
20
- /*! *****************************************************************************
21
- Copyright (C) Microsoft. All rights reserved.
22
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
23
- this file except in compliance with the License. You may obtain a copy of the
24
- License at http://www.apache.org/licenses/LICENSE-2.0
25
-
26
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
27
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
28
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
29
- MERCHANTABLITY OR NON-INFRINGEMENT.
30
-
31
- See the Apache Version 2.0 License for specific language governing permissions
32
- and limitations under the License.
33
- ***************************************************************************** */
34
- var r;!function(t){!function(){var e="object"==typeof globalThis?globalThis:"object"==typeof n.g?n.g:"object"==typeof self?self:"object"==typeof this?this:function(){try{return Function("return this;")()}catch(t){}}()||function(){try{return(0,eval)("(function() { return this; })()")}catch(t){}}(),r=i(t);function i(t,e){return function(n,r){Object.defineProperty(t,n,{configurable:!0,writable:!0,value:r}),e&&e(n,r)}}void 0!==e.Reflect&&(r=i(e.Reflect,r)),function(t,e){var n=Object.prototype.hasOwnProperty,r="function"==typeof Symbol,i=r&&void 0!==Symbol.toPrimitive?Symbol.toPrimitive:"@@toPrimitive",o=r&&void 0!==Symbol.iterator?Symbol.iterator:"@@iterator",s="function"==typeof Object.create,a={__proto__:[]}instanceof Array,c=!s&&!a,l={create:s?function(){return ht(Object.create(null))}:a?function(){return ht({__proto__:null})}:function(){return ht({})},has:c?function(t,e){return n.call(t,e)}:function(t,e){return e in t},get:c?function(t,e){return n.call(t,e)?t[e]:void 0}:function(t,e){return t[e]}},u=Object.getPrototypeOf(Function),h="function"==typeof Map&&"function"==typeof Map.prototype.entries?Map:ct(),d="function"==typeof Set&&"function"==typeof Set.prototype.entries?Set:lt(),p="function"==typeof WeakMap?WeakMap:ut(),f=r?Symbol.for("@reflect-metadata:registry"):void 0,A=it(),g=ot(A);function E(t,e,n,r){if(Q(n)){if(!z(t))throw new TypeError;if(!W(e))throw new TypeError;return M(t,e)}if(!z(t))throw new TypeError;if(!P(e))throw new TypeError;if(!P(r)&&!Q(r)&&!k(r))throw new TypeError;return k(r)&&(r=void 0),N(t,e,n=Y(n),r)}function m(t,e){function n(n,r){if(!P(n))throw new TypeError;if(!Q(r)&&!q(r))throw new TypeError;x(t,e,n,r)}return n}function w(t,e,n,r){if(!P(n))throw new TypeError;return Q(r)||(r=Y(r)),x(t,e,n,r)}function y(t,e,n){if(!P(e))throw new TypeError;return Q(n)||(n=Y(n)),v(t,e,n)}function I(t,e,n){if(!P(e))throw new TypeError;return Q(n)||(n=Y(n)),S(t,e,n)}function C(t,e,n){if(!P(e))throw new TypeError;return Q(n)||(n=Y(n)),_(t,e,n)}function B(t,e,n){if(!P(e))throw new TypeError;return Q(n)||(n=Y(n)),L(t,e,n)}function T(t,e){if(!P(t))throw new TypeError;return Q(e)||(e=Y(e)),R(t,e)}function D(t,e){if(!P(t))throw new TypeError;return Q(e)||(e=Y(e)),F(t,e)}function b(t,e,n){if(!P(e))throw new TypeError;if(Q(n)||(n=Y(n)),!P(e))throw new TypeError;Q(n)||(n=Y(n));var r=at(e,n,!1);return!Q(r)&&r.OrdinaryDeleteMetadata(t,e,n)}function M(t,e){for(var n=t.length-1;n>=0;--n){var r=(0,t[n])(e);if(!Q(r)&&!k(r)){if(!W(r))throw new TypeError;e=r}}return e}function N(t,e,n,r){for(var i=t.length-1;i>=0;--i){var o=(0,t[i])(e,n,r);if(!Q(o)&&!k(o)){if(!P(o))throw new TypeError;r=o}}return r}function v(t,e,n){if(S(t,e,n))return!0;var r=nt(e);return!k(r)&&v(t,r,n)}function S(t,e,n){var r=at(e,n,!1);return!Q(r)&&H(r.OrdinaryHasOwnMetadata(t,e,n))}function _(t,e,n){if(S(t,e,n))return L(t,e,n);var r=nt(e);return k(r)?void 0:_(t,r,n)}function L(t,e,n){var r=at(e,n,!1);if(!Q(r))return r.OrdinaryGetOwnMetadata(t,e,n)}function x(t,e,n,r){at(n,r,!0).OrdinaryDefineOwnMetadata(t,e,n,r)}function R(t,e){var n=F(t,e),r=nt(t);if(null===r)return n;var i=R(r,e);if(i.length<=0)return n;if(n.length<=0)return i;for(var o=new d,s=[],a=0,c=n;a<c.length;a++){var l=c[a];o.has(l)||(o.add(l),s.push(l))}for(var u=0,h=i;u<h.length;u++){l=h[u];o.has(l)||(o.add(l),s.push(l))}return s}function F(t,e){var n=at(t,e,!1);return n?n.OrdinaryOwnMetadataKeys(t,e):[]}function O(t){if(null===t)return 1;switch(typeof t){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return null===t?1:6;default:return 6}}function Q(t){return void 0===t}function k(t){return null===t}function U(t){return"symbol"==typeof t}function P(t){return"object"==typeof t?null!==t:"function"==typeof t}function G(t,e){switch(O(t)){case 0:case 1:case 2:case 3:case 4:case 5:return t}var n=3===e?"string":5===e?"number":"default",r=X(t,i);if(void 0!==r){var o=r.call(t,n);if(P(o))throw new TypeError;return o}return V(t,"default"===n?"number":n)}function V(t,e){if("string"===e){var n=t.toString;if(J(n))if(!P(i=n.call(t)))return i;if(J(r=t.valueOf))if(!P(i=r.call(t)))return i}else{var r;if(J(r=t.valueOf))if(!P(i=r.call(t)))return i;var i,o=t.toString;if(J(o))if(!P(i=o.call(t)))return i}throw new TypeError}function H(t){return!!t}function j(t){return""+t}function Y(t){var e=G(t,3);return U(e)?e:j(e)}function z(t){return Array.isArray?Array.isArray(t):t instanceof Object?t instanceof Array:"[object Array]"===Object.prototype.toString.call(t)}function J(t){return"function"==typeof t}function W(t){return"function"==typeof t}function q(t){switch(O(t)){case 3:case 4:return!0;default:return!1}}function K(t,e){return t===e||t!=t&&e!=e}function X(t,e){var n=t[e];if(null!=n){if(!J(n))throw new TypeError;return n}}function Z(t){var e=X(t,o);if(!J(e))throw new TypeError;var n=e.call(t);if(!P(n))throw new TypeError;return n}function $(t){return t.value}function tt(t){var e=t.next();return!e.done&&e}function et(t){var e=t.return;e&&e.call(t)}function nt(t){var e=Object.getPrototypeOf(t);if("function"!=typeof t||t===u)return e;if(e!==u)return e;var n=t.prototype,r=n&&Object.getPrototypeOf(n);if(null==r||r===Object.prototype)return e;var i=r.constructor;return"function"!=typeof i||i===t?e:i}function rt(){var t,n,r,i;Q(f)||void 0===e.Reflect||f in e.Reflect||"function"!=typeof e.Reflect.defineMetadata||(t=st(e.Reflect));var o=new p,s={registerProvider:a,getProvider:l,setProvider:A};return s;function a(e){if(!Object.isExtensible(s))throw new Error("Cannot add provider to a frozen registry.");switch(!0){case t===e:break;case Q(n):n=e;break;case n===e:break;case Q(r):r=e;break;case r===e:break;default:void 0===i&&(i=new d),i.add(e)}}function c(e,o){if(!Q(n)){if(n.isProviderFor(e,o))return n;if(!Q(r)){if(r.isProviderFor(e,o))return n;if(!Q(i))for(var s=Z(i);;){var a=tt(s);if(!a)return;var c=$(a);if(c.isProviderFor(e,o))return et(s),c}}}if(!Q(t)&&t.isProviderFor(e,o))return t}function l(t,e){var n,r=o.get(t);return Q(r)||(n=r.get(e)),Q(n)?(Q(n=c(t,e))||(Q(r)&&(r=new h,o.set(t,r)),r.set(e,n)),n):n}function u(t){if(Q(t))throw new TypeError;return n===t||r===t||!Q(i)&&i.has(t)}function A(t,e,n){if(!u(n))throw new Error("Metadata provider not registered.");var r=l(t,e);if(r!==n){if(!Q(r))return!1;var i=o.get(t);Q(i)&&(i=new h,o.set(t,i)),i.set(e,n)}return!0}}function it(){var t;return!Q(f)&&P(e.Reflect)&&Object.isExtensible(e.Reflect)&&(t=e.Reflect[f]),Q(t)&&(t=rt()),!Q(f)&&P(e.Reflect)&&Object.isExtensible(e.Reflect)&&Object.defineProperty(e.Reflect,f,{enumerable:!1,configurable:!1,writable:!1,value:t}),t}function ot(t){var e=new p,n={isProviderFor:function(t,n){var r=e.get(t);return!Q(r)&&r.has(n)},OrdinaryDefineOwnMetadata:s,OrdinaryHasOwnMetadata:i,OrdinaryGetOwnMetadata:o,OrdinaryOwnMetadataKeys:a,OrdinaryDeleteMetadata:c};return A.registerProvider(n),n;function r(r,i,o){var s=e.get(r),a=!1;if(Q(s)){if(!o)return;s=new h,e.set(r,s),a=!0}var c=s.get(i);if(Q(c)){if(!o)return;if(c=new h,s.set(i,c),!t.setProvider(r,i,n))throw s.delete(i),a&&e.delete(r),new Error("Wrong provider for target.")}return c}function i(t,e,n){var i=r(e,n,!1);return!Q(i)&&H(i.has(t))}function o(t,e,n){var i=r(e,n,!1);if(!Q(i))return i.get(t)}function s(t,e,n,i){r(n,i,!0).set(t,e)}function a(t,e){var n=[],i=r(t,e,!1);if(Q(i))return n;for(var o=Z(i.keys()),s=0;;){var a=tt(o);if(!a)return n.length=s,n;var c=$(a);try{n[s]=c}catch(t){try{et(o)}finally{throw t}}s++}}function c(t,n,i){var o=r(n,i,!1);if(Q(o))return!1;if(!o.delete(t))return!1;if(0===o.size){var s=e.get(n);Q(s)||(s.delete(i),0===s.size&&e.delete(s))}return!0}}function st(t){var e=t.defineMetadata,n=t.hasOwnMetadata,r=t.getOwnMetadata,i=t.getOwnMetadataKeys,o=t.deleteMetadata,s=new p;return{isProviderFor:function(t,e){var n=s.get(t);return!(Q(n)||!n.has(e))||!!i(t,e).length&&(Q(n)&&(n=new d,s.set(t,n)),n.add(e),!0)},OrdinaryDefineOwnMetadata:e,OrdinaryHasOwnMetadata:n,OrdinaryGetOwnMetadata:r,OrdinaryOwnMetadataKeys:i,OrdinaryDeleteMetadata:o}}function at(t,e,n){var r=A.getProvider(t,e);if(!Q(r))return r;if(n){if(A.setProvider(t,e,g))return g;throw new Error("Illegal state.")}}function ct(){var t={},e=[],n=function(){function t(t,e,n){this._index=0,this._keys=t,this._values=e,this._selector=n}return t.prototype["@@iterator"]=function(){return this},t.prototype[o]=function(){return this},t.prototype.next=function(){var t=this._index;if(t>=0&&t<this._keys.length){var n=this._selector(this._keys[t],this._values[t]);return t+1>=this._keys.length?(this._index=-1,this._keys=e,this._values=e):this._index++,{value:n,done:!1}}return{value:void 0,done:!0}},t.prototype.throw=function(t){throw this._index>=0&&(this._index=-1,this._keys=e,this._values=e),t},t.prototype.return=function(t){return this._index>=0&&(this._index=-1,this._keys=e,this._values=e),{value:t,done:!0}},t}();return function(){function e(){this._keys=[],this._values=[],this._cacheKey=t,this._cacheIndex=-2}return Object.defineProperty(e.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),e.prototype.has=function(t){return this._find(t,!1)>=0},e.prototype.get=function(t){var e=this._find(t,!1);return e>=0?this._values[e]:void 0},e.prototype.set=function(t,e){var n=this._find(t,!0);return this._values[n]=e,this},e.prototype.delete=function(e){var n=this._find(e,!1);if(n>=0){for(var r=this._keys.length,i=n+1;i<r;i++)this._keys[i-1]=this._keys[i],this._values[i-1]=this._values[i];return this._keys.length--,this._values.length--,K(e,this._cacheKey)&&(this._cacheKey=t,this._cacheIndex=-2),!0}return!1},e.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=t,this._cacheIndex=-2},e.prototype.keys=function(){return new n(this._keys,this._values,r)},e.prototype.values=function(){return new n(this._keys,this._values,i)},e.prototype.entries=function(){return new n(this._keys,this._values,s)},e.prototype["@@iterator"]=function(){return this.entries()},e.prototype[o]=function(){return this.entries()},e.prototype._find=function(t,e){if(!K(this._cacheKey,t)){this._cacheIndex=-1;for(var n=0;n<this._keys.length;n++)if(K(this._keys[n],t)){this._cacheIndex=n;break}}return this._cacheIndex<0&&e&&(this._cacheIndex=this._keys.length,this._keys.push(t),this._values.push(void 0)),this._cacheIndex},e}();function r(t,e){return t}function i(t,e){return e}function s(t,e){return[t,e]}}function lt(){return function(){function t(){this._map=new h}return Object.defineProperty(t.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),t.prototype.has=function(t){return this._map.has(t)},t.prototype.add=function(t){return this._map.set(t,t),this},t.prototype.delete=function(t){return this._map.delete(t)},t.prototype.clear=function(){this._map.clear()},t.prototype.keys=function(){return this._map.keys()},t.prototype.values=function(){return this._map.keys()},t.prototype.entries=function(){return this._map.entries()},t.prototype["@@iterator"]=function(){return this.keys()},t.prototype[o]=function(){return this.keys()},t}()}function ut(){var t=16,e=l.create(),r=i();return function(){function t(){this._key=i()}return t.prototype.has=function(t){var e=o(t,!1);return void 0!==e&&l.has(e,this._key)},t.prototype.get=function(t){var e=o(t,!1);return void 0!==e?l.get(e,this._key):void 0},t.prototype.set=function(t,e){return o(t,!0)[this._key]=e,this},t.prototype.delete=function(t){var e=o(t,!1);return void 0!==e&&delete e[this._key]},t.prototype.clear=function(){this._key=i()},t}();function i(){var t;do{t="@@WeakMap@@"+c()}while(l.has(e,t));return e[t]=!0,t}function o(t,e){if(!n.call(t,r)){if(!e)return;Object.defineProperty(t,r,{value:l.create()})}return t[r]}function s(t,e){for(var n=0;n<e;++n)t[n]=255*Math.random()|0;return t}function a(t){if("function"==typeof Uint8Array){var e=new Uint8Array(t);return"undefined"!=typeof crypto?crypto.getRandomValues(e):"undefined"!=typeof msCrypto?msCrypto.getRandomValues(e):s(e,t),e}return s(new Array(t),t)}function c(){var e=a(t);e[6]=79&e[6]|64,e[8]=191&e[8]|128;for(var n="",r=0;r<t;++r){var i=e[r];4!==r&&6!==r&&8!==r||(n+="-"),i<16&&(n+="0"),n+=i.toString(16).toLowerCase()}return n}}function ht(t){return t.__=void 0,delete t.__,t}t("decorate",E),t("metadata",m),t("defineMetadata",w),t("hasMetadata",y),t("hasOwnMetadata",I),t("getMetadata",C),t("getOwnMetadata",B),t("getMetadataKeys",T),t("getOwnMetadataKeys",D),t("deleteMetadata",b)}(r,e),void 0===e.Reflect&&(e.Reflect=t)}()}(r||(r={}))},8948:(t,e,n)=>{"use strict";var r=n(7426),i=n(3349);function o(t,e,n){if(!(this instanceof o))return new o(t,e,n);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(r.toArray(e,n))}t.exports=o,o.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),i(t.length<=this.blockSize);for(var e=t.length;e<this.blockSize;e++)t.push(0);for(e=0;e<t.length;e++)t[e]^=54;for(this.inner=(new this.Hash).update(t),e=0;e<t.length;e++)t[e]^=106;this.outer=(new this.Hash).update(t)},o.prototype.update=function(t,e){return this.inner.update(t,e),this},o.prototype.digest=function(t){return this.outer.update(this.inner.digest()),this.outer.digest(t)}},8955:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n),Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e};Object.defineProperty(e,"__esModule",{value:!0}),e.Address4=void 0;var s=o(n(8177)),a=o(n(892)),c=n(9617),l=n(9534),u=n(7604),h=function(){function t(t){this.groups=a.GROUPS,this.parsedAddress=[],this.parsedSubnet="",this.subnet="/32",this.subnetMask=32,this.v4=!0,this.isCorrect=s.isCorrect(a.BITS),this.isInSubnet=s.isInSubnet,this.address=t;var e=a.RE_SUBNET_STRING.exec(t);if(e){if(this.parsedSubnet=e[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet="/"+this.subnetMask,this.subnetMask<0||this.subnetMask>a.BITS)throw new c.AddressError("Invalid subnet mask.");t=t.replace(a.RE_SUBNET_STRING,"")}this.addressMinusSuffix=t,this.parsedAddress=this.parse(t)}return t.isValid=function(e){try{return new t(e),!0}catch(t){return!1}},t.prototype.parse=function(t){var e=t.split(".");if(!t.match(a.RE_ADDRESS))throw new c.AddressError("Invalid IPv4 address.");return e},t.prototype.correctForm=function(){return this.parsedAddress.map(function(t){return parseInt(t,10)}).join(".")},t.fromHex=function(e){var n,r=e.replace(/:/g,"").padStart(8,"0"),i=[];for(n=0;n<8;n+=2){var o=r.slice(n,n+2);i.push(parseInt(o,16))}return new t(i.join("."))},t.fromInteger=function(e){return t.fromHex(e.toString(16))},t.prototype.toHex=function(){return this.parsedAddress.map(function(t){return u.sprintf("%02x",parseInt(t,10))}).join(":")},t.prototype.toArray=function(){return this.parsedAddress.map(function(t){return parseInt(t,10)})},t.prototype.toGroup6=function(){var t,e=[];for(t=0;t<a.GROUPS;t+=2){var n=u.sprintf("%02x%02x",parseInt(this.parsedAddress[t],10),parseInt(this.parsedAddress[t+1],10));e.push(u.sprintf("%x",parseInt(n,16)))}return e.join(":")},t.prototype.bigInteger=function(){return new l.BigInteger(this.parsedAddress.map(function(t){return u.sprintf("%02x",parseInt(t,10))}).join(""),16)},t.prototype._startAddress=function(){return new l.BigInteger(this.mask()+"0".repeat(a.BITS-this.subnetMask),2)},t.prototype.startAddress=function(){return t.fromBigInteger(this._startAddress())},t.prototype.startAddressExclusive=function(){var e=new l.BigInteger("1");return t.fromBigInteger(this._startAddress().add(e))},t.prototype._endAddress=function(){return new l.BigInteger(this.mask()+"1".repeat(a.BITS-this.subnetMask),2)},t.prototype.endAddress=function(){return t.fromBigInteger(this._endAddress())},t.prototype.endAddressExclusive=function(){var e=new l.BigInteger("1");return t.fromBigInteger(this._endAddress().subtract(e))},t.fromBigInteger=function(e){return t.fromInteger(parseInt(e.toString(),10))},t.prototype.mask=function(t){return void 0===t&&(t=this.subnetMask),this.getBitsBase2(0,t)},t.prototype.getBitsBase2=function(t,e){return this.binaryZeroPad().slice(t,e)},t.prototype.isMulticast=function(){return this.isInSubnet(new t("224.0.0.0/4"))},t.prototype.binaryZeroPad=function(){return this.bigInteger().toString(2).padStart(a.BITS,"0")},t.prototype.groupForV6=function(){var t=this.parsedAddress;return this.address.replace(a.RE_ADDRESS,u.sprintf('<span class="hover-group group-v4 group-6">%s</span>.<span class="hover-group group-v4 group-7">%s</span>',t.slice(0,2).join("."),t.slice(2,4).join(".")))},t}();e.Address4=h},9404:function(t,e,n){!function(t,e){"use strict";function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}function o(t,e,n){if(o.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(n=e,e=10),this._init(t||0,e||10,n||"be"))}var s;"object"==typeof t?t.exports=o:e.BN=o,o.BN=o,o.wordSize=26;try{s="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:n(7790).Buffer}catch(t){}function a(t,e){var n=t.charCodeAt(e);return n>=48&&n<=57?n-48:n>=65&&n<=70?n-55:n>=97&&n<=102?n-87:void r(!1,"Invalid character in "+t)}function c(t,e,n){var r=a(t,n);return n-1>=e&&(r|=a(t,n-1)<<4),r}function l(t,e,n,i){for(var o=0,s=0,a=Math.min(t.length,n),c=e;c<a;c++){var l=t.charCodeAt(c)-48;o*=i,s=l>=49?l-49+10:l>=17?l-17+10:l,r(l>=0&&s<i,"Invalid character"),o+=s}return o}function u(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(o.isBN=function(t){return t instanceof o||null!==t&&"object"==typeof t&&t.constructor.wordSize===o.wordSize&&Array.isArray(t.words)},o.max=function(t,e){return t.cmp(e)>0?t:e},o.min=function(t,e){return t.cmp(e)<0?t:e},o.prototype._init=function(t,e,n){if("number"==typeof t)return this._initNumber(t,e,n);if("object"==typeof t)return this._initArray(t,e,n);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i<t.length&&(16===e?this._parseHex(t,i,n):(this._parseBase(t,e,i),"le"===n&&this._initArray(this.toArray(),e,n)))},o.prototype._initNumber=function(t,e,n){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),e,n)},o.prototype._initArray=function(t,e,n){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var o,s,a=0;if("be"===n)for(i=t.length-1,o=0;i>=0;i-=3)s=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);else if("le"===n)for(i=0,o=0;i<t.length;i+=3)s=t[i]|t[i+1]<<8|t[i+2]<<16,this.words[o]|=s<<a&67108863,this.words[o+1]=s>>>26-a&67108863,(a+=24)>=26&&(a-=26,o++);return this._strip()},o.prototype._parseHex=function(t,e,n){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var r=0;r<this.length;r++)this.words[r]=0;var i,o=0,s=0;if("be"===n)for(r=t.length-1;r>=e;r-=2)i=c(t,e,r)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;else for(r=(t.length-e)%2==0?e+1:e;r<t.length;r+=2)i=c(t,e,r)<<o,this.words[s]|=67108863&i,o>=18?(o-=18,s+=1,this.words[s]|=i>>>26):o+=8;this._strip()},o.prototype._parseBase=function(t,e,n){this.words=[0],this.length=1;for(var r=0,i=1;i<=67108863;i*=e)r++;r--,i=i/e|0;for(var o=t.length-n,s=o%r,a=Math.min(o,o-s)+n,c=0,u=n;u<a;u+=r)c=l(t,u,u+r,e),this.imuln(i),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c);if(0!==s){var h=1;for(c=l(t,u,t.length,e),u=0;u<s;u++)h*=e;this.imuln(h),this.words[0]+c<67108864?this.words[0]+=c:this._iaddn(c)}this._strip()},o.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},o.prototype._move=function(t){u(t,this)},o.prototype.clone=function(){var t=new o(null);return this.copy(t),t},o.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},o.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},o.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{o.prototype[Symbol.for("nodejs.util.inspect.custom")]=h}catch(t){o.prototype.inspect=h}else o.prototype.inspect=h;function h(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var d=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],p=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];o.prototype.toString=function(t,e){var n;if(e=0|e||1,16===(t=t||10)||"hex"===t){n="";for(var i=0,o=0,s=0;s<this.length;s++){var a=this.words[s],c=(16777215&(a<<i|o)).toString(16);o=a>>>24-i&16777215,(i+=2)>=26&&(i-=26,s--),n=0!==o||s!==this.length-1?d[6-c.length]+c+n:c+n}for(0!==o&&(n=o.toString(16)+n);n.length%e!==0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(t===(0|t)&&t>=2&&t<=36){var l=p[t],u=f[t];n="";var h=this.clone();for(h.negative=0;!h.isZero();){var A=h.modrn(u).toString(t);n=(h=h.idivn(u)).isZero()?A+n:d[l-A.length]+A+n}for(this.isZero()&&(n="0"+n);n.length%e!==0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},o.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},o.prototype.toJSON=function(){return this.toString(16,2)},s&&(o.prototype.toBuffer=function(t,e){return this.toArrayLike(s,t,e)}),o.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)};function A(t,e,n){n.negative=e.negative^t.negative;var r=t.length+e.length|0;n.length=r,r=r-1|0;var i=0|t.words[0],o=0|e.words[0],s=i*o,a=67108863&s,c=s/67108864|0;n.words[0]=a;for(var l=1;l<r;l++){for(var u=c>>>26,h=67108863&c,d=Math.min(l,e.length-1),p=Math.max(0,l-t.length+1);p<=d;p++){var f=l-p|0;u+=(s=(i=0|t.words[f])*(o=0|e.words[p])+h)/67108864|0,h=67108863&s}n.words[l]=0|h,c=0|u}return 0!==c?n.words[l]=0|c:n.length--,n._strip()}o.prototype.toArrayLike=function(t,e,n){this._strip();var i=this.byteLength(),o=n||Math.max(1,i);r(i<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,i),s},o.prototype._toArrayLikeLE=function(t,e){for(var n=0,r=0,i=0,o=0;i<this.length;i++){var s=this.words[i]<<o|r;t[n++]=255&s,n<t.length&&(t[n++]=s>>8&255),n<t.length&&(t[n++]=s>>16&255),6===o?(n<t.length&&(t[n++]=s>>24&255),r=0,o=0):(r=s>>>24,o+=2)}if(n<t.length)for(t[n++]=r;n<t.length;)t[n++]=0},o.prototype._toArrayLikeBE=function(t,e){for(var n=t.length-1,r=0,i=0,o=0;i<this.length;i++){var s=this.words[i]<<o|r;t[n--]=255&s,n>=0&&(t[n--]=s>>8&255),n>=0&&(t[n--]=s>>16&255),6===o?(n>=0&&(t[n--]=s>>24&255),r=0,o=0):(r=s>>>24,o+=2)}if(n>=0)for(t[n--]=r;n>=0;)t[n--]=0},Math.clz32?o.prototype._countBits=function(t){return 32-Math.clz32(t)}:o.prototype._countBits=function(t){var e=t,n=0;return e>=4096&&(n+=13,e>>>=13),e>=64&&(n+=7,e>>>=7),e>=8&&(n+=4,e>>>=4),e>=2&&(n+=2,e>>>=2),n+e},o.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,n=0;return 8191&e||(n+=13,e>>>=13),127&e||(n+=7,e>>>=7),15&e||(n+=4,e>>>=4),3&e||(n+=2,e>>>=2),1&e||n++,n},o.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},o.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var n=this._zeroBits(this.words[e]);if(t+=n,26!==n)break}return t},o.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},o.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},o.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},o.prototype.isNeg=function(){return 0!==this.negative},o.prototype.neg=function(){return this.clone().ineg()},o.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},o.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},o.prototype.ior=function(t){return r(0===(this.negative|t.negative)),this.iuor(t)},o.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},o.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},o.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var n=0;n<e.length;n++)this.words[n]=this.words[n]&t.words[n];return this.length=e.length,this._strip()},o.prototype.iand=function(t){return r(0===(this.negative|t.negative)),this.iuand(t)},o.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},o.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},o.prototype.iuxor=function(t){var e,n;this.length>t.length?(e=this,n=t):(e=t,n=this);for(var r=0;r<n.length;r++)this.words[r]=e.words[r]^n.words[r];if(this!==e)for(;r<e.length;r++)this.words[r]=e.words[r];return this.length=e.length,this._strip()},o.prototype.ixor=function(t){return r(0===(this.negative|t.negative)),this.iuxor(t)},o.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},o.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},o.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),n=t%26;this._expand(e),n>0&&e--;for(var i=0;i<e;i++)this.words[i]=67108863&~this.words[i];return n>0&&(this.words[i]=~this.words[i]&67108863>>26-n),this._strip()},o.prototype.notn=function(t){return this.clone().inotn(t)},o.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var n=t/26|0,i=t%26;return this._expand(n+1),this.words[n]=e?this.words[n]|1<<i:this.words[n]&~(1<<i),this._strip()},o.prototype.iadd=function(t){var e,n,r;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(n=this,r=t):(n=t,r=this);for(var i=0,o=0;o<r.length;o++)e=(0|n.words[o])+(0|r.words[o])+i,this.words[o]=67108863&e,i=e>>>26;for(;0!==i&&o<n.length;o++)e=(0|n.words[o])+i,this.words[o]=67108863&e,i=e>>>26;if(this.length=n.length,0!==i)this.words[this.length]=i,this.length++;else if(n!==this)for(;o<n.length;o++)this.words[o]=n.words[o];return this},o.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},o.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var n,r,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(n=this,r=t):(n=t,r=this);for(var o=0,s=0;s<r.length;s++)o=(e=(0|n.words[s])-(0|r.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<n.length;s++)o=(e=(0|n.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<n.length&&n!==this)for(;s<n.length;s++)this.words[s]=n.words[s];return this.length=Math.max(this.length,s),n!==this&&(this.negative=1),this._strip()},o.prototype.sub=function(t){return this.clone().isub(t)};var g=function(t,e,n){var r,i,o,s=t.words,a=e.words,c=n.words,l=0,u=0|s[0],h=8191&u,d=u>>>13,p=0|s[1],f=8191&p,A=p>>>13,g=0|s[2],E=8191&g,m=g>>>13,w=0|s[3],y=8191&w,I=w>>>13,C=0|s[4],B=8191&C,T=C>>>13,D=0|s[5],b=8191&D,M=D>>>13,N=0|s[6],v=8191&N,S=N>>>13,_=0|s[7],L=8191&_,x=_>>>13,R=0|s[8],F=8191&R,O=R>>>13,Q=0|s[9],k=8191&Q,U=Q>>>13,P=0|a[0],G=8191&P,V=P>>>13,H=0|a[1],j=8191&H,Y=H>>>13,z=0|a[2],J=8191&z,W=z>>>13,q=0|a[3],K=8191&q,X=q>>>13,Z=0|a[4],$=8191&Z,tt=Z>>>13,et=0|a[5],nt=8191&et,rt=et>>>13,it=0|a[6],ot=8191&it,st=it>>>13,at=0|a[7],ct=8191&at,lt=at>>>13,ut=0|a[8],ht=8191&ut,dt=ut>>>13,pt=0|a[9],ft=8191&pt,At=pt>>>13;n.negative=t.negative^e.negative,n.length=19;var gt=(l+(r=Math.imul(h,G))|0)+((8191&(i=(i=Math.imul(h,V))+Math.imul(d,G)|0))<<13)|0;l=((o=Math.imul(d,V))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,r=Math.imul(f,G),i=(i=Math.imul(f,V))+Math.imul(A,G)|0,o=Math.imul(A,V);var Et=(l+(r=r+Math.imul(h,j)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(d,j)|0))<<13)|0;l=((o=o+Math.imul(d,Y)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,r=Math.imul(E,G),i=(i=Math.imul(E,V))+Math.imul(m,G)|0,o=Math.imul(m,V),r=r+Math.imul(f,j)|0,i=(i=i+Math.imul(f,Y)|0)+Math.imul(A,j)|0,o=o+Math.imul(A,Y)|0;var mt=(l+(r=r+Math.imul(h,J)|0)|0)+((8191&(i=(i=i+Math.imul(h,W)|0)+Math.imul(d,J)|0))<<13)|0;l=((o=o+Math.imul(d,W)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,r=Math.imul(y,G),i=(i=Math.imul(y,V))+Math.imul(I,G)|0,o=Math.imul(I,V),r=r+Math.imul(E,j)|0,i=(i=i+Math.imul(E,Y)|0)+Math.imul(m,j)|0,o=o+Math.imul(m,Y)|0,r=r+Math.imul(f,J)|0,i=(i=i+Math.imul(f,W)|0)+Math.imul(A,J)|0,o=o+Math.imul(A,W)|0;var wt=(l+(r=r+Math.imul(h,K)|0)|0)+((8191&(i=(i=i+Math.imul(h,X)|0)+Math.imul(d,K)|0))<<13)|0;l=((o=o+Math.imul(d,X)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,r=Math.imul(B,G),i=(i=Math.imul(B,V))+Math.imul(T,G)|0,o=Math.imul(T,V),r=r+Math.imul(y,j)|0,i=(i=i+Math.imul(y,Y)|0)+Math.imul(I,j)|0,o=o+Math.imul(I,Y)|0,r=r+Math.imul(E,J)|0,i=(i=i+Math.imul(E,W)|0)+Math.imul(m,J)|0,o=o+Math.imul(m,W)|0,r=r+Math.imul(f,K)|0,i=(i=i+Math.imul(f,X)|0)+Math.imul(A,K)|0,o=o+Math.imul(A,X)|0;var yt=(l+(r=r+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(d,$)|0))<<13)|0;l=((o=o+Math.imul(d,tt)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,r=Math.imul(b,G),i=(i=Math.imul(b,V))+Math.imul(M,G)|0,o=Math.imul(M,V),r=r+Math.imul(B,j)|0,i=(i=i+Math.imul(B,Y)|0)+Math.imul(T,j)|0,o=o+Math.imul(T,Y)|0,r=r+Math.imul(y,J)|0,i=(i=i+Math.imul(y,W)|0)+Math.imul(I,J)|0,o=o+Math.imul(I,W)|0,r=r+Math.imul(E,K)|0,i=(i=i+Math.imul(E,X)|0)+Math.imul(m,K)|0,o=o+Math.imul(m,X)|0,r=r+Math.imul(f,$)|0,i=(i=i+Math.imul(f,tt)|0)+Math.imul(A,$)|0,o=o+Math.imul(A,tt)|0;var It=(l+(r=r+Math.imul(h,nt)|0)|0)+((8191&(i=(i=i+Math.imul(h,rt)|0)+Math.imul(d,nt)|0))<<13)|0;l=((o=o+Math.imul(d,rt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,r=Math.imul(v,G),i=(i=Math.imul(v,V))+Math.imul(S,G)|0,o=Math.imul(S,V),r=r+Math.imul(b,j)|0,i=(i=i+Math.imul(b,Y)|0)+Math.imul(M,j)|0,o=o+Math.imul(M,Y)|0,r=r+Math.imul(B,J)|0,i=(i=i+Math.imul(B,W)|0)+Math.imul(T,J)|0,o=o+Math.imul(T,W)|0,r=r+Math.imul(y,K)|0,i=(i=i+Math.imul(y,X)|0)+Math.imul(I,K)|0,o=o+Math.imul(I,X)|0,r=r+Math.imul(E,$)|0,i=(i=i+Math.imul(E,tt)|0)+Math.imul(m,$)|0,o=o+Math.imul(m,tt)|0,r=r+Math.imul(f,nt)|0,i=(i=i+Math.imul(f,rt)|0)+Math.imul(A,nt)|0,o=o+Math.imul(A,rt)|0;var Ct=(l+(r=r+Math.imul(h,ot)|0)|0)+((8191&(i=(i=i+Math.imul(h,st)|0)+Math.imul(d,ot)|0))<<13)|0;l=((o=o+Math.imul(d,st)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,r=Math.imul(L,G),i=(i=Math.imul(L,V))+Math.imul(x,G)|0,o=Math.imul(x,V),r=r+Math.imul(v,j)|0,i=(i=i+Math.imul(v,Y)|0)+Math.imul(S,j)|0,o=o+Math.imul(S,Y)|0,r=r+Math.imul(b,J)|0,i=(i=i+Math.imul(b,W)|0)+Math.imul(M,J)|0,o=o+Math.imul(M,W)|0,r=r+Math.imul(B,K)|0,i=(i=i+Math.imul(B,X)|0)+Math.imul(T,K)|0,o=o+Math.imul(T,X)|0,r=r+Math.imul(y,$)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(I,$)|0,o=o+Math.imul(I,tt)|0,r=r+Math.imul(E,nt)|0,i=(i=i+Math.imul(E,rt)|0)+Math.imul(m,nt)|0,o=o+Math.imul(m,rt)|0,r=r+Math.imul(f,ot)|0,i=(i=i+Math.imul(f,st)|0)+Math.imul(A,ot)|0,o=o+Math.imul(A,st)|0;var Bt=(l+(r=r+Math.imul(h,ct)|0)|0)+((8191&(i=(i=i+Math.imul(h,lt)|0)+Math.imul(d,ct)|0))<<13)|0;l=((o=o+Math.imul(d,lt)|0)+(i>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,r=Math.imul(F,G),i=(i=Math.imul(F,V))+Math.imul(O,G)|0,o=Math.imul(O,V),r=r+Math.imul(L,j)|0,i=(i=i+Math.imul(L,Y)|0)+Math.imul(x,j)|0,o=o+Math.imul(x,Y)|0,r=r+Math.imul(v,J)|0,i=(i=i+Math.imul(v,W)|0)+Math.imul(S,J)|0,o=o+Math.imul(S,W)|0,r=r+Math.imul(b,K)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(M,K)|0,o=o+Math.imul(M,X)|0,r=r+Math.imul(B,$)|0,i=(i=i+Math.imul(B,tt)|0)+Math.imul(T,$)|0,o=o+Math.imul(T,tt)|0,r=r+Math.imul(y,nt)|0,i=(i=i+Math.imul(y,rt)|0)+Math.imul(I,nt)|0,o=o+Math.imul(I,rt)|0,r=r+Math.imul(E,ot)|0,i=(i=i+Math.imul(E,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0,r=r+Math.imul(f,ct)|0,i=(i=i+Math.imul(f,lt)|0)+Math.imul(A,ct)|0,o=o+Math.imul(A,lt)|0;var Tt=(l+(r=r+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,dt)|0)+Math.imul(d,ht)|0))<<13)|0;l=((o=o+Math.imul(d,dt)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,r=Math.imul(k,G),i=(i=Math.imul(k,V))+Math.imul(U,G)|0,o=Math.imul(U,V),r=r+Math.imul(F,j)|0,i=(i=i+Math.imul(F,Y)|0)+Math.imul(O,j)|0,o=o+Math.imul(O,Y)|0,r=r+Math.imul(L,J)|0,i=(i=i+Math.imul(L,W)|0)+Math.imul(x,J)|0,o=o+Math.imul(x,W)|0,r=r+Math.imul(v,K)|0,i=(i=i+Math.imul(v,X)|0)+Math.imul(S,K)|0,o=o+Math.imul(S,X)|0,r=r+Math.imul(b,$)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(M,$)|0,o=o+Math.imul(M,tt)|0,r=r+Math.imul(B,nt)|0,i=(i=i+Math.imul(B,rt)|0)+Math.imul(T,nt)|0,o=o+Math.imul(T,rt)|0,r=r+Math.imul(y,ot)|0,i=(i=i+Math.imul(y,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,r=r+Math.imul(E,ct)|0,i=(i=i+Math.imul(E,lt)|0)+Math.imul(m,ct)|0,o=o+Math.imul(m,lt)|0,r=r+Math.imul(f,ht)|0,i=(i=i+Math.imul(f,dt)|0)+Math.imul(A,ht)|0,o=o+Math.imul(A,dt)|0;var Dt=(l+(r=r+Math.imul(h,ft)|0)|0)+((8191&(i=(i=i+Math.imul(h,At)|0)+Math.imul(d,ft)|0))<<13)|0;l=((o=o+Math.imul(d,At)|0)+(i>>>13)|0)+(Dt>>>26)|0,Dt&=67108863,r=Math.imul(k,j),i=(i=Math.imul(k,Y))+Math.imul(U,j)|0,o=Math.imul(U,Y),r=r+Math.imul(F,J)|0,i=(i=i+Math.imul(F,W)|0)+Math.imul(O,J)|0,o=o+Math.imul(O,W)|0,r=r+Math.imul(L,K)|0,i=(i=i+Math.imul(L,X)|0)+Math.imul(x,K)|0,o=o+Math.imul(x,X)|0,r=r+Math.imul(v,$)|0,i=(i=i+Math.imul(v,tt)|0)+Math.imul(S,$)|0,o=o+Math.imul(S,tt)|0,r=r+Math.imul(b,nt)|0,i=(i=i+Math.imul(b,rt)|0)+Math.imul(M,nt)|0,o=o+Math.imul(M,rt)|0,r=r+Math.imul(B,ot)|0,i=(i=i+Math.imul(B,st)|0)+Math.imul(T,ot)|0,o=o+Math.imul(T,st)|0,r=r+Math.imul(y,ct)|0,i=(i=i+Math.imul(y,lt)|0)+Math.imul(I,ct)|0,o=o+Math.imul(I,lt)|0,r=r+Math.imul(E,ht)|0,i=(i=i+Math.imul(E,dt)|0)+Math.imul(m,ht)|0,o=o+Math.imul(m,dt)|0;var bt=(l+(r=r+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,At)|0)+Math.imul(A,ft)|0))<<13)|0;l=((o=o+Math.imul(A,At)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,r=Math.imul(k,J),i=(i=Math.imul(k,W))+Math.imul(U,J)|0,o=Math.imul(U,W),r=r+Math.imul(F,K)|0,i=(i=i+Math.imul(F,X)|0)+Math.imul(O,K)|0,o=o+Math.imul(O,X)|0,r=r+Math.imul(L,$)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(x,$)|0,o=o+Math.imul(x,tt)|0,r=r+Math.imul(v,nt)|0,i=(i=i+Math.imul(v,rt)|0)+Math.imul(S,nt)|0,o=o+Math.imul(S,rt)|0,r=r+Math.imul(b,ot)|0,i=(i=i+Math.imul(b,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,r=r+Math.imul(B,ct)|0,i=(i=i+Math.imul(B,lt)|0)+Math.imul(T,ct)|0,o=o+Math.imul(T,lt)|0,r=r+Math.imul(y,ht)|0,i=(i=i+Math.imul(y,dt)|0)+Math.imul(I,ht)|0,o=o+Math.imul(I,dt)|0;var Mt=(l+(r=r+Math.imul(E,ft)|0)|0)+((8191&(i=(i=i+Math.imul(E,At)|0)+Math.imul(m,ft)|0))<<13)|0;l=((o=o+Math.imul(m,At)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,r=Math.imul(k,K),i=(i=Math.imul(k,X))+Math.imul(U,K)|0,o=Math.imul(U,X),r=r+Math.imul(F,$)|0,i=(i=i+Math.imul(F,tt)|0)+Math.imul(O,$)|0,o=o+Math.imul(O,tt)|0,r=r+Math.imul(L,nt)|0,i=(i=i+Math.imul(L,rt)|0)+Math.imul(x,nt)|0,o=o+Math.imul(x,rt)|0,r=r+Math.imul(v,ot)|0,i=(i=i+Math.imul(v,st)|0)+Math.imul(S,ot)|0,o=o+Math.imul(S,st)|0,r=r+Math.imul(b,ct)|0,i=(i=i+Math.imul(b,lt)|0)+Math.imul(M,ct)|0,o=o+Math.imul(M,lt)|0,r=r+Math.imul(B,ht)|0,i=(i=i+Math.imul(B,dt)|0)+Math.imul(T,ht)|0,o=o+Math.imul(T,dt)|0;var Nt=(l+(r=r+Math.imul(y,ft)|0)|0)+((8191&(i=(i=i+Math.imul(y,At)|0)+Math.imul(I,ft)|0))<<13)|0;l=((o=o+Math.imul(I,At)|0)+(i>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,r=Math.imul(k,$),i=(i=Math.imul(k,tt))+Math.imul(U,$)|0,o=Math.imul(U,tt),r=r+Math.imul(F,nt)|0,i=(i=i+Math.imul(F,rt)|0)+Math.imul(O,nt)|0,o=o+Math.imul(O,rt)|0,r=r+Math.imul(L,ot)|0,i=(i=i+Math.imul(L,st)|0)+Math.imul(x,ot)|0,o=o+Math.imul(x,st)|0,r=r+Math.imul(v,ct)|0,i=(i=i+Math.imul(v,lt)|0)+Math.imul(S,ct)|0,o=o+Math.imul(S,lt)|0,r=r+Math.imul(b,ht)|0,i=(i=i+Math.imul(b,dt)|0)+Math.imul(M,ht)|0,o=o+Math.imul(M,dt)|0;var vt=(l+(r=r+Math.imul(B,ft)|0)|0)+((8191&(i=(i=i+Math.imul(B,At)|0)+Math.imul(T,ft)|0))<<13)|0;l=((o=o+Math.imul(T,At)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,r=Math.imul(k,nt),i=(i=Math.imul(k,rt))+Math.imul(U,nt)|0,o=Math.imul(U,rt),r=r+Math.imul(F,ot)|0,i=(i=i+Math.imul(F,st)|0)+Math.imul(O,ot)|0,o=o+Math.imul(O,st)|0,r=r+Math.imul(L,ct)|0,i=(i=i+Math.imul(L,lt)|0)+Math.imul(x,ct)|0,o=o+Math.imul(x,lt)|0,r=r+Math.imul(v,ht)|0,i=(i=i+Math.imul(v,dt)|0)+Math.imul(S,ht)|0,o=o+Math.imul(S,dt)|0;var St=(l+(r=r+Math.imul(b,ft)|0)|0)+((8191&(i=(i=i+Math.imul(b,At)|0)+Math.imul(M,ft)|0))<<13)|0;l=((o=o+Math.imul(M,At)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,r=Math.imul(k,ot),i=(i=Math.imul(k,st))+Math.imul(U,ot)|0,o=Math.imul(U,st),r=r+Math.imul(F,ct)|0,i=(i=i+Math.imul(F,lt)|0)+Math.imul(O,ct)|0,o=o+Math.imul(O,lt)|0,r=r+Math.imul(L,ht)|0,i=(i=i+Math.imul(L,dt)|0)+Math.imul(x,ht)|0,o=o+Math.imul(x,dt)|0;var _t=(l+(r=r+Math.imul(v,ft)|0)|0)+((8191&(i=(i=i+Math.imul(v,At)|0)+Math.imul(S,ft)|0))<<13)|0;l=((o=o+Math.imul(S,At)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,r=Math.imul(k,ct),i=(i=Math.imul(k,lt))+Math.imul(U,ct)|0,o=Math.imul(U,lt),r=r+Math.imul(F,ht)|0,i=(i=i+Math.imul(F,dt)|0)+Math.imul(O,ht)|0,o=o+Math.imul(O,dt)|0;var Lt=(l+(r=r+Math.imul(L,ft)|0)|0)+((8191&(i=(i=i+Math.imul(L,At)|0)+Math.imul(x,ft)|0))<<13)|0;l=((o=o+Math.imul(x,At)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,r=Math.imul(k,ht),i=(i=Math.imul(k,dt))+Math.imul(U,ht)|0,o=Math.imul(U,dt);var xt=(l+(r=r+Math.imul(F,ft)|0)|0)+((8191&(i=(i=i+Math.imul(F,At)|0)+Math.imul(O,ft)|0))<<13)|0;l=((o=o+Math.imul(O,At)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863;var Rt=(l+(r=Math.imul(k,ft))|0)+((8191&(i=(i=Math.imul(k,At))+Math.imul(U,ft)|0))<<13)|0;return l=((o=Math.imul(U,At))+(i>>>13)|0)+(Rt>>>26)|0,Rt&=67108863,c[0]=gt,c[1]=Et,c[2]=mt,c[3]=wt,c[4]=yt,c[5]=It,c[6]=Ct,c[7]=Bt,c[8]=Tt,c[9]=Dt,c[10]=bt,c[11]=Mt,c[12]=Nt,c[13]=vt,c[14]=St,c[15]=_t,c[16]=Lt,c[17]=xt,c[18]=Rt,0!==l&&(c[19]=l,n.length++),n};function E(t,e,n){n.negative=e.negative^t.negative,n.length=t.length+e.length;for(var r=0,i=0,o=0;o<n.length-1;o++){var s=i;i=0;for(var a=67108863&r,c=Math.min(o,e.length-1),l=Math.max(0,o-t.length+1);l<=c;l++){var u=o-l,h=(0|t.words[u])*(0|e.words[l]),d=67108863&h;a=67108863&(d=d+a|0),i+=(s=(s=s+(h/67108864|0)|0)+(d>>>26)|0)>>>26,s&=67108863}n.words[o]=a,r=s,s=i}return 0!==r?n.words[o]=r:n.length--,n._strip()}function m(t,e,n){return E(t,e,n)}function w(t,e){this.x=t,this.y=e}Math.imul||(g=A),o.prototype.mulTo=function(t,e){var n=this.length+t.length;return 10===this.length&&10===t.length?g(this,t,e):n<63?A(this,t,e):n<1024?E(this,t,e):m(this,t,e)},w.prototype.makeRBT=function(t){for(var e=new Array(t),n=o.prototype._countBits(t)-1,r=0;r<t;r++)e[r]=this.revBin(r,n,t);return e},w.prototype.revBin=function(t,e,n){if(0===t||t===n-1)return t;for(var r=0,i=0;i<e;i++)r|=(1&t)<<e-i-1,t>>=1;return r},w.prototype.permute=function(t,e,n,r,i,o){for(var s=0;s<o;s++)r[s]=e[t[s]],i[s]=n[t[s]]},w.prototype.transform=function(t,e,n,r,i,o){this.permute(o,t,e,n,r,i);for(var s=1;s<i;s<<=1)for(var a=s<<1,c=Math.cos(2*Math.PI/a),l=Math.sin(2*Math.PI/a),u=0;u<i;u+=a)for(var h=c,d=l,p=0;p<s;p++){var f=n[u+p],A=r[u+p],g=n[u+p+s],E=r[u+p+s],m=h*g-d*E;E=h*E+d*g,g=m,n[u+p]=f+g,r[u+p]=A+E,n[u+p+s]=f-g,r[u+p+s]=A-E,p!==a&&(m=c*h-l*d,d=c*d+l*h,h=m)}},w.prototype.guessLen13b=function(t,e){var n=1|Math.max(e,t),r=1&n,i=0;for(n=n/2|0;n;n>>>=1)i++;return 1<<i+1+r},w.prototype.conjugate=function(t,e,n){if(!(n<=1))for(var r=0;r<n/2;r++){var i=t[r];t[r]=t[n-r-1],t[n-r-1]=i,i=e[r],e[r]=-e[n-r-1],e[n-r-1]=-i}},w.prototype.normalize13b=function(t,e){for(var n=0,r=0;r<e/2;r++){var i=8192*Math.round(t[2*r+1]/e)+Math.round(t[2*r]/e)+n;t[r]=67108863&i,n=i<67108864?0:i/67108864|0}return t},w.prototype.convert13b=function(t,e,n,i){for(var o=0,s=0;s<e;s++)o+=0|t[s],n[2*s]=8191&o,o>>>=13,n[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<i;++s)n[s]=0;r(0===o),r(!(-8192&o))},w.prototype.stub=function(t){for(var e=new Array(t),n=0;n<t;n++)e[n]=0;return e},w.prototype.mulp=function(t,e,n){var r=2*this.guessLen13b(t.length,e.length),i=this.makeRBT(r),o=this.stub(r),s=new Array(r),a=new Array(r),c=new Array(r),l=new Array(r),u=new Array(r),h=new Array(r),d=n.words;d.length=r,this.convert13b(t.words,t.length,s,r),this.convert13b(e.words,e.length,l,r),this.transform(s,o,a,c,r,i),this.transform(l,o,u,h,r,i);for(var p=0;p<r;p++){var f=a[p]*u[p]-c[p]*h[p];c[p]=a[p]*h[p]+c[p]*u[p],a[p]=f}return this.conjugate(a,c,r),this.transform(a,c,d,o,r,i),this.conjugate(d,o,r),this.normalize13b(d,r),n.negative=t.negative^e.negative,n.length=t.length+e.length,n._strip()},o.prototype.mul=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},o.prototype.mulf=function(t){var e=new o(null);return e.words=new Array(this.length+t.length),m(this,t,e)},o.prototype.imul=function(t){return this.clone().mulTo(t,this)},o.prototype.imuln=function(t){var e=t<0;e&&(t=-t),r("number"==typeof t),r(t<67108864);for(var n=0,i=0;i<this.length;i++){var o=(0|this.words[i])*t,s=(67108863&o)+(67108863&n);n>>=26,n+=o/67108864|0,n+=s>>>26,this.words[i]=67108863&s}return 0!==n&&(this.words[i]=n,this.length++),this.length=0===t?1:this.length,e?this.ineg():this},o.prototype.muln=function(t){return this.clone().imuln(t)},o.prototype.sqr=function(){return this.mul(this)},o.prototype.isqr=function(){return this.imul(this.clone())},o.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),n=0;n<e.length;n++){var r=n/26|0,i=n%26;e[n]=t.words[r]>>>i&1}return e}(t);if(0===e.length)return new o(1);for(var n=this,r=0;r<e.length&&0===e[r];r++,n=n.sqr());if(++r<e.length)for(var i=n.sqr();r<e.length;r++,i=i.sqr())0!==e[r]&&(n=n.mul(i));return n},o.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,n=t%26,i=(t-n)/26,o=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(e=0;e<this.length;e++){var a=this.words[e]&o,c=(0|this.words[e])-a<<n;this.words[e]=c|s,s=a>>>26-n}s&&(this.words[e]=s,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e<i;e++)this.words[e]=0;this.length+=i}return this._strip()},o.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},o.prototype.iushrn=function(t,e,n){var i;r("number"==typeof t&&t>=0),i=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),a=67108863^67108863>>>o<<o,c=n;if(i-=s,i=Math.max(0,i),c){for(var l=0;l<s;l++)c.words[l]=this.words[l];c.length=s}if(0===s);else if(this.length>s)for(this.length-=s,l=0;l<this.length;l++)this.words[l]=this.words[l+s];else this.words[0]=0,this.length=1;var u=0;for(l=this.length-1;l>=0&&(0!==u||l>=i);l--){var h=0|this.words[l];this.words[l]=u<<26-o|h>>>o,u=h&a}return c&&0!==u&&(c.words[c.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},o.prototype.ishrn=function(t,e,n){return r(0===this.negative),this.iushrn(t,e,n)},o.prototype.shln=function(t){return this.clone().ishln(t)},o.prototype.ushln=function(t){return this.clone().iushln(t)},o.prototype.shrn=function(t){return this.clone().ishrn(t)},o.prototype.ushrn=function(t){return this.clone().iushrn(t)},o.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26,i=1<<e;return!(this.length<=n)&&!!(this.words[n]&i)},o.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,n=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)return this;if(0!==e&&n++,this.length=Math.min(n,this.length),0!==e){var i=67108863^67108863>>>e<<e;this.words[this.length-1]&=i}return this._strip()},o.prototype.maskn=function(t){return this.clone().imaskn(t)},o.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},o.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},o.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},o.prototype.addn=function(t){return this.clone().iaddn(t)},o.prototype.subn=function(t){return this.clone().isubn(t)},o.prototype.iabs=function(){return this.negative=0,this},o.prototype.abs=function(){return this.clone().iabs()},o.prototype._ishlnsubmul=function(t,e,n){var i,o,s=t.length+n;this._expand(s);var a=0;for(i=0;i<t.length;i++){o=(0|this.words[i+n])+a;var c=(0|t.words[i])*e;a=((o-=67108863&c)>>26)-(c/67108864|0),this.words[i+n]=67108863&o}for(;i<this.length-n;i++)a=(o=(0|this.words[i+n])+a)>>26,this.words[i+n]=67108863&o;if(0===a)return this._strip();for(r(-1===a),a=0,i=0;i<this.length;i++)a=(o=-(0|this.words[i])+a)>>26,this.words[i]=67108863&o;return this.negative=1,this._strip()},o.prototype._wordDiv=function(t,e){var n=(this.length,t.length),r=this.clone(),i=t,s=0|i.words[i.length-1];0!==(n=26-this._countBits(s))&&(i=i.ushln(n),r.iushln(n),s=0|i.words[i.length-1]);var a,c=r.length-i.length;if("mod"!==e){(a=new o(null)).length=c+1,a.words=new Array(a.length);for(var l=0;l<a.length;l++)a.words[l]=0}var u=r.clone()._ishlnsubmul(i,1,c);0===u.negative&&(r=u,a&&(a.words[c]=1));for(var h=c-1;h>=0;h--){var d=67108864*(0|r.words[i.length+h])+(0|r.words[i.length+h-1]);for(d=Math.min(d/s|0,67108863),r._ishlnsubmul(i,d,h);0!==r.negative;)d--,r.negative=0,r._ishlnsubmul(i,1,h),r.isZero()||(r.negative^=1);a&&(a.words[h]=d)}return a&&a._strip(),r._strip(),"div"!==e&&0!==n&&r.iushrn(n),{div:a||null,mod:r}},o.prototype.divmod=function(t,e,n){return r(!t.isZero()),this.isZero()?{div:new o(0),mod:new o(0)}:0!==this.negative&&0===t.negative?(a=this.neg().divmod(t,e),"mod"!==e&&(i=a.div.neg()),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.iadd(t)),{div:i,mod:s}):0===this.negative&&0!==t.negative?(a=this.divmod(t.neg(),e),"mod"!==e&&(i=a.div.neg()),{div:i,mod:a.mod}):0!==(this.negative&t.negative)?(a=this.neg().divmod(t.neg(),e),"div"!==e&&(s=a.mod.neg(),n&&0!==s.negative&&s.isub(t)),{div:a.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new o(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new o(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new o(this.modrn(t.words[0]))}:this._wordDiv(t,e);var i,s,a},o.prototype.div=function(t){return this.divmod(t,"div",!1).div},o.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},o.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},o.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var n=0!==e.div.negative?e.mod.isub(t):e.mod,r=t.ushrn(1),i=t.andln(1),o=n.cmp(r);return o<0||1===i&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},o.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var n=(1<<26)%t,i=0,o=this.length-1;o>=0;o--)i=(n*i+(0|this.words[o]))%t;return e?-i:i},o.prototype.modn=function(t){return this.modrn(t)},o.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var n=0,i=this.length-1;i>=0;i--){var o=(0|this.words[i])+67108864*n;this.words[i]=o/t|0,n=o%t}return this._strip(),e?this.ineg():this},o.prototype.divn=function(t){return this.clone().idivn(t)},o.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new o(1),s=new o(0),a=new o(0),c=new o(1),l=0;e.isEven()&&n.isEven();)e.iushrn(1),n.iushrn(1),++l;for(var u=n.clone(),h=e.clone();!e.isZero();){for(var d=0,p=1;0===(e.words[0]&p)&&d<26;++d,p<<=1);if(d>0)for(e.iushrn(d);d-- >0;)(i.isOdd()||s.isOdd())&&(i.iadd(u),s.isub(h)),i.iushrn(1),s.iushrn(1);for(var f=0,A=1;0===(n.words[0]&A)&&f<26;++f,A<<=1);if(f>0)for(n.iushrn(f);f-- >0;)(a.isOdd()||c.isOdd())&&(a.iadd(u),c.isub(h)),a.iushrn(1),c.iushrn(1);e.cmp(n)>=0?(e.isub(n),i.isub(a),s.isub(c)):(n.isub(e),a.isub(i),c.isub(s))}return{a,b:c,gcd:n.iushln(l)}},o.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,n=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,s=new o(1),a=new o(0),c=n.clone();e.cmpn(1)>0&&n.cmpn(1)>0;){for(var l=0,u=1;0===(e.words[0]&u)&&l<26;++l,u<<=1);if(l>0)for(e.iushrn(l);l-- >0;)s.isOdd()&&s.iadd(c),s.iushrn(1);for(var h=0,d=1;0===(n.words[0]&d)&&h<26;++h,d<<=1);if(h>0)for(n.iushrn(h);h-- >0;)a.isOdd()&&a.iadd(c),a.iushrn(1);e.cmp(n)>=0?(e.isub(n),s.isub(a)):(n.isub(e),a.isub(s))}return(i=0===e.cmpn(1)?s:a).cmpn(0)<0&&i.iadd(t),i},o.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),n=t.clone();e.negative=0,n.negative=0;for(var r=0;e.isEven()&&n.isEven();r++)e.iushrn(1),n.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;n.isEven();)n.iushrn(1);var i=e.cmp(n);if(i<0){var o=e;e=n,n=o}else if(0===i||0===n.cmpn(1))break;e.isub(n)}return n.iushln(r)},o.prototype.invm=function(t){return this.egcd(t).a.umod(t)},o.prototype.isEven=function(){return!(1&this.words[0])},o.prototype.isOdd=function(){return!(1&~this.words[0])},o.prototype.andln=function(t){return this.words[0]&t},o.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,n=(t-e)/26,i=1<<e;if(this.length<=n)return this._expand(n+1),this.words[n]|=i,this;for(var o=i,s=n;0!==o&&s<this.length;s++){var a=0|this.words[s];o=(a+=o)>>>26,a&=67108863,this.words[s]=a}return 0!==o&&(this.words[s]=o,this.length++),this},o.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},o.prototype.cmpn=function(t){var e,n=t<0;if(0!==this.negative&&!n)return-1;if(0===this.negative&&n)return 1;if(this._strip(),this.length>1)e=1;else{n&&(t=-t),r(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:i<t?-1:1}return 0!==this.negative?0|-e:e},o.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},o.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,n=this.length-1;n>=0;n--){var r=0|this.words[n],i=0|t.words[n];if(r!==i){r<i?e=-1:r>i&&(e=1);break}}return e},o.prototype.gtn=function(t){return 1===this.cmpn(t)},o.prototype.gt=function(t){return 1===this.cmp(t)},o.prototype.gten=function(t){return this.cmpn(t)>=0},o.prototype.gte=function(t){return this.cmp(t)>=0},o.prototype.ltn=function(t){return-1===this.cmpn(t)},o.prototype.lt=function(t){return-1===this.cmp(t)},o.prototype.lten=function(t){return this.cmpn(t)<=0},o.prototype.lte=function(t){return this.cmp(t)<=0},o.prototype.eqn=function(t){return 0===this.cmpn(t)},o.prototype.eq=function(t){return 0===this.cmp(t)},o.red=function(t){return new b(t)},o.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},o.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},o.prototype._forceRed=function(t){return this.red=t,this},o.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},o.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},o.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},o.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},o.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},o.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},o.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},o.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},o.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},o.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},o.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},o.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},o.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},o.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function I(t,e){this.name=t,this.p=new o(e,16),this.n=this.p.bitLength(),this.k=new o(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function C(){I.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function B(){I.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function T(){I.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function D(){I.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function b(t){if("string"==typeof t){var e=o._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function M(t){b.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new o(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}I.prototype._tmp=function(){var t=new o(null);return t.words=new Array(Math.ceil(this.n/13)),t},I.prototype.ireduce=function(t){var e,n=t;do{this.split(n,this.tmp),e=(n=(n=this.imulK(n)).iadd(this.tmp)).bitLength()}while(e>this.n);var r=e<this.n?-1:n.ucmp(this.p);return 0===r?(n.words[0]=0,n.length=1):r>0?n.isub(this.p):void 0!==n.strip?n.strip():n._strip(),n},I.prototype.split=function(t,e){t.iushrn(this.n,0,e)},I.prototype.imulK=function(t){return t.imul(this.k)},i(C,I),C.prototype.split=function(t,e){for(var n=4194303,r=Math.min(t.length,9),i=0;i<r;i++)e.words[i]=t.words[i];if(e.length=r,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&n,i=10;i<t.length;i++){var s=0|t.words[i];t.words[i-10]=(s&n)<<4|o>>>22,o=s}o>>>=22,t.words[i-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},C.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,n=0;n<t.length;n++){var r=0|t.words[n];e+=977*r,t.words[n]=67108863&e,e=64*r+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(B,I),i(T,I),i(D,I),D.prototype.imulK=function(t){for(var e=0,n=0;n<t.length;n++){var r=19*(0|t.words[n])+e,i=67108863&r;r>>>=26,t.words[n]=i,e=r}return 0!==e&&(t.words[t.length++]=e),t},o._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new C;else if("p224"===t)e=new B;else if("p192"===t)e=new T;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new D}return y[t]=e,e},b.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},b.prototype._verify2=function(t,e){r(0===(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},b.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(u(t,t.umod(this.m)._forceRed(this)),t)},b.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},b.prototype.add=function(t,e){this._verify2(t,e);var n=t.add(e);return n.cmp(this.m)>=0&&n.isub(this.m),n._forceRed(this)},b.prototype.iadd=function(t,e){this._verify2(t,e);var n=t.iadd(e);return n.cmp(this.m)>=0&&n.isub(this.m),n},b.prototype.sub=function(t,e){this._verify2(t,e);var n=t.sub(e);return n.cmpn(0)<0&&n.iadd(this.m),n._forceRed(this)},b.prototype.isub=function(t,e){this._verify2(t,e);var n=t.isub(e);return n.cmpn(0)<0&&n.iadd(this.m),n},b.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},b.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},b.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},b.prototype.isqr=function(t){return this.imul(t,t.clone())},b.prototype.sqr=function(t){return this.mul(t,t)},b.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var n=this.m.add(new o(1)).iushrn(2);return this.pow(t,n)}for(var i=this.m.subn(1),s=0;!i.isZero()&&0===i.andln(1);)s++,i.iushrn(1);r(!i.isZero());var a=new o(1).toRed(this),c=a.redNeg(),l=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new o(2*u*u).toRed(this);0!==this.pow(u,l).cmp(c);)u.redIAdd(c);for(var h=this.pow(u,i),d=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),f=s;0!==p.cmp(a);){for(var A=p,g=0;0!==A.cmp(a);g++)A=A.redSqr();r(g<f);var E=this.pow(h,new o(1).iushln(f-g-1));d=d.redMul(E),h=E.redSqr(),p=p.redMul(h),f=g}return d},b.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},b.prototype.pow=function(t,e){if(e.isZero())return new o(1).toRed(this);if(0===e.cmpn(1))return t.clone();var n=new Array(16);n[0]=new o(1).toRed(this),n[1]=t;for(var r=2;r<n.length;r++)n[r]=this.mul(n[r-1],t);var i=n[0],s=0,a=0,c=e.bitLength()%26;for(0===c&&(c=26),r=e.length-1;r>=0;r--){for(var l=e.words[r],u=c-1;u>=0;u--){var h=l>>u&1;i!==n[0]&&(i=this.sqr(i)),0!==h||0!==s?(s<<=1,s|=h,(4===++a||0===r&&0===u)&&(i=this.mul(i,n[s]),a=0,s=0)):a=0}c=26}return i},b.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},b.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},o.mont=function(t){return new M(t)},i(M,b),M.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},M.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},M.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var n=t.imul(e),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},M.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new o(0)._forceRed(this);var n=t.mul(e),r=n.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=n.isub(r).iushrn(this.shift),s=i;return i.cmp(this.m)>=0?s=i.isub(this.m):i.cmpn(0)<0&&(s=i.iadd(this.m)),s._forceRed(this)},M.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=n.nmd(t),this)},9424:function(t,e,n){"use strict";var r=this&&this.__createBinding||(Object.create?function(t,e,n,r){void 0===r&&(r=n),Object.defineProperty(t,r,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,r){void 0===r&&(r=n),t[r]=e[n]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),o=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&r(e,t,n);return i(e,t),e};Object.defineProperty(e,"__esModule",{value:!0}),e.v6=e.Address6=e.Address4=void 0;var s=n(8955);Object.defineProperty(e,"Address4",{enumerable:!0,get:function(){return s.Address4}});var a=n(2861);Object.defineProperty(e,"Address6",{enumerable:!0,get:function(){return a.Address6}});var c=o(n(4994));e.v6={helpers:c}},9534:function(t,e){(function(){var e;function n(t,e,n){null!=t&&("number"==typeof t?this.fromNumber(t,e,n):null==e&&"string"!=typeof t?this.fromString(t,256):this.fromString(t,e))}function r(){return new n(null)}var i="undefined"!=typeof navigator;i&&"Microsoft Internet Explorer"==navigator.appName?(n.prototype.am=function(t,e,n,r,i,o){for(var s=32767&e,a=e>>15;--o>=0;){var c=32767&this[t],l=this[t++]>>15,u=a*c+l*s;i=((c=s*c+((32767&u)<<15)+n[r]+(1073741823&i))>>>30)+(u>>>15)+a*l+(i>>>30),n[r++]=1073741823&c}return i},e=30):i&&"Netscape"!=navigator.appName?(n.prototype.am=function(t,e,n,r,i,o){for(;--o>=0;){var s=e*this[t++]+n[r]+i;i=Math.floor(s/67108864),n[r++]=67108863&s}return i},e=26):(n.prototype.am=function(t,e,n,r,i,o){for(var s=16383&e,a=e>>14;--o>=0;){var c=16383&this[t],l=this[t++]>>14,u=a*c+l*s;i=((c=s*c+((16383&u)<<14)+n[r]+i)>>28)+(u>>14)+a*l,n[r++]=268435455&c}return i},e=28),n.prototype.DB=e,n.prototype.DM=(1<<e)-1,n.prototype.DV=1<<e;n.prototype.FV=Math.pow(2,52),n.prototype.F1=52-e,n.prototype.F2=2*e-52;var o,s,a=new Array;for(o="0".charCodeAt(0),s=0;s<=9;++s)a[o++]=s;for(o="a".charCodeAt(0),s=10;s<36;++s)a[o++]=s;for(o="A".charCodeAt(0),s=10;s<36;++s)a[o++]=s;function c(t){return"0123456789abcdefghijklmnopqrstuvwxyz".charAt(t)}function l(t,e){var n=a[t.charCodeAt(e)];return null==n?-1:n}function u(t){var e=r();return e.fromInt(t),e}function h(t){var e,n=1;return 0!=(e=t>>>16)&&(t=e,n+=16),0!=(e=t>>8)&&(t=e,n+=8),0!=(e=t>>4)&&(t=e,n+=4),0!=(e=t>>2)&&(t=e,n+=2),0!=(e=t>>1)&&(t=e,n+=1),n}function d(t){this.m=t}function p(t){this.m=t,this.mp=t.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function f(t,e){return t&e}function A(t,e){return t|e}function g(t,e){return t^e}function E(t,e){return t&~e}function m(t){if(0==t)return-1;var e=0;return 65535&t||(t>>=16,e+=16),255&t||(t>>=8,e+=8),15&t||(t>>=4,e+=4),3&t||(t>>=2,e+=2),1&t||++e,e}function w(t){for(var e=0;0!=t;)t&=t-1,++e;return e}function y(){}function I(t){return t}function C(t){this.r2=r(),this.q3=r(),n.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}d.prototype.convert=function(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t},d.prototype.revert=function(t){return t},d.prototype.reduce=function(t){t.divRemTo(this.m,null,t)},d.prototype.mulTo=function(t,e,n){t.multiplyTo(e,n),this.reduce(n)},d.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},p.prototype.convert=function(t){var e=r();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(n.ZERO)>0&&this.m.subTo(e,e),e},p.prototype.revert=function(t){var e=r();return t.copyTo(e),this.reduce(e),e},p.prototype.reduce=function(t){for(;t.t<=this.mt2;)t[t.t++]=0;for(var e=0;e<this.m.t;++e){var n=32767&t[e],r=n*this.mpl+((n*this.mph+(t[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(t[n=e+this.m.t]+=this.m.am(0,r,t,e,0,this.m.t);t[n]>=t.DV;)t[n]-=t.DV,t[++n]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)},p.prototype.mulTo=function(t,e,n){t.multiplyTo(e,n),this.reduce(n)},p.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)},n.prototype.copyTo=function(t){for(var e=this.t-1;e>=0;--e)t[e]=this[e];t.t=this.t,t.s=this.s},n.prototype.fromInt=function(t){this.t=1,this.s=t<0?-1:0,t>0?this[0]=t:t<-1?this[0]=t+this.DV:this.t=0},n.prototype.fromString=function(t,e){var r;if(16==e)r=4;else if(8==e)r=3;else if(256==e)r=8;else if(2==e)r=1;else if(32==e)r=5;else{if(4!=e)return void this.fromRadix(t,e);r=2}this.t=0,this.s=0;for(var i=t.length,o=!1,s=0;--i>=0;){var a=8==r?255&t[i]:l(t,i);a<0?"-"==t.charAt(i)&&(o=!0):(o=!1,0==s?this[this.t++]=a:s+r>this.DB?(this[this.t-1]|=(a&(1<<this.DB-s)-1)<<s,this[this.t++]=a>>this.DB-s):this[this.t-1]|=a<<s,(s+=r)>=this.DB&&(s-=this.DB))}8==r&&128&t[0]&&(this.s=-1,s>0&&(this[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),o&&n.ZERO.subTo(this,this)},n.prototype.clamp=function(){for(var t=this.s&this.DM;this.t>0&&this[this.t-1]==t;)--this.t},n.prototype.dlShiftTo=function(t,e){var n;for(n=this.t-1;n>=0;--n)e[n+t]=this[n];for(n=t-1;n>=0;--n)e[n]=0;e.t=this.t+t,e.s=this.s},n.prototype.drShiftTo=function(t,e){for(var n=t;n<this.t;++n)e[n-t]=this[n];e.t=Math.max(this.t-t,0),e.s=this.s},n.prototype.lShiftTo=function(t,e){var n,r=t%this.DB,i=this.DB-r,o=(1<<i)-1,s=Math.floor(t/this.DB),a=this.s<<r&this.DM;for(n=this.t-1;n>=0;--n)e[n+s+1]=this[n]>>i|a,a=(this[n]&o)<<r;for(n=s-1;n>=0;--n)e[n]=0;e[s]=a,e.t=this.t+s+1,e.s=this.s,e.clamp()},n.prototype.rShiftTo=function(t,e){e.s=this.s;var n=Math.floor(t/this.DB);if(n>=this.t)e.t=0;else{var r=t%this.DB,i=this.DB-r,o=(1<<r)-1;e[0]=this[n]>>r;for(var s=n+1;s<this.t;++s)e[s-n-1]|=(this[s]&o)<<i,e[s-n]=this[s]>>r;r>0&&(e[this.t-n-1]|=(this.s&o)<<i),e.t=this.t-n,e.clamp()}},n.prototype.subTo=function(t,e){for(var n=0,r=0,i=Math.min(t.t,this.t);n<i;)r+=this[n]-t[n],e[n++]=r&this.DM,r>>=this.DB;if(t.t<this.t){for(r-=t.s;n<this.t;)r+=this[n],e[n++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;n<t.t;)r-=t[n],e[n++]=r&this.DM,r>>=this.DB;r-=t.s}e.s=r<0?-1:0,r<-1?e[n++]=this.DV+r:r>0&&(e[n++]=r),e.t=n,e.clamp()},n.prototype.multiplyTo=function(t,e){var r=this.abs(),i=t.abs(),o=r.t;for(e.t=o+i.t;--o>=0;)e[o]=0;for(o=0;o<i.t;++o)e[o+r.t]=r.am(0,i[o],e,o,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&n.ZERO.subTo(e,e)},n.prototype.squareTo=function(t){for(var e=this.abs(),n=t.t=2*e.t;--n>=0;)t[n]=0;for(n=0;n<e.t-1;++n){var r=e.am(n,e[n],t,2*n,0,1);(t[n+e.t]+=e.am(n+1,2*e[n],t,2*n+1,r,e.t-n-1))>=e.DV&&(t[n+e.t]-=e.DV,t[n+e.t+1]=1)}t.t>0&&(t[t.t-1]+=e.am(n,e[n],t,2*n,0,1)),t.s=0,t.clamp()},n.prototype.divRemTo=function(t,e,i){var o=t.abs();if(!(o.t<=0)){var s=this.abs();if(s.t<o.t)return null!=e&&e.fromInt(0),void(null!=i&&this.copyTo(i));null==i&&(i=r());var a=r(),c=this.s,l=t.s,u=this.DB-h(o[o.t-1]);u>0?(o.lShiftTo(u,a),s.lShiftTo(u,i)):(o.copyTo(a),s.copyTo(i));var d=a.t,p=a[d-1];if(0!=p){var f=p*(1<<this.F1)+(d>1?a[d-2]>>this.F2:0),A=this.FV/f,g=(1<<this.F1)/f,E=1<<this.F2,m=i.t,w=m-d,y=null==e?r():e;for(a.dlShiftTo(w,y),i.compareTo(y)>=0&&(i[i.t++]=1,i.subTo(y,i)),n.ONE.dlShiftTo(d,y),y.subTo(a,a);a.t<d;)a[a.t++]=0;for(;--w>=0;){var I=i[--m]==p?this.DM:Math.floor(i[m]*A+(i[m-1]+E)*g);if((i[m]+=a.am(0,I,i,w,0,d))<I)for(a.dlShiftTo(w,y),i.subTo(y,i);i[m]<--I;)i.subTo(y,i)}null!=e&&(i.drShiftTo(d,e),c!=l&&n.ZERO.subTo(e,e)),i.t=d,i.clamp(),u>0&&i.rShiftTo(u,i),c<0&&n.ZERO.subTo(i,i)}}},n.prototype.invDigit=function(){if(this.t<1)return 0;var t=this[0];if(!(1&t))return 0;var e=3&t;return(e=(e=(e=(e=e*(2-(15&t)*e)&15)*(2-(255&t)*e)&255)*(2-((65535&t)*e&65535))&65535)*(2-t*e%this.DV)%this.DV)>0?this.DV-e:-e},n.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},n.prototype.exp=function(t,e){if(t>4294967295||t<1)return n.ONE;var i=r(),o=r(),s=e.convert(this),a=h(t)-1;for(s.copyTo(i);--a>=0;)if(e.sqrTo(i,o),(t&1<<a)>0)e.mulTo(o,s,i);else{var c=i;i=o,o=c}return e.revert(i)},n.prototype.toString=function(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(16==t)e=4;else if(8==t)e=3;else if(2==t)e=1;else if(32==t)e=5;else{if(4!=t)return this.toRadix(t);e=2}var n,r=(1<<e)-1,i=!1,o="",s=this.t,a=this.DB-s*this.DB%e;if(s-- >0)for(a<this.DB&&(n=this[s]>>a)>0&&(i=!0,o=c(n));s>=0;)a<e?(n=(this[s]&(1<<a)-1)<<e-a,n|=this[--s]>>(a+=this.DB-e)):(n=this[s]>>(a-=e)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=c(n));return i?o:"0"},n.prototype.negate=function(){var t=r();return n.ZERO.subTo(this,t),t},n.prototype.abs=function(){return this.s<0?this.negate():this},n.prototype.compareTo=function(t){var e=this.s-t.s;if(0!=e)return e;var n=this.t;if(0!=(e=n-t.t))return this.s<0?-e:e;for(;--n>=0;)if(0!=(e=this[n]-t[n]))return e;return 0},n.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+h(this[this.t-1]^this.s&this.DM)},n.prototype.mod=function(t){var e=r();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(n.ZERO)>0&&t.subTo(e,e),e},n.prototype.modPowInt=function(t,e){var n;return n=t<256||e.isEven()?new d(e):new p(e),this.exp(t,n)},n.ZERO=u(0),n.ONE=u(1),y.prototype.convert=I,y.prototype.revert=I,y.prototype.mulTo=function(t,e,n){t.multiplyTo(e,n)},y.prototype.sqrTo=function(t,e){t.squareTo(e)},C.prototype.convert=function(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=r();return t.copyTo(e),this.reduce(e),e},C.prototype.revert=function(t){return t},C.prototype.reduce=function(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)},C.prototype.mulTo=function(t,e,n){t.multiplyTo(e,n),this.reduce(n)},C.prototype.sqrTo=function(t,e){t.squareTo(e),this.reduce(e)};var B,T,D,b=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],M=(1<<26)/b[b.length-1];function N(){var t;t=(new Date).getTime(),T[D++]^=255&t,T[D++]^=t>>8&255,T[D++]^=t>>16&255,T[D++]^=t>>24&255,D>=F&&(D-=F)}if(n.prototype.chunkSize=function(t){return Math.floor(Math.LN2*this.DB/Math.log(t))},n.prototype.toRadix=function(t){if(null==t&&(t=10),0==this.signum()||t<2||t>36)return"0";var e=this.chunkSize(t),n=Math.pow(t,e),i=u(n),o=r(),s=r(),a="";for(this.divRemTo(i,o,s);o.signum()>0;)a=(n+s.intValue()).toString(t).substr(1)+a,o.divRemTo(i,o,s);return s.intValue().toString(t)+a},n.prototype.fromRadix=function(t,e){this.fromInt(0),null==e&&(e=10);for(var r=this.chunkSize(e),i=Math.pow(e,r),o=!1,s=0,a=0,c=0;c<t.length;++c){var u=l(t,c);u<0?"-"==t.charAt(c)&&0==this.signum()&&(o=!0):(a=e*a+u,++s>=r&&(this.dMultiply(i),this.dAddOffset(a,0),s=0,a=0))}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(a,0)),o&&n.ZERO.subTo(this,this)},n.prototype.fromNumber=function(t,e,r){if("number"==typeof e)if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(n.ONE.shiftLeft(t-1),A,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(n.ONE.shiftLeft(t-1),this);else{var i=new Array,o=7&t;i.length=1+(t>>3),e.nextBytes(i),o>0?i[0]&=(1<<o)-1:i[0]=0,this.fromString(i,256)}},n.prototype.bitwiseTo=function(t,e,n){var r,i,o=Math.min(t.t,this.t);for(r=0;r<o;++r)n[r]=e(this[r],t[r]);if(t.t<this.t){for(i=t.s&this.DM,r=o;r<this.t;++r)n[r]=e(this[r],i);n.t=this.t}else{for(i=this.s&this.DM,r=o;r<t.t;++r)n[r]=e(i,t[r]);n.t=t.t}n.s=e(this.s,t.s),n.clamp()},n.prototype.changeBit=function(t,e){var r=n.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r},n.prototype.addTo=function(t,e){for(var n=0,r=0,i=Math.min(t.t,this.t);n<i;)r+=this[n]+t[n],e[n++]=r&this.DM,r>>=this.DB;if(t.t<this.t){for(r+=t.s;n<this.t;)r+=this[n],e[n++]=r&this.DM,r>>=this.DB;r+=this.s}else{for(r+=this.s;n<t.t;)r+=t[n],e[n++]=r&this.DM,r>>=this.DB;r+=t.s}e.s=r<0?-1:0,r>0?e[n++]=r:r<-1&&(e[n++]=this.DV+r),e.t=n,e.clamp()},n.prototype.dMultiply=function(t){this[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()},n.prototype.dAddOffset=function(t,e){if(0!=t){for(;this.t<=e;)this[this.t++]=0;for(this[e]+=t;this[e]>=this.DV;)this[e]-=this.DV,++e>=this.t&&(this[this.t++]=0),++this[e]}},n.prototype.multiplyLowerTo=function(t,e,n){var r,i=Math.min(this.t+t.t,e);for(n.s=0,n.t=i;i>0;)n[--i]=0;for(r=n.t-this.t;i<r;++i)n[i+this.t]=this.am(0,t[i],n,i,0,this.t);for(r=Math.min(t.t,e);i<r;++i)this.am(0,t[i],n,i,0,e-i);n.clamp()},n.prototype.multiplyUpperTo=function(t,e,n){--e;var r=n.t=this.t+t.t-e;for(n.s=0;--r>=0;)n[r]=0;for(r=Math.max(e-this.t,0);r<t.t;++r)n[this.t+r-e]=this.am(e-r,t[r],n,0,0,this.t+r-e);n.clamp(),n.drShiftTo(1,n)},n.prototype.modInt=function(t){if(t<=0)return 0;var e=this.DV%t,n=this.s<0?t-1:0;if(this.t>0)if(0==e)n=this[0]%t;else for(var r=this.t-1;r>=0;--r)n=(e*n+this[r])%t;return n},n.prototype.millerRabin=function(t){var e=this.subtract(n.ONE),i=e.getLowestSetBit();if(i<=0)return!1;var o=e.shiftRight(i);(t=t+1>>1)>b.length&&(t=b.length);for(var s=r(),a=0;a<t;++a){s.fromInt(b[Math.floor(Math.random()*b.length)]);var c=s.modPow(o,this);if(0!=c.compareTo(n.ONE)&&0!=c.compareTo(e)){for(var l=1;l++<i&&0!=c.compareTo(e);)if(0==(c=c.modPowInt(2,this)).compareTo(n.ONE))return!1;if(0!=c.compareTo(e))return!1}}return!0},n.prototype.clone=function(){var t=r();return this.copyTo(t),t},n.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]},n.prototype.byteValue=function(){return 0==this.t?this.s:this[0]<<24>>24},n.prototype.shortValue=function(){return 0==this.t?this.s:this[0]<<16>>16},n.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},n.prototype.toByteArray=function(){var t=this.t,e=new Array;e[0]=this.s;var n,r=this.DB-t*this.DB%8,i=0;if(t-- >0)for(r<this.DB&&(n=this[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this[t]&(1<<r)-1)<<8-r,n|=this[--t]>>(r+=this.DB-8)):(n=this[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),128&n&&(n|=-256),0==i&&(128&this.s)!=(128&n)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e},n.prototype.equals=function(t){return 0==this.compareTo(t)},n.prototype.min=function(t){return this.compareTo(t)<0?this:t},n.prototype.max=function(t){return this.compareTo(t)>0?this:t},n.prototype.and=function(t){var e=r();return this.bitwiseTo(t,f,e),e},n.prototype.or=function(t){var e=r();return this.bitwiseTo(t,A,e),e},n.prototype.xor=function(t){var e=r();return this.bitwiseTo(t,g,e),e},n.prototype.andNot=function(t){var e=r();return this.bitwiseTo(t,E,e),e},n.prototype.not=function(){for(var t=r(),e=0;e<this.t;++e)t[e]=this.DM&~this[e];return t.t=this.t,t.s=~this.s,t},n.prototype.shiftLeft=function(t){var e=r();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e},n.prototype.shiftRight=function(t){var e=r();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e},n.prototype.getLowestSetBit=function(){for(var t=0;t<this.t;++t)if(0!=this[t])return t*this.DB+m(this[t]);return this.s<0?this.t*this.DB:-1},n.prototype.bitCount=function(){for(var t=0,e=this.s&this.DM,n=0;n<this.t;++n)t+=w(this[n]^e);return t},n.prototype.testBit=function(t){var e=Math.floor(t/this.DB);return e>=this.t?0!=this.s:!!(this[e]&1<<t%this.DB)},n.prototype.setBit=function(t){return this.changeBit(t,A)},n.prototype.clearBit=function(t){return this.changeBit(t,E)},n.prototype.flipBit=function(t){return this.changeBit(t,g)},n.prototype.add=function(t){var e=r();return this.addTo(t,e),e},n.prototype.subtract=function(t){var e=r();return this.subTo(t,e),e},n.prototype.multiply=function(t){var e=r();return this.multiplyTo(t,e),e},n.prototype.divide=function(t){var e=r();return this.divRemTo(t,e,null),e},n.prototype.remainder=function(t){var e=r();return this.divRemTo(t,null,e),e},n.prototype.divideAndRemainder=function(t){var e=r(),n=r();return this.divRemTo(t,e,n),new Array(e,n)},n.prototype.modPow=function(t,e){var n,i,o=t.bitLength(),s=u(1);if(o<=0)return s;n=o<18?1:o<48?3:o<144?4:o<768?5:6,i=o<8?new d(e):e.isEven()?new C(e):new p(e);var a=new Array,c=3,l=n-1,f=(1<<n)-1;if(a[1]=i.convert(this),n>1){var A=r();for(i.sqrTo(a[1],A);c<=f;)a[c]=r(),i.mulTo(A,a[c-2],a[c]),c+=2}var g,E,m=t.t-1,w=!0,y=r();for(o=h(t[m])-1;m>=0;){for(o>=l?g=t[m]>>o-l&f:(g=(t[m]&(1<<o+1)-1)<<l-o,m>0&&(g|=t[m-1]>>this.DB+o-l)),c=n;!(1&g);)g>>=1,--c;if((o-=c)<0&&(o+=this.DB,--m),w)a[g].copyTo(s),w=!1;else{for(;c>1;)i.sqrTo(s,y),i.sqrTo(y,s),c-=2;c>0?i.sqrTo(s,y):(E=s,s=y,y=E),i.mulTo(y,a[g],s)}for(;m>=0&&!(t[m]&1<<o);)i.sqrTo(s,y),E=s,s=y,y=E,--o<0&&(o=this.DB-1,--m)}return i.revert(s)},n.prototype.modInverse=function(t){var e=t.isEven();if(this.isEven()&&e||0==t.signum())return n.ZERO;for(var r=t.clone(),i=this.clone(),o=u(1),s=u(0),a=u(0),c=u(1);0!=r.signum();){for(;r.isEven();)r.rShiftTo(1,r),e?(o.isEven()&&s.isEven()||(o.addTo(this,o),s.subTo(t,s)),o.rShiftTo(1,o)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);for(;i.isEven();)i.rShiftTo(1,i),e?(a.isEven()&&c.isEven()||(a.addTo(this,a),c.subTo(t,c)),a.rShiftTo(1,a)):c.isEven()||c.subTo(t,c),c.rShiftTo(1,c);r.compareTo(i)>=0?(r.subTo(i,r),e&&o.subTo(a,o),s.subTo(c,s)):(i.subTo(r,i),e&&a.subTo(o,a),c.subTo(s,c))}return 0!=i.compareTo(n.ONE)?n.ZERO:c.compareTo(t)>=0?c.subtract(t):c.signum()<0?(c.addTo(t,c),c.signum()<0?c.add(t):c):c},n.prototype.pow=function(t){return this.exp(t,new y)},n.prototype.gcd=function(t){var e=this.s<0?this.negate():this.clone(),n=t.s<0?t.negate():t.clone();if(e.compareTo(n)<0){var r=e;e=n,n=r}var i=e.getLowestSetBit(),o=n.getLowestSetBit();if(o<0)return e;for(i<o&&(o=i),o>0&&(e.rShiftTo(o,e),n.rShiftTo(o,n));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=n.getLowestSetBit())>0&&n.rShiftTo(i,n),e.compareTo(n)>=0?(e.subTo(n,e),e.rShiftTo(1,e)):(n.subTo(e,n),n.rShiftTo(1,n));return o>0&&n.lShiftTo(o,n),n},n.prototype.isProbablePrime=function(t){var e,n=this.abs();if(1==n.t&&n[0]<=b[b.length-1]){for(e=0;e<b.length;++e)if(n[0]==b[e])return!0;return!1}if(n.isEven())return!1;for(e=1;e<b.length;){for(var r=b[e],i=e+1;i<b.length&&r<M;)r*=b[i++];for(r=n.modInt(r);e<i;)if(r%b[e++]==0)return!1}return n.millerRabin(t)},n.prototype.square=function(){var t=r();return this.squareTo(t),t},n.prototype.Barrett=C,null==T){var v;if(T=new Array,D=0,"undefined"!=typeof window&&window.crypto)if(window.crypto.getRandomValues){var S=new Uint8Array(32);for(window.crypto.getRandomValues(S),v=0;v<32;++v)T[D++]=S[v]}else if("Netscape"==navigator.appName&&navigator.appVersion<"5"){var _=window.crypto.random(32);for(v=0;v<_.length;++v)T[D++]=255&_.charCodeAt(v)}for(;D<F;)v=Math.floor(65536*Math.random()),T[D++]=v>>>8,T[D++]=255&v;D=0,N()}function L(){if(null==B){for(N(),(B=new R).init(T),D=0;D<T.length;++D)T[D]=0;D=0}return B.next()}function x(){}function R(){this.i=0,this.j=0,this.S=new Array}x.prototype.nextBytes=function(t){var e;for(e=0;e<t.length;++e)t[e]=L()},R.prototype.init=function(t){var e,n,r;for(e=0;e<256;++e)this.S[e]=e;for(n=0,e=0;e<256;++e)n=n+this.S[e]+t[e%t.length]&255,r=this.S[e],this.S[e]=this.S[n],this.S[n]=r;this.i=0,this.j=0},R.prototype.next=function(){var t;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,t=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=t,this.S[t+this.S[this.i]&255]};var F=256;t.exports={default:n,BigInteger:n,SecureRandom:x}}).call(this)},9617:function(t,e){"use strict";var n,r=this&&this.__extends||(n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},n(t,e)},function(t,e){function r(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)});Object.defineProperty(e,"__esModule",{value:!0}),e.AddressError=void 0;var i=function(t){function e(e,n){var r=t.call(this,e)||this;return r.name="AddressError",null!==n&&(r.parseMessage=n),r}return r(e,t),e}(Error);e.AddressError=i},9983:function(t){"use strict";!function(){const e=2147483647;function n(t){const e=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]);let n=1779033703,r=3144134277,i=1013904242,o=2773480762,s=1359893119,a=2600822924,c=528734635,l=1541459225;const u=new Uint32Array(64);function h(t){let h=0,d=t.length;for(;d>=64;){let p,f,A,g,E,m=n,w=r,y=i,I=o,C=s,B=a,T=c,D=l;for(f=0;f<16;f++)A=h+4*f,u[f]=(255&t[A])<<24|(255&t[A+1])<<16|(255&t[A+2])<<8|255&t[A+3];for(f=16;f<64;f++)p=u[f-2],g=(p>>>17|p<<15)^(p>>>19|p<<13)^p>>>10,p=u[f-15],E=(p>>>7|p<<25)^(p>>>18|p<<14)^p>>>3,u[f]=(g+u[f-7]|0)+(E+u[f-16]|0)|0;for(f=0;f<64;f++)g=(((C>>>6|C<<26)^(C>>>11|C<<21)^(C>>>25|C<<7))+(C&B^~C&T)|0)+(D+(e[f]+u[f]|0)|0)|0,E=((m>>>2|m<<30)^(m>>>13|m<<19)^(m>>>22|m<<10))+(m&w^m&y^w&y)|0,D=T,T=B,B=C,C=I+g|0,I=y,y=w,w=m,m=g+E|0;n=n+m|0,r=r+w|0,i=i+y|0,o=o+I|0,s=s+C|0,a=a+B|0,c=c+T|0,l=l+D|0,h+=64,d-=64}}h(t);let d,p=t.length%64,f=t.length/536870912|0,A=t.length<<3,g=p<56?56:120,E=t.slice(t.length-p,t.length);for(E.push(128),d=p+1;d<g;d++)E.push(0);return E.push(f>>>24&255),E.push(f>>>16&255),E.push(f>>>8&255),E.push(f>>>0&255),E.push(A>>>24&255),E.push(A>>>16&255),E.push(A>>>8&255),E.push(A>>>0&255),h(E),[n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,c>>>24&255,c>>>16&255,c>>>8&255,c>>>0&255,l>>>24&255,l>>>16&255,l>>>8&255,l>>>0&255]}function r(t,e,r){t=t.length<=64?t:n(t);const i=64+e.length+4,o=new Array(i),s=new Array(64);let a,c=[];for(a=0;a<64;a++)o[a]=54;for(a=0;a<t.length;a++)o[a]^=t[a];for(a=0;a<e.length;a++)o[64+a]=e[a];for(a=i-4;a<i;a++)o[a]=0;for(a=0;a<64;a++)s[a]=92;for(a=0;a<t.length;a++)s[a]^=t[a];function l(){for(let t=i-1;t>=i-4;t--){if(o[t]++,o[t]<=255)return;o[t]=0}}for(;r>=32;)l(),c=c.concat(n(s.concat(n(o)))),r-=32;return r>0&&(l(),c=c.concat(n(s.concat(n(o))).slice(0,r))),c}function i(t,e,n,r,i){let o;for(c(t,16*(2*n-1),i,0,16),o=0;o<2*n;o++)a(t,16*o,i,16),s(i,r),c(i,0,t,e+16*o,16);for(o=0;o<n;o++)c(t,e+2*o*16,t,16*o,16);for(o=0;o<n;o++)c(t,e+16*(2*o+1),t,16*(o+n),16)}function o(t,e){return t<<e|t>>>32-e}function s(t,e){c(t,0,e,0,16);for(let t=8;t>0;t-=2)e[4]^=o(e[0]+e[12],7),e[8]^=o(e[4]+e[0],9),e[12]^=o(e[8]+e[4],13),e[0]^=o(e[12]+e[8],18),e[9]^=o(e[5]+e[1],7),e[13]^=o(e[9]+e[5],9),e[1]^=o(e[13]+e[9],13),e[5]^=o(e[1]+e[13],18),e[14]^=o(e[10]+e[6],7),e[2]^=o(e[14]+e[10],9),e[6]^=o(e[2]+e[14],13),e[10]^=o(e[6]+e[2],18),e[3]^=o(e[15]+e[11],7),e[7]^=o(e[3]+e[15],9),e[11]^=o(e[7]+e[3],13),e[15]^=o(e[11]+e[7],18),e[1]^=o(e[0]+e[3],7),e[2]^=o(e[1]+e[0],9),e[3]^=o(e[2]+e[1],13),e[0]^=o(e[3]+e[2],18),e[6]^=o(e[5]+e[4],7),e[7]^=o(e[6]+e[5],9),e[4]^=o(e[7]+e[6],13),e[5]^=o(e[4]+e[7],18),e[11]^=o(e[10]+e[9],7),e[8]^=o(e[11]+e[10],9),e[9]^=o(e[8]+e[11],13),e[10]^=o(e[9]+e[8],18),e[12]^=o(e[15]+e[14],7),e[13]^=o(e[12]+e[15],9),e[14]^=o(e[13]+e[12],13),e[15]^=o(e[14]+e[13],18);for(let n=0;n<16;++n)t[n]+=e[n]}function a(t,e,n,r){for(let i=0;i<r;i++)n[i]^=t[e+i]}function c(t,e,n,r,i){for(;i--;)n[r++]=t[e++]}function l(t){if(!t||"number"!=typeof t.length)return!1;for(let e=0;e<t.length;e++){const n=t[e];if("number"!=typeof n||n%1||n<0||n>=256)return!1}return!0}function u(t,e){if("number"!=typeof t||t%1)throw new Error("invalid "+e);return t}function h(t,n,o,s,h,d,p){if(o=u(o,"N"),s=u(s,"r"),h=u(h,"p"),d=u(d,"dkLen"),0===o||o&o-1)throw new Error("N must be power of 2");if(o>e/128/s)throw new Error("N too large");if(s>e/128/h)throw new Error("r too large");if(!l(t))throw new Error("password must be an array or buffer");if(t=Array.prototype.slice.call(t),!l(n))throw new Error("salt must be an array or buffer");n=Array.prototype.slice.call(n);let f=r(t,n,128*h*s);const A=new Uint32Array(32*h*s);for(let t=0;t<A.length;t++){const e=4*t;A[t]=(255&f[e+3])<<24|(255&f[e+2])<<16|(255&f[e+1])<<8|255&f[e+0]}const g=new Uint32Array(64*s),E=new Uint32Array(32*s*o),m=32*s,w=new Uint32Array(16),y=new Uint32Array(16),I=h*o*2;let C,B,T=0,D=null,b=!1,M=0,N=0;const v=p?parseInt(1e3/s):4294967295,S="undefined"!=typeof setImmediate?setImmediate:setTimeout,_=function(){if(b)return p(new Error("cancelled"),T/I);let e;switch(M){case 0:B=32*N*s,c(A,B,g,0,m),M=1,C=0;case 1:e=o-C,e>v&&(e=v);for(let t=0;t<e;t++)c(g,0,E,(C+t)*m,m),i(g,m,s,w,y);if(C+=e,T+=e,p){const t=parseInt(1e3*T/I);if(t!==D){if(b=p(null,T/I),b)break;D=t}}if(C<o)break;C=0,M=2;case 2:e=o-C,e>v&&(e=v);for(let t=0;t<e;t++){const t=g[16*(2*s-1)]&o-1;a(E,t*m,g,m),i(g,m,s,w,y)}if(C+=e,T+=e,p){const t=parseInt(1e3*T/I);if(t!==D){if(b=p(null,T/I),b)break;D=t}}if(C<o)break;if(c(g,0,A,B,m),N++,N<h){M=0;break}f=[];for(let t=0;t<A.length;t++)f.push(255&A[t]),f.push(A[t]>>8&255),f.push(A[t]>>16&255),f.push(A[t]>>24&255);const n=r(t,f,d);return p&&p(null,1,n),n}p&&S(_)};if(!p)for(;;){const t=_();if(null!=t)return t}_()}const d={scrypt:function(t,e,n,r,i,o,s){return new Promise(function(a,c){let l=0;s&&s(0),h(t,e,n,r,i,o,function(t,e,n){if(t)c(t);else if(n)s&&1!==l&&s(1),a(new Uint8Array(n));else if(s&&e!==l)return l=e,s(e)})})},syncScrypt:function(t,e,n,r,i,o){return new Uint8Array(h(t,e,n,r,i,o))}};t.exports=d}()}},o={};function s(t){var e=o[t];if(void 0!==e)return e.exports;var n=o[t]={id:t,loaded:!1,exports:{}};return i[t].call(n.exports,n,n.exports,s),n.loaded=!0,n.exports}s.m=i,s.amdO={},s.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return s.d(e,{a:e}),e},e=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__,s.t=function(n,r){if(1&r&&(n=this(n)),8&r)return n;if("object"==typeof n&&n){if(4&r&&n.__esModule)return n;if(16&r&&"function"==typeof n.then)return n}var i=Object.create(null);s.r(i);var o={};t=t||[null,e({}),e([]),e(e)];for(var a=2&r&&n;("object"==typeof a||"function"==typeof a)&&!~t.indexOf(a);a=e(a))Object.getOwnPropertyNames(a).forEach(t=>o[t]=()=>n[t]);return o.default=()=>n,s.d(i,o),i},s.d=(t,e)=>{for(var n in e)s.o(e,n)&&!s.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},s.f={},s.e=t=>Promise.all(Object.keys(s.f).reduce((e,n)=>(s.f[n](t,e),e),[])),s.u=t=>t+".bundle.js",s.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),s.hmd=t=>((t=Object.create(t)).children||(t.children=[]),Object.defineProperty(t,"exports",{enumerable:!0,set:()=>{throw new Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+t.id)}}),t),s.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n={},r="@joclaim/browser-extension-sdk:",s.l=(t,e,i,o)=>{if(n[t])n[t].push(e);else{var a,c;if(void 0!==i)for(var l=document.getElementsByTagName("script"),u=0;u<l.length;u++){var h=l[u];if(h.getAttribute("src")==t||h.getAttribute("data-webpack")==r+i){a=h;break}}a||(c=!0,(a=document.createElement("script")).charset="utf-8",a.timeout=120,s.nc&&a.setAttribute("nonce",s.nc),a.setAttribute("data-webpack",r+i),a.src=t),n[t]=[e];var d=(e,r)=>{a.onerror=a.onload=null,clearTimeout(p);var i=n[t];if(delete n[t],a.parentNode&&a.parentNode.removeChild(a),i&&i.forEach(t=>t(r)),e)return e(r)},p=setTimeout(d.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=d.bind(null,a.onerror),a.onload=d.bind(null,a.onload),c&&document.head.appendChild(a)}},s.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},s.nmd=t=>(t.paths=[],t.children||(t.children=[]),t),s.p="/",(()=>{var t={522:0};s.f.j=(e,n)=>{var r=s.o(t,e)?t[e]:void 0;if(0!==r)if(r)n.push(r[2]);else{var i=new Promise((n,i)=>r=t[e]=[n,i]);n.push(r[2]=i);var o=s.p+s.u(e),a=new Error;s.l(o,n=>{if(s.o(t,e)&&(0!==(r=t[e])&&(t[e]=void 0),r)){var i=n&&("load"===n.type?"missing":n.type),o=n&&n.target&&n.target.src;a.message="Loading chunk "+e+" failed.\n("+i+": "+o+")",a.name="ChunkLoadError",a.type=i,a.request=o,r[1](a)}},"chunk-"+e,e)}};var e=(e,n)=>{var r,i,[o,a,c]=n,l=0;if(o.some(e=>0!==t[e])){for(r in a)s.o(a,r)&&(s.m[r]=a[r]);if(c)c(s)}for(e&&e(n);l<o.length;l++)i=o[l],s.o(t,i)&&t[i]&&t[i][0](),t[i]=0},n=self.webpackChunk_joclaim_browser_extension_sdk=self.webpackChunk_joclaim_browser_extension_sdk||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))})(),(()=>{"use strict";var t={};s.r(t),s.d(t,{Any:()=>mr,BaseBlock:()=>Le,BaseStringBlock:()=>Re,BitString:()=>Ln,BmpString:()=>$n,Boolean:()=>Nn,CharacterString:()=>ur,Choice:()=>wr,Constructed:()=>Bn,DATE:()=>pr,DateTime:()=>Ar,Duration:()=>gr,EndOfContent:()=>Dn,Enumerated:()=>kn,GeneralString:()=>lr,GeneralizedTime:()=>dr,GraphicString:()=>ar,HexBlock:()=>be,IA5String:()=>sr,Integer:()=>Qn,Null:()=>bn,NumericString:()=>nr,ObjectIdentifier:()=>Gn,OctetString:()=>Sn,Primitive:()=>mn,PrintableString:()=>rr,RawData:()=>Ir,RelativeObjectIdentifier:()=>jn,Repeated:()=>yr,Sequence:()=>Yn,Set:()=>zn,TIME:()=>Er,TeletexString:()=>ir,TimeOfDay:()=>fr,UTCTime:()=>hr,UniversalString:()=>er,Utf8String:()=>Xn,ValueBlock:()=>Ne,VideotexString:()=>or,ViewWriter:()=>ae,VisibleString:()=>cr,compareSchema:()=>Cr,fromBER:()=>yn,verifySchema:()=>Br});var e={};s.r(e),s.d(e,{decode:()=>xp,encode:()=>Rp});var n={};s.r(n),s.d(n,{K3:()=>e,Kt:()=>hA,uN:()=>Of});var r=s(8287),i=s(5606),o=s.n(i),a=s(3153);function c(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",i=n.toStringTag||"@@toStringTag";function o(n,r,i,o){var c=r&&r.prototype instanceof a?r:a,u=Object.create(c.prototype);return l(u,"_invoke",function(n,r,i){var o,a,c,l=0,u=i||[],h=!1,d={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return o=e,a=0,c=t,d.n=n,s}};function p(n,r){for(a=n,c=r,e=0;!h&&l&&!i&&e<u.length;e++){var i,o=u[e],p=d.p,f=o[2];n>3?(i=f===r)&&(c=o[(a=o[4])?5:(a=3,3)],o[4]=o[5]=t):o[0]<=p&&((i=n<2&&p<o[1])?(a=0,d.v=r,d.n=o[1]):p<f&&(i=n<3||o[0]>r||r>f)&&(o[4]=n,o[5]=r,d.n=f,a=0))}if(i||n>1)return s;throw h=!0,r}return function(i,u,f){if(l>1)throw TypeError("Generator is already running");for(h&&1===u&&p(u,f),a=u,c=f;(e=a<2?t:c)||!h;){o||(a?a<3?(a>1&&(d.n=-1),p(a,c)):d.n=c:d.v=c);try{if(l=2,o){if(a||(i="next"),e=o[i]){if(!(e=e.call(o,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,a<2&&(a=0)}else 1===a&&(e=o.return)&&e.call(o),a<2&&(c=TypeError("The iterator does not provide a '"+i+"' method"),a=1);o=t}else if((e=(h=d.n<0)?c:n.call(r,d))!==s)break}catch(e){o=t,a=1,c=e}finally{l=1}}return{value:e,done:h}}}(n,i,o),!0),u}var s={};function a(){}function u(){}function h(){}e=Object.getPrototypeOf;var d=[][r]?e(e([][r]())):(l(e={},r,function(){return this}),e),p=h.prototype=a.prototype=Object.create(d);function f(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,h):(t.__proto__=h,l(t,i,"GeneratorFunction")),t.prototype=Object.create(p),t}return u.prototype=h,l(p,"constructor",h),l(h,"constructor",u),u.displayName="GeneratorFunction",l(h,i,"GeneratorFunction"),l(p),l(p,i,"Generator"),l(p,r,function(){return this}),l(p,"toString",function(){return"[object Generator]"}),(c=function(){return{w:o,m:f}})()}function l(t,e,n,r){var i=Object.defineProperty;try{i({},"",{})}catch(t){i=0}l=function(t,e,n,r){function o(e,n){l(t,e,function(t){return this._invoke(e,n,t)})}e?i?i(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(o("next",0),o("throw",1),o("return",2))},l(t,e,n,r)}function u(t,e,n,r,i,o,s){try{var a=t[o](s),c=a.value}catch(t){return void n(t)}a.done?e(c):Promise.resolve(c).then(r,i)}function h(t){return function(){var e=this,n=arguments;return new Promise(function(r,i){var o=t.apply(e,n);function s(t){u(o,r,i,s,a,"next",t)}function a(t){u(o,r,i,s,a,"throw",t)}s(void 0)})}}var d,p,f,A="undefined"!=typeof window?window:"undefined"!=typeof self?self:void 0!==A?A:Function("return this")(),g="undefined"==typeof window,E="undefined"!=typeof document&&void 0!==document.contentType;if(A.Buffer=A.Buffer||r.hp,A.process=A.process||o(),void 0!==A.WebSocket||E)E?a.w9.info(a.Ey.POLYFILLS,"Skipping WebSocket in content script context"):a.w9.info(a.Ey.POLYFILLS,"Using native WebSocket implementation");else try{var m=s(3296).WebSocket;A.WebSocket=m,a.w9.info(a.Ey.POLYFILLS,"WebSocket polyfill added to global")}catch(gw){a.w9.warn(a.Ey.POLYFILLS,"Failed to load WebSocket polyfill:",gw)}if(A.process&&(A.process.browser=!0),"function"!=typeof A.require)A.require=function(t){switch(t){case"ws":if(E)return a.w9.info(a.Ey.POLYFILLS,"Blocking ws module in content script"),{};try{return{WebSocket:s(3296).WebSocket}}catch(t){return a.w9.warn(a.Ey.POLYFILLS,"Failed to load WebSocket for ws module:",t),{}}case"fs":return A.fs;case"path":return A.path;case"os":return A.os;case"crypto":return A.crypto;case"worker_threads":case"koffi":case"re2":return{};default:return console.warn("Mock require called for module: ".concat(t)),{}}};else{var w=A.require;A.require=function(t){if("ws"===t){if(E)return a.w9.info(a.Ey.POLYFILLS,"Blocking ws module in content script"),{};try{return{WebSocket:s(3296).WebSocket}}catch(t){return a.w9.warn(a.Ey.POLYFILLS,"Failed to load WebSocket for ws module:",t),{}}}try{return w(t)}catch(e){return a.w9.warn(a.Ey.POLYFILLS,"Failed to require module: ".concat(t)),{}}}}if(void 0!==o()&&(o().browser=!0,o().version||(o().version="v16.0.0"),o().cwd||(o().cwd=function(){return"/"})),void 0===A.global&&(A.global=A),void 0===A.crypto&&(A.crypto={}),void 0===A.crypto.getRandomValues&&(A.crypto.getRandomValues=function(t){for(var e=new Uint8Array(t.length),n=0;n<e.length;n++)e[n]=Math.floor(256*Math.random());return e}),void 0===A.crypto.subtle&&(a.w9.warn(a.Ey.POLYFILLS,"WebCrypto subtle API not available. Some functionality may not work."),A.crypto.subtle={digest:(d=h(c().m(function t(e,n){var r,i,o;return c().w(function(t){for(;;)if(0===t.n){for(a.w9.warn(a.Ey.POLYFILLS,"Crypto subtle digest (".concat(e,") called with browser fallback")),r=Array.from(new Uint8Array(n)).reduce(function(t,e){return 31*t+e&4294967295},0),i=new Uint8Array(32),o=0;o<32;o++)i[o]=r>>8*o&255;return t.a(2,i.buffer)}},t)})),function(t,e){return d.apply(this,arguments)})}),!g){var y=function(t,e){return"string"==typeof t&&t.startsWith("node:")&&(t=t.replace(/^node:/,"")),new I(t,e)};void 0===A.domain&&(A.domain={create:function(){return{run:function(t){return t()},on:function(){},bind:function(t){return t}}}});var I=A.URL;y.prototype=I.prototype;try{Object.getOwnPropertyNames(I).forEach(function(t){if("prototype"!==t&&"constructor"!==t)try{y[t]=I[t]}catch(t){}})}catch(gw){a.w9.warn(a.Ey.POLYFILLS,"Could not copy all URL static properties:",gw)}try{A.URL=y}catch(gw){a.w9.warn(a.Ey.POLYFILLS,"Could not override URL constructor:",gw)}}void 0===A.module&&(A.module={exports:{}}),A.fs=A.fs||{readFileSync:function(t){throw a.w9.warn(a.Ey.POLYFILLS,"Attempted to readFileSync: ".concat(t)),new Error("fs.readFileSync is not available in this environment")},writeFileSync:function(t,e){a.w9.warn(a.Ey.POLYFILLS,"Attempted to writeFileSync: ".concat(t))},existsSync:function(t){return a.w9.warn(a.Ey.POLYFILLS,"Attempted to check if file exists: ".concat(t)),!1},promises:{readFile:(f=h(c().m(function t(e){return c().w(function(t){for(;;)switch(t.n){case 0:throw a.w9.warn(a.Ey.POLYFILLS,"Attempted to readFile: ".concat(e)),new Error("fs.promises.readFile is not available in this environment");case 1:return t.a(2)}},t)})),function(t){return f.apply(this,arguments)}),writeFile:(p=h(c().m(function t(e,n){return c().w(function(t){for(;;)switch(t.n){case 0:a.w9.warn(a.Ey.POLYFILLS,"Attempted to writeFile: ".concat(e));case 1:return t.a(2)}},t)})),function(t,e){return p.apply(this,arguments)})}},A.os=A.os||{tmpdir:function(){return"/tmp"},homedir:function(){return"/home/user"},platform:function(){return"browser"},type:function(){return"Browser"},cpus:function(){return[{model:"Browser CPU",speed:1e3}]},totalmem:function(){return 8589934592},freemem:function(){return 4294967296}},A.path=A.path||{join:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return e.join("/").replace(/\/+/g,"/")},resolve:function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];return e.join("/").replace(/\/+/g,"/")},dirname:function(t){return t.split("/").slice(0,-1).join("/")||"."},basename:function(t,e){var n=t.split("/").pop()||"";return e&&n.endsWith(e)&&(n=n.slice(0,-e.length)),n},extname:function(t){var e=t.split("/").pop()||"",n=e.lastIndexOf(".");return n<0?"":e.slice(n)},sep:"/"};r.hp,o();var C="http://localhost:8001",B=function(){return"".concat(C,"/api/sdk/update/session/")},T="PROOF_GENERATION_STARTED",D="PROOF_GENERATION_SUCCESS",b="PROOF_GENERATION_FAILED",M="background",N="offscreen",v="GENERATE_PROOF",S="GET_PRIVATE_KEY",_="GET_PRIVATE_KEY_RESPONSE",L="OFFSCREEN_DOCUMENT_READY",x="GENERATE_PROOF_RESPONSE",R="PING_OFFSCREEN";const F={};const O={TLS1_3:new Uint8Array([3,4]),TLS1_2:new Uint8Array([3,3])},Q={SECP256R1:{identifier:new Uint8Array([0,23]),algorithm:"P-256"},SECP384R1:{identifier:new Uint8Array([0,24]),algorithm:"P-384"},X25519:{identifier:new Uint8Array([0,29]),algorithm:"X25519"}},k=1,U=2,P=3,G=4,V=8,H=11,j=12,Y=13,z=14,J=15,W=16,q=20,K=24,X={CHANGE_CIPHER_SPEC:20,ALERT:21,HANDSHAKE:22,APPLICATION_DATA:23},Z=Object.keys(Q),$={TLS_CHACHA20_POLY1305_SHA256:{identifier:new Uint8Array([19,3]),keyLength:32,hashLength:32,ivLength:12,hashAlgorithm:"SHA-256",cipher:"CHACHA20-POLY1305"},TLS_AES_256_GCM_SHA384:{identifier:new Uint8Array([19,2]),keyLength:32,hashLength:48,ivLength:12,hashAlgorithm:"SHA-384",cipher:"AES-256-GCM"},TLS_AES_128_GCM_SHA256:{identifier:new Uint8Array([19,1]),keyLength:16,hashLength:32,ivLength:12,hashAlgorithm:"SHA-256",cipher:"AES-128-GCM"},TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256:{identifier:new Uint8Array([204,168]),keyLength:32,hashLength:32,ivLength:12,hashAlgorithm:"SHA-256",cipher:"CHACHA20-POLY1305"},TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256:{identifier:new Uint8Array([204,169]),keyLength:32,hashLength:32,ivLength:12,hashAlgorithm:"SHA-256",cipher:"CHACHA20-POLY1305"},TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256:{identifier:new Uint8Array([192,47]),keyLength:16,hashLength:32,ivLength:4,hashAlgorithm:"SHA-256",cipher:"AES-128-GCM"},TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256:{identifier:new Uint8Array([192,43]),keyLength:16,hashLength:32,ivLength:4,hashAlgorithm:"SHA-256",cipher:"AES-128-GCM"},TLS_RSA_WITH_AES_128_GCM_SHA256:{identifier:new Uint8Array([0,156]),keyLength:16,hashLength:32,ivLength:4,hashAlgorithm:"SHA-256",cipher:"AES-128-GCM",isRsaEcdh:!0},TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384:{identifier:new Uint8Array([192,48]),keyLength:32,hashLength:48,ivLength:4,hashAlgorithm:"SHA-384",cipher:"AES-256-GCM"},TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384:{identifier:new Uint8Array([192,44]),keyLength:32,hashLength:48,ivLength:4,hashAlgorithm:"SHA-384",cipher:"AES-256-GCM"},TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA:{identifier:new Uint8Array([192,19]),keyLength:16,hashLength:20,ivLength:16,hashAlgorithm:"SHA-1",prfHashAlgorithm:"SHA-256",cipher:"AES-128-CBC"},TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA:{identifier:new Uint8Array([192,9]),keyLength:16,hashLength:20,ivLength:16,hashAlgorithm:"SHA-1",prfHashAlgorithm:"SHA-256",cipher:"AES-128-CBC"}},tt=Object.keys($),et={ECDSA_SECP256R1_SHA256:{identifier:new Uint8Array([4,3]),algorithm:"ECDSA-SECP256R1-SHA256"},ECDSA_SECP384R1_SHA256:{identifier:new Uint8Array([5,3]),algorithm:"ECDSA-SECP384R1-SHA384"},RSA_PSS_RSAE_SHA256:{identifier:new Uint8Array([8,4]),algorithm:"RSA-PSS-SHA256"},RSA_PKCS1_SHA256:{identifier:new Uint8Array([4,1]),algorithm:"RSA-PKCS1-SHA256"},RSA_PKCS1_SHA384:{identifier:new Uint8Array([5,1]),algorithm:"RSA-PKCS1-SHA384"},RSA_PKCS1_SHA512:{identifier:new Uint8Array([6,1]),algorithm:"RSA-PKCS1-SHA512"}},nt=Object.keys(et),rt={SERVER_NAME:0,MAX_FRAGMENT_LENGTH:1,KEY_SHARE:51,SUPPORTED_GROUPS:10,SIGNATURE_ALGS:13,SUPPORTED_VERSIONS:43,SESSION_TICKET:35,EARLY_DATA:42,PRE_SHARED_KEY:41,PRE_SHARED_KEY_MODE:45,ALPN:16},it=Object.keys(rt),ot={HELLO:22,WRAPPED_RECORD:23,CHANGE_CIPHER_SPEC:20,ALERT:21},st={UPDATE_NOT_REQUESTED:0,UPDATE_REQUESTED:1};function at(t,e=" "){return[...t].map(t=>t.toString(16).padStart(2,"0")).join(e)}function ct(t){const e=t.reduce((t,e)=>t+e.length,0),n=new Uint8Array(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n}function lt(t,e){if(t.length!==e.length)return!1;for(const[n,r]of t.entries())if(r!==e[n])return!1;return!0}function ut(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function ht(t){const e=new Uint8Array(t.length);for(let n=0;n<t.length;n++){const r=t.charCodeAt(n);if(r<0||r>255)throw new Error(`Invalid ASCII character at index ${n}: ${t[n]}`);e[n]=r}return e}function dt(t){let e="";for(const n of t)e+=String.fromCharCode(n);return e}function pt(t,e){const n=new Uint8Array(t.length);return new DataView(n.buffer).setUint32(t.length-4,e),function(t,e){const n=new Uint8Array(t.length);for(const[r,i]of t.entries())n[r]=i^e[r];return n}(t,n)}function ft(t){return"AES-128-CBC"===t}function At(t){const e=Object.entries(O).find(([,e])=>lt(e,t));if(!e)throw new Error(`Unsupported TLS version '${t}'`);return e[0]}function gt(t,{type:e,version:n="TLS1_2"}){const r=new Uint8Array(2);return ut(r).setUint16(0,t),ct([new Uint8Array([ot[e]]),O[n],r])}function Et(t){return ct([new Uint8Array([0]),yt(t)])}function mt(t,e=2){const n=ut(t),r=1===e?n.getUint8(0):n.getUint16(3===e?1:0);if(!(t.length<e+r))return t.slice(e,e+r)}function wt(t,e=2){const n=mt(t,e);if(!n)throw new Error(`Expected packet to have at least ${t.length+e} bytes, got ${t.length}`);return n}function yt(t){const e=new Uint8Array(2+t.length);return ut(e).setUint16(0,t.length),e.set(t,2),e}const It=ht("master secret"),Ct=ht("key expansion");async function Bt(t){const{clientRandom:e,serverRandom:n,cipherSuite:r}=t,i=await async function({preMasterSecret:t,clientRandom:e,serverRandom:n,cipherSuite:r}){const i=vt(r),o=await F.importKey(i,t),s=ct([It,e,n]),a=await F.hmac(i,o,s),c=await F.hmac(i,o,a),l=await F.hmac(i,o,ct([a,s])),u=await F.hmac(i,o,ct([c,s]));return ct([l,u]).slice(0,48)}(t),o=vt(r),{keyLength:s,cipher:a,hashLength:c,hashAlgorithm:l,ivLength:u}=$[r],h=await F.importKey(o,i),d=ct([Ct,n,e]),p=[];let f=d;for(let t=0;t<4;t++){f=await F.hmac(o,h,f);const t=await F.hmac(o,h,ct([f,d]));p.push(t)}let A=ct(p);const g=ft(a);return{type:"TLS1_2",masterSecret:i,clientMacKey:g?await F.importKey(l,E(c)):void 0,serverMacKey:g?await F.importKey(l,E(c)):void 0,clientEncKey:await F.importKey(a,E(s)),serverEncKey:await F.importKey(a,E(s)),clientIv:E(u),serverIv:E(u),serverSecret:i,clientSecret:i};function E(t){const e=A.slice(0,t);return A=A.slice(t),e}}function Tt(t,e){const{hashAlgorithm:n,hashLength:r}=$[e];return Mt(n,t,"traffic upd",new Uint8Array,r)}async function Dt({hellos:t,masterSecret:e,cipherSuite:n,secretType:r,earlySecret:i}){const{hashAlgorithm:o,hashLength:s}=$[n],a=await F.hash(o,new Uint8Array),c=new Uint8Array(s);let l;if("hs"===r){i=i||await F.extract(o,s,c,"");const t=await Mt(o,i,"derived",a,s);l=await F.extract(o,s,e,t)}else{const t=await Mt(o,e,"derived",a,s);l=await F.extract(o,s,c,t)}return async function({masterSecret:t,cipherSuite:e,hellos:n,secretType:r}){const{hashAlgorithm:i,hashLength:o}=$[e],s=await Nt(n,e),a=await Mt(i,t,`c ${r} traffic`,s,o),c=await Mt(i,t,`s ${r} traffic`,s,o),{encKey:l,iv:u}=await bt(a,e),{encKey:h,iv:d}=await bt(c,e);return{type:"TLS1_3",masterSecret:t,clientSecret:a,serverSecret:c,clientEncKey:l,serverEncKey:h,clientIv:u,serverIv:d}}({hellos:t,cipherSuite:n,masterSecret:l,secretType:r})}async function bt(t,e){const{hashAlgorithm:n,keyLength:r,cipher:i,ivLength:o}=$[e],s=await Mt(n,t,"key",new Uint8Array,r),a=await Mt(n,t,"iv",new Uint8Array(0),o);return{masterSecret:t,encKey:await F.importKey(i,s),iv:a}}async function Mt(t,e,n,r,i){const o=`tls13 ${n}`,s=new Uint8Array(2);ut(s).setUint16(0,i);const a=ct([s,yt(ht(o)).slice(1),yt(r).slice(1)]);return(async(t,e,n,r,i,o)=>{i||=new Uint8Array(0);const s=i.length,a=Math.ceil(r/e);if(a>255)throw new Error(`OKM length ${r} is too long for ${t} hash`);const c=new Uint8Array(e*a+s+1);for(let r=1,l=0,u=0;r<=a;++r){c.set(i,u),c.set([r],u+s);const a=await o.hmac(t,n,c.slice(l,u+s+1));c.set(a.slice(0,c.length-u),u),l=u,u+=e}return c.slice(0,r)})(t,i,await F.importKey(t,e),i,a,F)}async function Nt(t,e){if(Array.isArray(t)&&!(t instanceof Uint8Array)){const{hashAlgorithm:n}=$[e];return F.hash(n,ct(t))}return t}function vt(t){const e=$[t];return"prfHashAlgorithm"in e?e.prfHashAlgorithm:e.hashAlgorithm}const St=new Uint8Array([3,3]),_t=new Uint8Array([1,0]),Lt=new Uint8Array([255,1,0,1,0]);async function xt({host:t,sessionId:e=F.randomBytes(32),random:n=F.randomBytes(32),keysToShare:r,psk:i,cipherSuites:o,supportedProtocolVersions:s=Object.keys(O),signatureAlgorithms:a=Object.keys(et),applicationLayerProtocols:c=[]}){const l=yt(e).slice(1),u=yt(ct((o||Object.keys($)).map(t=>$[t].identifier))),h=[Lt,Ft(t),(f=r.map(t=>t.type),Ot({type:"SUPPORTED_GROUPS",data:ct(f.map(t=>Q[t].identifier))})),Ot({type:"SESSION_TICKET",data:new Uint8Array}),(p=s,Ot({type:"SUPPORTED_VERSIONS",data:ct(p.map(t=>O[t])),lengthBytes:1})),(d=a,Ot({type:"SIGNATURE_ALGS",data:ct(d.map(t=>et[t].identifier))})),Ot({type:"PRE_SHARED_KEY_MODE",data:new Uint8Array([0,1]),lengthBytes:1}),await Rt(r)];var d,p,f;if(i&&h.push(function({identity:t,ticketAge:e,cipherSuite:n}){const r=$[n].hashLength,i=yt(t),o=new Uint8Array(4);ut(o).setUint32(0,e);const s=yt(ct([i,o])),a=new Uint8Array(r+2+1),c=ut(a);c.setUint16(0,r+1),c.setUint8(2,r);const l=yt(ct([s,a])),u=new Uint8Array(2+l.length);u.set(l,2);return ut(u).setUint16(0,rt.PRE_SHARED_KEY),u}(i)),c.length){const t=c.map(t=>yt(ht(t)).slice(1));h.push(Ot({type:"ALPN",data:ct(t)}))}const A=yt(ct(h)),g=ct([St,n,l,u,_t,A]),E=ct([new Uint8Array([k]),Et(g)]);if(i){const{hashLength:t}=$[i.cipherSuite],e=E.slice(0,-t-3),n=await async function(t,e){const{hashAlgorithm:n}=$[e.cipherSuite],r=await Nt([t],e.cipherSuite);return F.hmac(n,e.finishKey,r)}(e,i);E.set(n,E.length-n.length)}return E}async function Rt(t){const e=[];for(const{key:n,type:r}of t){const t=await F.exportKey(n);e.push(Q[r].identifier,yt(t))}return Ot({type:"KEY_SHARE",data:ct(e)})}function Ft(t){return Ot({type:"SERVER_NAME",data:ct([new Uint8Array([0]),yt(ht(t))])})}function Ot({type:t,data:e,lengthBytes:n}){n||=2;let r=e.length?yt(e):e;1===n&&(r=r.slice(1));const i=new Uint8Array(4+r.length),o=ut(i);return o.setUint8(1,rt[t]),o.setUint16(2,r.length),i.set(r,4),i}async function Qt({secret:t,handshakeMessages:e,cipherSuite:n}){const{hashAlgorithm:r,hashLength:i}=$[n],o=await Nt(e,n),s=await Mt(r,t,"finished",new Uint8Array(0),i),a=await F.importKey(r,s);return F.hmac(r,a,o)}const kt=ht("client finished"),Ut=ht("server finished");async function Pt(t){return ct([new Uint8Array([q]),Et(await Gt("client",t))])}async function Gt(t,{secret:e,handshakeMessages:n,cipherSuite:r}){const i=vt(r),o=await F.hash(i,ct(n)),s=ct(["client"===t?kt:Ut,o]),a=await F.importKey(i,e),c=await F.hmac(i,a,s);return(await F.hmac(i,a,ct([c,s]))).slice(0,12)}async function Vt(t){return ct([new Uint8Array([W]),Et(yt(await F.exportKey(t)).slice(1))])}async function Ht(t){return ct([new Uint8Array([W]),Et(yt(t))])}async function jt(t){if(3!==c(1)[0])throw new Error('expected "named_group" key share');const e=c(2),n=Object.entries(Q).find(([,{identifier:t}])=>lt(t,e));if(!n)throw new Error(`unsupported curve type: ${e}`);const r=n[0],i=l(1),o=await F.importKey(n[1].algorithm,i,"public"),s=c(2),a=Object.entries(et).find(([,{identifier:t}])=>lt(t,s));if(!a)throw new Error(`unsupported signature type: ${s}`);return{publicKeyType:r,publicKey:o,signatureAlgorithm:a[0],signatureBytes:l(2)};function c(e){const n=t.slice(0,e);return t=t.slice(e),n}function l(e=2){const n=wt(t,e);return t=t.slice(n.length+e),n}}async function Yt(t,e,n=F.randomBytes(46)){const r=ct([O[e],n]),i=t.getPublicKey();if("RSASSA-PKCS1-v1_5"!==i.algorithm)throw new Error(`expected RSASSA-PKCS1-v1_5 cert, got ${i.algorithm}`);const o=await F.importKey("RSA-PCKS1_5",i.buffer,"public");return{preMasterSecret:r,encrypted:await F.asymmetricEncrypt("RSA-PCKS1_5",{data:r,publicKey:o})}}const zt={info:(...t)=>console.info(...t),debug:(...t)=>console.debug(...t),trace:()=>{},warn:(...t)=>console.warn(...t),error:(...t)=>console.error(...t)},Jt=Object.entries({WARNING:1,FATAL:2}),Wt=Object.entries({CLOSE_NOTIFY:0,UNEXPECTED_MESSAGE:10,BAD_RECORD_MAC:20,RECORD_OVERFLOW:22,HANDSHAKE_FAILURE:40,BAD_CERTIFICATE:42,UNSUPPORTED_CERTIFICATE:43,CERTIFICATE_REVOKED:44,CERTIFICATE_EXPIRED:45,CERTIFICATE_UNKNOWN:46,ILLEGAL_PARAMETER:47,UNKNOWN_CA:48,ACCESS_DENIED:49,DECODE_ERROR:50,DECRYPT_ERROR:51,PROTOCOL_VERSION:70,INSUFFICIENT_SECURITY:71,INTERNAL_ERROR:80,INAPPROPRIATE_FALLBACK:86,USER_CANCELED:90,MISSING_EXTENSION:109,UNSUPPORTED_EXTENSION:110,UNRECOGNIZED_NAME:112,BAD_CERTIFICATE_STATUS_RESPONSE:113,UNKNOWN_PSK_IDENTITY:115,CERTIFICATE_REQUIRED:116,NO_APPLICATION_PROTOCOL:120,DECRYPTION_FAILED_RESERVED:21,DECOMPRESSION_FAILURE:30,NO_CERTIFICATE_RESERVED:41,EXPORT_RESTRICTION_RESERVED:60,NO_RENEGOTIATION:100});let qt,Kt;"object"==typeof globalThis&&globalThis?(qt=globalThis.TLS_ADDITIONAL_ROOT_CA_LIST||=[],Kt=globalThis.TLS_INTERMEDIATE_CA_CACHE||={}):"object"==typeof window&&window?(qt=window.TLS_ADDITIONAL_ROOT_CA_LIST||=[],Kt=window.TLS_INTERMEDIATE_CA_CACHE||={}):(qt=[],Kt={}),qt.push("-----BEGIN CERTIFICATE-----\nMIIFjDCCA3SgAwIBAgIQfx8skC6D0OO2+zvuR4tegDANBgkqhkiG9w0BAQsFADBM\nMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjETMBEGA1UEChMKR2xv\nYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjAeFw0yMzA3MTkwMzQzMjVaFw0y\nNjA3MTkwMDAwMDBaMFUxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWdu\nIG52LXNhMSswKQYDVQQDEyJHbG9iYWxTaWduIEdDQyBSNiBBbHBoYVNTTCBDQSAy\nMDIzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA00Jvk5ADppO0rgDn\nj1M14XIb032Aas409JJFAb8cUjipFOth7ySLdaWLe3s63oSs5x3eWwzTpX4BFkzZ\nbxT1eoJSHfT2M0wZ5QOPcCIjsr+YB8TAvV2yJSyq+emRrN/FtgCSTaWXSJ5jipW8\nSJ/VAuXPMzuAP2yYpuPcjjQ5GyrssDXgu+FhtYxqyFP7BSvx9jQhh5QV5zhLycua\nn8n+J0Uw09WRQK6JGQ5HzDZQinkNel+fZZNRG1gE9Qeh+tHBplrkalB1g85qJkPO\nJ7SoEvKsmDkajggk/sSq7NPyzFaa/VBGZiRRG+FkxCBniGD5618PQ4trcwHyMojS\nFObOHQIDAQABo4IBXzCCAVswDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsG\nAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdDgQWBBS9\nBbfzipM8c8t5+g+FEqF3lhiRdDAfBgNVHSMEGDAWgBSubAWjkxPioufi1xzWx/B/\nyGdToDB7BggrBgEFBQcBAQRvMG0wLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwMi5n\nbG9iYWxzaWduLmNvbS9yb290cjYwOwYIKwYBBQUHMAKGL2h0dHA6Ly9zZWN1cmUu\nZ2xvYmFsc2lnbi5jb20vY2FjZXJ0L3Jvb3QtcjYuY3J0MDYGA1UdHwQvMC0wK6Ap\noCeGJWh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20vcm9vdC1yNi5jcmwwIQYDVR0g\nBBowGDAIBgZngQwBAgEwDAYKKwYBBAGgMgoBAzANBgkqhkiG9w0BAQsFAAOCAgEA\nfMkkMo5g4mn1ft4d4xR2kHzYpDukhC1XYPwfSZN3A9nEBadjdKZMH7iuS1vF8uSc\ng26/30DRPen2fFRsr662ECyUCR4OfeiiGNdoQvcesM9Xpew3HLQP4qHg+s774hNL\nvGRD4aKSKwFqLMrcqCw6tEAfX99tFWsD4jzbC6k8tjSLzEl0fTUlfkJaWpvLVkpg\n9et8tD8d51bymCg5J6J6wcXpmsSGnksBobac1+nXmgB7jQC9edU8Z41FFo87BV3k\nCtrWWsdkQavObMsXUPl/AO8y/jOuAWz0wyvPnKom+o6W4vKDY6/6XPypNdebOJ6m\njyaILp0quoQvhjx87BzENh5s57AIOyIGpS0sDEChVDPzLEfRsH2FJ8/W5woF0nvs\nBTqfYSCqblQbHeDDtCj7Mlf8JfqaMuqcbE4rMSyfeHyCdZQwnc/r9ujnth691AJh\nxyYeCM04metJIe7cB6d4dFm+Pd5ervY4x32r0uQ1Q0spy1VjNqUJjussYuXNyMmF\nHSuLQQ6PrePmH5lcSMQpYKzPoD/RiNVD/PK0O3vuO5vh3o7oKb1FfzoanDsFFTrw\n0aLOdRW/tmLPWVNVlAb8ad+B80YJsL4HXYnQG8wYAFb8LhwSDyT9v+C1C1lcIHE7\nnE0AAp9JSHxDYsma9pi4g0Phg3BgOm2euTRzw7R0SzU=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIGGTCCBAGgAwIBAgIQE31TnKp8MamkM3AZaIR6jTANBgkqhkiG9w0BAQwFADCB\niDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl\ncnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV\nBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTgx\nMTAyMDAwMDAwWhcNMzAxMjMxMjM1OTU5WjCBlTELMAkGA1UEBhMCR0IxGzAZBgNV\nBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYGA1UE\nChMPU2VjdGlnbyBMaW1pdGVkMT0wOwYDVQQDEzRTZWN0aWdvIFJTQSBPcmdhbml6\nYXRpb24gVmFsaWRhdGlvbiBTZWN1cmUgU2VydmVyIENBMIIBIjANBgkqhkiG9w0B\nAQEFAAOCAQ8AMIIBCgKCAQEAnJMCRkVKUkiS/FeN+S3qU76zLNXYqKXsW2kDwB0Q\n9lkz3v4HSKjojHpnSvH1jcM3ZtAykffEnQRgxLVK4oOLp64m1F06XvjRFnG7ir1x\non3IzqJgJLBSoDpFUd54k2xiYPHkVpy3O/c8Vdjf1XoxfDV/ElFw4Sy+BKzL+k/h\nfGVqwECn2XylY4QZ4ffK76q06Fha2ZnjJt+OErK43DOyNtoUHZZYQkBuCyKFHFEi\nrsTIBkVtkuZntxkj5Ng2a4XQf8dS48+wdQHgibSov4o2TqPgbOuEQc6lL0giE5dQ\nYkUeCaXMn2xXcEAG2yDoG9bzk4unMp63RBUJ16/9fAEc2wIDAQABo4IBbjCCAWow\nHwYDVR0jBBgwFoAUU3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFBfZ1iUn\nZ/kxwklD2TA2RIxsqU/rMA4GA1UdDwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/\nAgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAbBgNVHSAEFDASMAYG\nBFUdIAAwCAYGZ4EMAQICMFAGA1UdHwRJMEcwRaBDoEGGP2h0dHA6Ly9jcmwudXNl\ncnRydXN0LmNvbS9VU0VSVHJ1c3RSU0FDZXJ0aWZpY2F0aW9uQXV0aG9yaXR5LmNy\nbDB2BggrBgEFBQcBAQRqMGgwPwYIKwYBBQUHMAKGM2h0dHA6Ly9jcnQudXNlcnRy\ndXN0LmNvbS9VU0VSVHJ1c3RSU0FBZGRUcnVzdENBLmNydDAlBggrBgEFBQcwAYYZ\naHR0cDovL29jc3AudXNlcnRydXN0LmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAThNA\nlsnD5m5bwOO69Bfhrgkfyb/LDCUW8nNTs3Yat6tIBtbNAHwgRUNFbBZaGxNh10m6\npAKkrOjOzi3JKnSj3N6uq9BoNviRrzwB93fVC8+Xq+uH5xWo+jBaYXEgscBDxLmP\nbYox6xU2JPti1Qucj+lmveZhUZeTth2HvbC1bP6mESkGYTQxMD0gJ3NR0N6Fg9N3\nOSBGltqnxloWJ4Wyz04PToxcvr44APhL+XJ71PJ616IphdAEutNCLFGIUi7RPSRn\nR+xVzBv0yjTqJsHe3cQhifa6ezIejpZehEU4z4CqN2mLYBd0FUiRnG3wTqN3yhsc\nSPr5z0noX0+FCuKPkBurcEya67emP7SsXaRfz+bYipaQ908mgWB2XQ8kd5GzKjGf\nFlqyXYwcKapInI5v03hAcNt37N3j0VcFcC3mSZiIBYRiBXBWdoY5TtMibx3+bfEO\ns2LEPMvAhblhHrrhFYBZlAyuBbuMf1a+HNJav5fyakywxnB2sJCNwQs2uRHY1ihc\n6k/+JLcYCpsM0MF8XPtpvcyiTcaQvKZN8rG61ppnW5YCUtCC+cQKXA0o4D/I+pWV\nidWkvklsQLI+qGu41SWyxP7x09fn1txDAXYw+zuLXfdKiXyaNb78yvBXAfCNP6CH\nMntHWpdLgtJmwsQt6j8k9Kf5qLnjatkYYaA7jBU=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIII+DCCB+CgAwIBAgIQbAP9+jGpC4MAqlBK9HsanzANBgkqhkiG9w0BAQsFADCB\nlTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G\nA1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT0wOwYDVQQD\nEzRTZWN0aWdvIFJTQSBPcmdhbml6YXRpb24gVmFsaWRhdGlvbiBTZWN1cmUgU2Vy\ndmVyIENBMB4XDTI0MDgyNjAwMDAwMFoXDTI1MDgyNjIzNTk1OVowXTELMAkGA1UE\nBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExHDAaBgNVBAoTE1N0YXRlIG9mIENh\nbGlmb3JuaWExGzAZBgNVBAMTEmNvbm5lY3QuZGNhLmNhLmdvdjCCAiIwDQYJKoZI\nhvcNAQEBBQADggIPADCCAgoCggIBALqonPJQIJB5rqVt3lFhVCAWVDaUiHINR/0a\nBtHeqP2Ue5EsLGwdCNCRrj8ge0bCqQh25UBEmIOrTWU3HcmyBYPG51TPp+T5GER2\nr8daV5oqSFpVIThArZF58Omwsbv38hkNn1LCdZher/yqbuZJNHZd2Z/h3Xv410us\ny2EnrALnoKkRUvJ/hfX3Wpn9H+gYILEjwS3Bz4RZbMNnZCmaKFvKdk4hL/5Nyfgi\nysHgJIM1jTitd24gilbA9RTLpak7naSxevb0SVa48hywpN8zoeDnOE/QIPGZ3CDJ\n70zHpZ9/T+soTtnTOAkVR3gCq6ZNshfizV6hqQTIvk6w8Ce7AoHv47EIRDwpb6RD\ngODEyZJFxR27/lZrXq3yvaiE0ZXkBFjJ6B4N+IuxpKrflRuddv5ObOm9AxunUsCM\nbhSf+7M8ECKk9j/IPYoKChfhxOyDQPKZSUtHx94+L5Z+7ri01S5ahkVlIY9O7VRz\nPU3YoqNslBUpAIrRYfjN1ej5FGgo867i5RUB9deFgJ/DMwbT0WN9e5DkVDcREbl4\nmJDRife0nZW88GgLDgFvvw3aFna+MtvE9BKgnTnPUUB9yiRJryj0i0qkIV30XF62\nCuNYEn8V24VvRv95wnsT6W758DGY7BspK18XVwL+LiA+GvkMFehhIRW6BBw1Txv9\n+NYVTTm1AgMBAAGjggR5MIIEdTAfBgNVHSMEGDAWgBQX2dYlJ2f5McJJQ9kwNkSM\nbKlP6zAdBgNVHQ4EFgQUYXACOqlHJoJQcEG3L0ICy9gYsV4wDgYDVR0PAQH/BAQD\nAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMC\nMEoGA1UdIARDMEEwNQYMKwYBBAGyMQECAQMEMCUwIwYIKwYBBQUHAgEWF2h0dHBz\nOi8vc2VjdGlnby5jb20vQ1BTMAgGBmeBDAECAjBaBgNVHR8EUzBRME+gTaBLhklo\ndHRwOi8vY3JsLnNlY3RpZ28uY29tL1NlY3RpZ29SU0FPcmdhbml6YXRpb25WYWxp\nZGF0aW9uU2VjdXJlU2VydmVyQ0EuY3JsMIGKBggrBgEFBQcBAQR+MHwwVQYIKwYB\nBQUHMAKGSWh0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGlnb1JTQU9yZ2FuaXph\ndGlvblZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5jcnQwIwYIKwYBBQUHMAGGF2h0\ndHA6Ly9vY3NwLnNlY3RpZ28uY29tMIIBfgYKKwYBBAHWeQIEAgSCAW4EggFqAWgA\ndQDd3Mo0ldfhFgXnlTL6x5/4PRxQ39sAOhQSdgosrLvIKgAAAZGPYefYAAAEAwBG\nMEQCIC3PuRJmsoXOdITZPFofbx+GkT9JlXYA4rFD66SEzQYNAiBFdkL0000FzUHJ\nA11IglFWjubgpuCz7ct1NqW7nDwxFQB2AA3h8jAr0w3BQGISCepVLvxHdHyx1+kw\n7w5CHrR+Tqo0AAABkY9h57UAAAQDAEcwRQIhAKN6rHqqCeFQKpBS36UE+z/kTXru\nA7bI/NrW6k+vZXNBAiBJ1mayfSQJPX3LVpPBNK1kHIXI612M9Tpmrt9prraFlgB3\nABLxTjS9U3JMhAYZw48/ehP457Vih4icbTAFhOvlhiY6AAABkY9h57UAAAQDAEgw\nRgIhALJAVx2+PVTOBjKeEkYLyTChpUyITMx2yJoZ8Zxe4C1nAiEAyKSU0BY4Wu/e\ndu3YZFHbBymWlfsDCPtkUYUXuaZPqrMwggE9BgNVHREEggE0MIIBMIISY29ubmVj\ndC5kY2EuY2EuZ292ghVjb25uZWN0LXdzLmNhYi5jYS5nb3aCFWNvbm5lY3Qtd3Mu\nY2ZiLmNhLmdvdoIlY29ubmVjdC13cy5jb3VydHJlcG9ydGVyc2JvYXJkLmNhLmdv\ndoIVY29ubmVjdC13cy5kY2EuY2EuZ292ghZjb25uZWN0LXdzLmxhdGMuY2EuZ292\nghtjb25uZWN0LXdzLnBlc3Rib2FyZC5jYS5nb3aCEmNvbm5lY3QuY2FiLmNhLmdv\ndoISY29ubmVjdC5jZmIuY2EuZ292giJjb25uZWN0LmNvdXJ0cmVwb3J0ZXJzYm9h\ncmQuY2EuZ292ghNjb25uZWN0LmxhdGMuY2EuZ292ghhjb25uZWN0LnBlc3Rib2Fy\nZC5jYS5nb3YwDQYJKoZIhvcNAQELBQADggEBAH8SsgW//ibqOZhMifgDLy2z4srI\nOwYMaWi0mxRO/6fgCO9BcpvT22vrMZYo3JuaEHtKT0joh5mdsfm/3tttEgnFYV5h\ngK4xgkZ/BbXoKWi+lmZPvxQJJFoRRg1WPnTvH+S7hUS0JAi4Wzmt7GGKhKnr5Fp3\nqTMIS9g0NQNGrV9pYqK1AQFzk0BBdemBqzUHLQjJ1k176AlvXP7xjW9Fi/Fdasat\ndfOtR3XILf1FTAjKGeGS9q2e4h6aZvLmdsDlCiG+YocUpTIOtdiF00zA4MybExyZ\npfy9x5+dKWTyekk5jr54LEFQ5kUDJaGZ0KnDuOxhDSpAO/Yb/Z/3ZAk2G0s=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIEjTCCA3WgAwIBAgIQDQd4KhM/xvmlcpbhMf/ReTANBgkqhkiG9w0BAQsFADBh\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\nMjAeFw0xNzExMDIxMjIzMzdaFw0yNzExMDIxMjIzMzdaMGAxCzAJBgNVBAYTAlVT\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\nb20xHzAdBgNVBAMTFkdlb1RydXN0IFRMUyBSU0EgQ0EgRzEwggEiMA0GCSqGSIb3\nDQEBAQUAA4IBDwAwggEKAoIBAQC+F+jsvikKy/65LWEx/TMkCDIuWegh1Ngwvm4Q\nyISgP7oU5d79eoySG3vOhC3w/3jEMuipoH1fBtp7m0tTpsYbAhch4XA7rfuD6whU\ngajeErLVxoiWMPkC/DnUvbgi74BJmdBiuGHQSd7LwsuXpTEGG9fYXcbTVN5SATYq\nDfbexbYxTMwVJWoVb6lrBEgM3gBBqiiAiy800xu1Nq07JdCIQkBsNpFtZbIZhsDS\nfzlGWP4wEmBQ3O67c+ZXkFr2DcrXBEtHam80Gp2SNhou2U5U7UesDL/xgLK6/0d7\n6TnEVMSUVJkZ8VeZr+IUIlvoLrtjLbqugb0T3OYXW+CQU0kBAgMBAAGjggFAMIIB\nPDAdBgNVHQ4EFgQUlE/UXYvkpOKmgP792PkA76O+AlcwHwYDVR0jBBgwFoAUTiJU\nIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsG\nAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMDQGCCsGAQUFBwEB\nBCgwJjAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEIGA1Ud\nHwQ7MDkwN6A1oDOGMWh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEds\nb2JhbFJvb3RHMi5jcmwwPQYDVR0gBDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEW\nHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0LmNvbS9DUFMwDQYJKoZIhvcNAQELBQADggEB\nAIIcBDqC6cWpyGUSXAjjAcYwsK4iiGF7KweG97i1RJz1kwZhRoo6orU1JtBYnjzB\nc4+/sXmnHJk3mlPyL1xuIAt9sMeC7+vreRIF5wFBC0MCN5sbHwhNN1JzKbifNeP5\nozpZdQFmkCo+neBiKR6HqIA+LMTMCMMuv2khGGuPHmtDze4GmEGZtYLyF8EQpa5Y\njPuV6k2Cr/N3XxFpT3hRpt/3usU/Zb9wfKPtWpoznZ4/44c1p9rzFcZYrWkj3A+7\nTNBJE0GmP2fhXhP1D/XVfIW/h0yCJGEiV9Glm/uGOa3DXHlmbAcxSyCRraG+ZBkA\n7h4SeM6Y8l/7MBRpPCz6l8Y=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIGTDCCBDSgAwIBAgIQOXpmzCdWNi4NqofKbqvjsTANBgkqhkiG9w0BAQwFADBf\nMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQD\nEy1TZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYw\nHhcNMjEwMzIyMDAwMDAwWhcNMzYwMzIxMjM1OTU5WjBgMQswCQYDVQQGEwJHQjEY\nMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTcwNQYDVQQDEy5TZWN0aWdvIFB1Ymxp\nYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gQ0EgRFYgUjM2MIIBojANBgkqhkiG9w0B\nAQEFAAOCAY8AMIIBigKCAYEAljZf2HIz7+SPUPQCQObZYcrxLTHYdf1ZtMRe7Yeq\nRPSwygz16qJ9cAWtWNTcuICc++p8Dct7zNGxCpqmEtqifO7NvuB5dEVexXn9RFFH\n12Hm+NtPRQgXIFjx6MSJcNWuVO3XGE57L1mHlcQYj+g4hny90aFh2SCZCDEVkAja\nEMMfYPKuCjHuuF+bzHFb/9gV8P9+ekcHENF2nR1efGWSKwnfG5RawlkaQDpRtZTm\nM64TIsv/r7cyFO4nSjs1jLdXYdz5q3a4L0NoabZfbdxVb+CUEHfB0bpulZQtH1Rv\n38e/lIdP7OTTIlZh6OYL6NhxP8So0/sht/4J9mqIGxRFc0/pC8suja+wcIUna0HB\npXKfXTKpzgis+zmXDL06ASJf5E4A2/m+Hp6b84sfPAwQ766rI65mh50S0Di9E3Pn\n2WcaJc+PILsBmYpgtmgWTR9eV9otfKRUBfzHUHcVgarub/XluEpRlTtZudU5xbFN\nxx/DgMrXLUAPaI60fZ6wA+PTAgMBAAGjggGBMIIBfTAfBgNVHSMEGDAWgBRWc1hk\nlfmSGrASKgRieaFAFYghSTAdBgNVHQ4EFgQUaMASFhgOr872h6YyV6NGUV3LBycw\nDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB/wQIMAYBAf8CAQAwHQYDVR0lBBYwFAYI\nKwYBBQUHAwEGCCsGAQUFBwMCMBsGA1UdIAQUMBIwBgYEVR0gADAIBgZngQwBAgEw\nVAYDVR0fBE0wSzBJoEegRYZDaHR0cDovL2NybC5zZWN0aWdvLmNvbS9TZWN0aWdv\nUHVibGljU2VydmVyQXV0aGVudGljYXRpb25Sb290UjQ2LmNybDCBhAYIKwYBBQUH\nAQEEeDB2ME8GCCsGAQUFBzAChkNodHRwOi8vY3J0LnNlY3RpZ28uY29tL1NlY3Rp\nZ29QdWJsaWNTZXJ2ZXJBdXRoZW50aWNhdGlvblJvb3RSNDYucDdjMCMGCCsGAQUF\nBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTANBgkqhkiG9w0BAQwFAAOCAgEA\nYtOC9Fy+TqECFw40IospI92kLGgoSZGPOSQXMBqmsGWZUQ7rux7cj1du6d9rD6C8\nze1B2eQjkrGkIL/OF1s7vSmgYVafsRoZd/IHUrkoQvX8FZwUsmPu7amgBfaY3g+d\nq1x0jNGKb6I6Bzdl6LgMD9qxp+3i7GQOnd9J8LFSietY6Z4jUBzVoOoz8iAU84OF\nh2HhAuiPw1ai0VnY38RTI+8kepGWVfGxfBWzwH9uIjeooIeaosVFvE8cmYUB4TSH\n5dUyD0jHct2+8ceKEtIoFU/FfHq/mDaVnvcDCZXtIgitdMFQdMZaVehmObyhRdDD\n4NQCs0gaI9AAgFj4L9QtkARzhQLNyRf87Kln+YU0lgCGr9HLg3rGO8q+Y4ppLsOd\nunQZ6ZxPNGIfOApbPVf5hCe58EZwiWdHIMn9lPP6+F404y8NNugbQixBber+x536\nWrZhFZLjEkhp7fFXf9r32rNPfb74X/U90Bdy4lzp3+X1ukh1BuMxA/EEhDoTOS3l\n7ABvc7BYSQubQ2490OcdkIzUh3ZwDrakMVrbaTxUM2p24N6dB+ns2zptWCva6jzW\nr8IWKIMxzxLPv5Kt3ePKcUdvkBU/smqujSczTzzSjIoR5QqQA6lN1ZRSnuHIWCvh\nJEltkYnTAH41QJ6SAWO66GrrUESwN/cgZzL4JLEqz1Y=\n-----END CERTIFICATE-----");const Xt=["-----BEGIN CERTIFICATE-----\nMIIFuzCCA6OgAwIBAgIIVwoRl0LE48wwDQYJKoZIhvcNAQELBQAwazELMAkGA1UE\nBhMCSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8w\nMzM1ODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290\nIENBMB4XDTExMDkyMjExMjIwMloXDTMwMDkyMjExMjIwMlowazELMAkGA1UEBhMC\nSVQxDjAMBgNVBAcMBU1pbGFuMSMwIQYDVQQKDBpBY3RhbGlzIFMucC5BLi8wMzM1\nODUyMDk2NzEnMCUGA1UEAwweQWN0YWxpcyBBdXRoZW50aWNhdGlvbiBSb290IENB\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAp8bEpSmkLO/lGMWwUKNv\nUTufClrJwkg4CsIcoBh/kbWHuUA/3R1oHwiD1S0eiKD4j1aPbZkCkpAW1V8IbInX\n4ay8IMKx4INRimlNAJZaby/ARH6jDuSRzVju3PvHHkVH3Se5CAGfpiEd9UEtL0z9\nKK3giq0itFZljoZUj5NDKd45RnijMCO6zfB9E1fAXdKDa0hMxKufgFpbOr3JpyI/\ngCczWw63igxdBzcIy2zSekciRDXFzMwujt0q7bd9Zg1fYVEiVRvjRuPjPdA1Yprb\nrxTIW6HMiRvhMCb8oJsfgadHHwTrozmSBp+Z07/T6k9QnBn+locePGX2oxgkg4YQ\n51Q+qDp2JE+BIcXjDwL4k5RHILv+1A7TaLndxHqEguNTVHnd25zS8gebLra8Pu2F\nbe8lEfKXGkJh90qX6IuxEAf6ZYGyojnP9zz/GPvG8VqLWeICrHuS0E4UT1lF9gxe\nKF+w6D9Fz8+vm2/7hNN3WpVvrJSEnu68wEqPSpP4RCHiMUVhUE4Q2OM1fEwZtN4F\nv6MGn8i1zeQf1xcGDXqVdFUNaBr8EBtiZJ1t4JWgw5QHVw0U5r0F+7if5t+L4sbn\nfpb2U8WANFAoWPASUHEXMLrmeGO89LKtmyuy/uE5jF66CyCU3nuDuP/jVo23Eek7\njPKxwV2dpAtMK9myGPW1n0sCAwEAAaNjMGEwHQYDVR0OBBYEFFLYiDrIn3hm7Ynz\nezhwlMkCAjbQMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUUtiIOsifeGbt\nifN7OHCUyQICNtAwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQAL\ne3KHwGCmSUyIWOYdiPcUZEim2FgKDk8TNd81HdTtBjHIgT5q1d07GjLukD0R0i70\njsNjLiNmsGe+b7bAEzlgqqI0JZN1Ut6nna0Oh4lScWoWPBkdg/iaKWW+9D+a2fDz\nWochcYBNy+A4mz+7+uAwTc+G02UQGRjRlwKxK3JCaKygvU5a2hi/a5iB0P2avl4V\nSM0RFbnAKVy06Ij3Pjaut2L9HmLecHgQHEhb2rykOLpn7VU+Xlff1ANATIGk0k9j\npwlCCRT8AKnCgHNPLsBA2RF7SOp6AsDT6ygBJlh0wcBzIm2Tlf05fbsq4/aC4yyX\nX04fkZT6/iyj2HYauE2yOE+b+h1IYHkm4vP9qdCa6HCPSXrW5b0KDtst842/6+Ok\nfcvHlXHo2qN8xcL4dJIEG4aspCJTQLas/kx2z/uUMsA1n3Y/buWQbqCmJqK4LL7R\nK4X9p2jIugErsWx0Hbhzlefut8cl8ABMALJ+tguLHPPAUJ4lueAI3jZm/zel0btU\nZCzJJ7VLkn5l/9Mt4blOvH+kQSGQQXemOR/qnuOf0GZvBeyqdn6/axag67XH/JJU\nLysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9vwGYT7JZVEc+NHt4bVaT\nLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFszCCA5ugAwIBAgIUEwLV4kBMkkaGFmddtLu7sms+/BMwDQYJKoZIhvcNAQEL\nBQAwYTELMAkGA1UEBhMCVE4xNzA1BgNVBAoMLkFnZW5jZSBOYXRpb25hbGUgZGUg\nQ2VydGlmaWNhdGlvbiBFbGVjdHJvbmlxdWUxGTAXBgNVBAMMEFR1blRydXN0IFJv\nb3QgQ0EwHhcNMTkwNDI2MDg1NzU2WhcNNDQwNDI2MDg1NzU2WjBhMQswCQYDVQQG\nEwJUTjE3MDUGA1UECgwuQWdlbmNlIE5hdGlvbmFsZSBkZSBDZXJ0aWZpY2F0aW9u\nIEVsZWN0cm9uaXF1ZTEZMBcGA1UEAwwQVHVuVHJ1c3QgUm9vdCBDQTCCAiIwDQYJ\nKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMPN0/y9BFPdDCA61YguBUtB9YOCfvdZ\nn56eY+hz2vYGqU8ftPkLHzmMmiDQfgbU7DTZhrx1W4eI8NLZ1KMKsmwb60ksPqxd\n2JQDoOw05TDENX37Jk0bbjBU2PWARZw5rZzJJQRNmpA+TkBuimvNKWfGzC3gdOgF\nVwpIUPp6Q9p+7FuaDmJ2/uqdHYVy7BG7NegfJ7/Boce7SBbdVtfMTqDhuazb1YMZ\nGoXRlJfXyqNlC/M4+QKu3fZnz8k/9YosRxqZbwUN/dAdgjH8KcwAWJeRTIAAHDOF\nli/LQcKLEITDCSSJH7UP2dl3RxiSlGBcx5kDPP73lad9UKGAwqmDrViWVSHbhlnU\nr8a83YFuB9tgYv7sEG7aaAH0gxupPqJbI9dkxt/con3YS7qC0lH4Zr8GRuR5KiY2\neY8fTpkdso8MDhz/yV3A/ZAQprE38806JG60hZC/gLkMjNWb1sjxVj8agIl6qeIb\nMlEsPvLfe/ZdeikZjuXIvTZxi11Mwh0/rViizz1wTaZQmCXcI/m4WEEIcb9PuISg\njwBUFfyRbVinljvrS5YnzWuioYasDXxU5mZMZl+QviGaAkYt5IPCgLnPSz7ofzwB\n7I9ezX/SKEIBlYrilz0QIX32nRzFNKHsLA4KUiwSVXAkPcvCFDVDXSdOvsC9qnyW\n5/yeYa1E0wCXAgMBAAGjYzBhMB0GA1UdDgQWBBQGmpsfU33x9aTI04Y+oXNZtPdE\nITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFAaamx9TffH1pMjThj6hc1m0\n90QhMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAqgVutt0Vyb+z\nxiD2BkewhpMl0425yAA/l/VSJ4hxyXT968pk21vvHl26v9Hr7lxpuhbI87mP0zYu\nQEkHDVneixCwSQXi/5E/S7fdAo74gShczNxtr18UnH1YeA32gAm56Q6XKRm4t+v4\nFstVEuTGfbvE7Pi1HE4+Z7/FXxttbUcoqgRYYdZ2vyJ/0Adqp2RT8JeNnYA/u8EH\n22Wv5psymsNUk8QcCMNE+3tjEUPRahphanltkE8pjkcFwRJpadbGNjHh/PqAulxP\nxOu3Mqz4dWEX1xAZufHSCe96Qp1bWgvUxpVOKs7/B9dPfhgGiPEZtdmYu65xxBzn\ndFlY7wyJz4sfdZMaBBSSSFCp61cpABbjNhzI+L/wM9VBD8TMPN3pM0MBkRArHtG5\nXc0yGYuPjCB31yLEQtyEFpslbei0VXF/sHyz03FJuc9SpAQ/3D2gu68zngowYI7b\nnV2UqL1g52KAdoGDDIzMMEZJ4gzSqK/rYXHv5yJiqfdcZGyfFoxnNidF9Ql7v/YQ\nCvGwjVRDjAS6oz/v4jXH+XTgbzRB0L9zZVcg+ZtnemZoJE6AZb0QmQZZ8mWvuMZH\nu/2QeItBcy6vVR/cO5JyboTT0GFMDcx2V+IthSIVNg3rAZ3r2OvEhJn7wAzMMujj\nd9qDRIueVSjAi1jTkD5OGwDxFa2DK5o=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDQTCCAimgAwIBAgITBmyfz5m/jAo54vB4ikPmljZbyjANBgkqhkiG9w0BAQsF\nADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6\nb24gUm9vdCBDQSAxMB4XDTE1MDUyNjAwMDAwMFoXDTM4MDExNzAwMDAwMFowOTEL\nMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv\nb3QgQ0EgMTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALJ4gHHKeNXj\nca9HgFB0fW7Y14h29Jlo91ghYPl0hAEvrAIthtOgQ3pOsqTQNroBvo3bSMgHFzZM\n9O6II8c+6zf1tRn4SWiw3te5djgdYZ6k/oI2peVKVuRF4fn9tBb6dNqcmzU5L/qw\nIFAGbHrQgLKm+a/sRxmPUDgH3KKHOVj4utWp+UhnMJbulHheb4mjUcAwhmahRWa6\nVOujw5H5SNz/0egwLX0tdHA114gk957EWW67c4cX8jJGKLhD+rcdqsq08p8kDi1L\n93FcXmn/6pUCyziKrlA4b9v7LWIbxcceVOF34GfID5yHI9Y/QCB/IIDEgEw+OyQm\njgSubJrIqg0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC\nAYYwHQYDVR0OBBYEFIQYzIU07LwMlJQuCFmcx7IQTgoIMA0GCSqGSIb3DQEBCwUA\nA4IBAQCY8jdaQZChGsV2USggNiMOruYou6r4lK5IpDB/G/wkjUu0yKGX9rbxenDI\nU5PMCCjjmCXPI6T53iHTfIUJrU6adTrCC2qJeHZERxhlbI1Bjjt/msv0tadQ1wUs\nN+gDS63pYaACbvXy8MWy7Vu33PqUXHeeE6V/Uq2V8viTO96LXFvKWlJbYK8U90vv\no/ufQJVtMVT8QtPHRh8jrdkPSHCa2XV4cdFyQzR1bldZwgJcJmApzyMZFo6IQ6XU\n5MsI+yMRQ+hDKXJioaldXgjUkK642M4UwtBV8ob2xJNDd2ZhwLnoQdeXeGADbkpy\nrqXRfboQnoZsG4q5WTP468SQvvG5\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFQTCCAymgAwIBAgITBmyf0pY1hp8KD+WGePhbJruKNzANBgkqhkiG9w0BAQwF\nADA5MQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6\nb24gUm9vdCBDQSAyMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTEL\nMAkGA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJv\nb3QgQ0EgMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK2Wny2cSkxK\ngXlRmeyKy2tgURO8TW0G/LAIjd0ZEGrHJgw12MBvIITplLGbhQPDW9tK6Mj4kHbZ\nW0/jTOgGNk3Mmqw9DJArktQGGWCsN0R5hYGCrVo34A3MnaZMUnbqQ523BNFQ9lXg\n1dKmSYXpN+nKfq5clU1Imj+uIFptiJXZNLhSGkOQsL9sBbm2eLfq0OQ6PBJTYv9K\n8nu+NQWpEjTj82R0Yiw9AElaKP4yRLuH3WUnAnE72kr3H9rN9yFVkE8P7K6C4Z9r\n2UXTu/Bfh+08LDmG2j/e7HJV63mjrdvdfLC6HM783k81ds8P+HgfajZRRidhW+me\nz/CiVX18JYpvL7TFz4QuK/0NURBs+18bvBt+xa47mAExkv8LV/SasrlX6avvDXbR\n8O70zoan4G7ptGmh32n2M8ZpLpcTnqWHsFcQgTfJU7O7f/aS0ZzQGPSSbtqDT6Zj\nmUyl+17vIWR6IF9sZIUVyzfpYgwLKhbcAS4y2j5L9Z469hdAlO+ekQiG+r5jqFoz\n7Mt0Q5X5bGlSNscpb/xVA1wf+5+9R+vnSUeVC06JIglJ4PVhHvG/LopyboBZ/1c6\n+XUyo05f7O0oYtlNc/LMgRdg7c3r3NunysV+Ar3yVAhU/bQtCSwXVEqY0VThUWcI\n0u1ufm8/0i2BWSlmy5A5lREedCf+3euvAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMB\nAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSwDPBMMPQFWAJI/TPlUq9LhONm\nUjANBgkqhkiG9w0BAQwFAAOCAgEAqqiAjw54o+Ci1M3m9Zh6O+oAA7CXDpO8Wqj2\nLIxyh6mx/H9z/WNxeKWHWc8w4Q0QshNabYL1auaAn6AFC2jkR2vHat+2/XcycuUY\n+gn0oJMsXdKMdYV2ZZAMA3m3MSNjrXiDCYZohMr/+c8mmpJ5581LxedhpxfL86kS\nk5Nrp+gvU5LEYFiwzAJRGFuFjWJZY7attN6a+yb3ACfAXVU3dJnJUH/jWS5E4ywl\n7uxMMne0nxrpS10gxdr9HIcWxkPo1LsmmkVwXqkLN1PiRnsn/eBG8om3zEK2yygm\nbtmlyTrIQRNg91CMFa6ybRoVGld45pIq2WWQgj9sAq+uEjonljYE1x2igGOpm/Hl\nurR8FLBOybEfdF849lHqm/osohHUqS0nGkWxr7JOcQ3AWEbWaQbLU8uz/mtBzUF+\nfUwPfHJ5elnNXkoOrJupmHN5fLT0zLm4BwyydFy4x2+IoZCn9Kr5v2c69BoVYh63\nn749sSmvZ6ES8lgQGVMDMBu4Gon2nL2XA46jCfMdiyHxtN/kHNGfZQIG6lzWE7OE\n76KlXIx3KadowGuuQNKotOrN8I1LOJwZmhsoVLiJkO/KdYE+HvJkJMcYr07/R54H\n9jVlpNMKVv/1F2Rs76giJUmTtt8AF9pYfl3uxRuw0dFfIRDH+fO6AgonB8Xx1sfT\n4PsJYGw=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIBtjCCAVugAwIBAgITBmyf1XSXNmY/Owua2eiedgPySjAKBggqhkjOPQQDAjA5\nMQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g\nUm9vdCBDQSAzMB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG\nA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg\nQ0EgMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABCmXp8ZBf8ANm+gBG1bG8lKl\nui2yEujSLtf6ycXYqm0fc4E7O5hrOXwzpcVOho6AF2hiRVd9RFgdszflZwjrZt6j\nQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBSr\nttvXBp43rDCGB5Fwx5zEGbF4wDAKBggqhkjOPQQDAgNJADBGAiEA4IWSoxe3jfkr\nBqWTrBqYaGFy+uGh0PsceGCmQ5nFuMQCIQCcAu/xlJyzlvnrxir4tiz+OpAUFteM\nYyRIHN8wfdVoOw==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIB8jCCAXigAwIBAgITBmyf18G7EEwpQ+Vxe3ssyBrBDjAKBggqhkjOPQQDAzA5\nMQswCQYDVQQGEwJVUzEPMA0GA1UEChMGQW1hem9uMRkwFwYDVQQDExBBbWF6b24g\nUm9vdCBDQSA0MB4XDTE1MDUyNjAwMDAwMFoXDTQwMDUyNjAwMDAwMFowOTELMAkG\nA1UEBhMCVVMxDzANBgNVBAoTBkFtYXpvbjEZMBcGA1UEAxMQQW1hem9uIFJvb3Qg\nQ0EgNDB2MBAGByqGSM49AgEGBSuBBAAiA2IABNKrijdPo1MN/sGKe0uoe0ZLY7Bi\n9i0b2whxIdIA6GO9mif78DluXeo9pcmBqqNbIJhFXRbb/egQbeOc4OO9X4Ri83Bk\nM6DLJC9wuoihKqB1+IGuYgbEgds5bimwHvouXKNCMEAwDwYDVR0TAQH/BAUwAwEB\n/zAOBgNVHQ8BAf8EBAMCAYYwHQYDVR0OBBYEFNPsxzplbszh2naaVvuc84ZtV+WB\nMAoGCCqGSM49BAMDA2gAMGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlw\nCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1AE47xDqUEpHJWEadIRNyp4iciuRMStuW\n1KyLa2tJElMzrdfkviT8tQp21KW8EA==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx\nEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT\nHFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs\nZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5\nMDkwMTAwMDAwMFoXDTM3MTIzMTIzNTk1OVowgZgxCzAJBgNVBAYTAlVTMRAwDgYD\nVQQIEwdBcml6b25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFy\nZmllbGQgVGVjaG5vbG9naWVzLCBJbmMuMTswOQYDVQQDEzJTdGFyZmllbGQgU2Vy\ndmljZXMgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZI\nhvcNAQEBBQADggEPADCCAQoCggEBANUMOsQq+U7i9b4Zl1+OiFOxHz/Lz58gE20p\nOsgPfTz3a3Y4Y9k2YKibXlwAgLIvWX/2h/klQ4bnaRtSmpDhcePYLQ1Ob/bISdm2\n8xpWriu2dBTrz/sm4xq6HZYuajtYlIlHVv8loJNwU4PahHQUw2eeBGg6345AWh1K\nTs9DkTvnVtYAcMtS7nt9rjrnvDH5RfbCYM8TWQIrgMw0R9+53pBlbQLPLJGmpufe\nhRhJfGZOozptqbXuNC66DQO4M99H67FrjSXZm86B0UVGMpZwh94CDklDhbZsc7tk\n6mFBrMnUVN+HL8cisibMn1lUaJ/8viovxFUcdUBgF4UCVTmLfwUCAwEAAaNCMEAw\nDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJxfAN+q\nAdcwKziIorhtSpzyEZGDMA0GCSqGSIb3DQEBCwUAA4IBAQBLNqaEd2ndOxmfZyMI\nbw5hyf2E3F/YNoHN2BtBLZ9g3ccaaNnRbobhiCPPE95Dz+I0swSdHynVv/heyNXB\nve6SbzJ08pGCL72CQnqtKrcgfU28elUSwhXqvfdqlS5sdJ/PHLTyxQGjhdByPq1z\nqwubdQxtRbeOlKyWN7Wg0I8VRw7j6IPdj/3vQQF3zCepYoUz8jcI73HPdwbeyBkd\niEDPfUYd/x7H4c7/I9vG+o1VTqkC50cRRj70/b17KSa7qWFiNyi2LSr2EIZkyXCn\n0q23KXB56jzaYyWf/Wi3MOxw+3WKt21gZ7IeyLnp2KhvAotnDU0mV3HaIPzBSlCN\nsSi6\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDDDCCAfSgAwIBAgIDAQAgMA0GCSqGSIb3DQEBBQUAMD4xCzAJBgNVBAYTAlBM\nMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD\nQTAeFw0wMjA2MTExMDQ2MzlaFw0yNzA2MTExMDQ2MzlaMD4xCzAJBgNVBAYTAlBM\nMRswGQYDVQQKExJVbml6ZXRvIFNwLiB6IG8uby4xEjAQBgNVBAMTCUNlcnR1bSBD\nQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAM6xwS7TT3zNJc4YPk/E\njG+AanPIW1H4m9LcuwBcsaD8dQPugfCI7iNS6eYVM42sLQnFdvkrOYCJ5JdLkKWo\nePhzQ3ukYbDYWMzhbGZ+nPMJXlVjhNWo7/OxLjBos8Q82KxujZlakE403Daaj4GI\nULdtlkIJ89eVgw1BS7Bqa/j8D35in2fE7SZfECYPCE/wpFcozo+47UX2bu4lXapu\nOb7kky/ZR6By6/qmW6/KUz/iDsaWVhFu9+lmqSbYf5VT7QqFiLpPKaVCjF62/IUg\nAKpoC6EahQGcxEZjgoi2IrHu/qpGWX7PNSzVttpd90gzFFS269lvzs2I1qsb2pY7\nHVkCAwEAAaMTMBEwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEA\nuI3O7+cUus/usESSbLQ5PqKEbq24IXfS1HeCh+YgQYHu4vgRt2PRFze+GXYkHAQa\nTOs9qmdvLdTN/mUxcMUbpgIKumB7bVjCmkn+YzILa+M6wKyrO7Do0wlRjBCDxjTg\nxSvgGrZgFCdsMneMvLJymM/NzD+5yCRCFNZX/OYmQ6kd5YCQzgNUKD73P9P4Te1q\nCjqTE5s7FCMTY5w/0YcneeVMUeMBrYVdGjux1XMQpNPyvG5k9VpWkKjHDkx0Dy5x\nO/fIR/RpbxXyEV6DHpx8Uq79AtoSqFlnGNu8cN2bsWntgM6JQEhqDjXKKWYVIZQs\n6GAqm4VKQPNriiTsBhYscw==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICZTCCAeugAwIBAgIQeI8nXIESUiClBNAt3bpz9DAKBggqhkjOPQQDAzB0MQsw\nCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScw\nJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxGTAXBgNVBAMT\nEENlcnR1bSBFQy0zODQgQ0EwHhcNMTgwMzI2MDcyNDU0WhcNNDMwMzI2MDcyNDU0\nWjB0MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBT\nLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxGTAX\nBgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATE\nKI6rGFtqvm5kN2PkzeyrOvfMobgOgknXhimfoZTy42B4mIF4Bk3y7JoOV2CDn7Tm\nFy8as10CW4kjPMIRBSqniBMY81CE1700LCeJVf/OTOffph8oxPBUw7l8t1Ot68Kj\nQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI0GZnQkdjrzife81r1HfS+8\nEF9LMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNoADBlAjADVS2m5hjEfO/J\nUG7BJw+ch69u1RsIGL2SKcHvlJF40jocVYli5RsJHrpka/F2tNQCMQC0QoSZ/6vn\nnvuRlydd3LBbMHHOXjgaatkl5+r3YZJW+OraNsKHZZYuciUvf9/DE8k=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDuzCCAqOgAwIBAgIDBETAMA0GCSqGSIb3DQEBBQUAMH4xCzAJBgNVBAYTAlBM\nMSIwIAYDVQQKExlVbml6ZXRvIFRlY2hub2xvZ2llcyBTLkEuMScwJQYDVQQLEx5D\nZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxIjAgBgNVBAMTGUNlcnR1bSBU\ncnVzdGVkIE5ldHdvcmsgQ0EwHhcNMDgxMDIyMTIwNzM3WhcNMjkxMjMxMTIwNzM3\nWjB+MQswCQYDVQQGEwJQTDEiMCAGA1UEChMZVW5pemV0byBUZWNobm9sb2dpZXMg\nUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSIw\nIAYDVQQDExlDZXJ0dW0gVHJ1c3RlZCBOZXR3b3JrIENBMIIBIjANBgkqhkiG9w0B\nAQEFAAOCAQ8AMIIBCgKCAQEA4/t9o3K6wvDJFIf1awFO4W5AB7ptJ11/91sts1rH\nUV+rpDKmYYe2bg+G0jACl/jXaVehGDldamR5xgFZrDwxSjh80gTSSyjoIF87B6LM\nTXPb865Px1bVWqeWifrzq2jUI4ZZJ88JJ7ysbnKDHDBy3+Ci6dLhdHUZvSqeexVU\nBBvXQzmtVSjF4hq79MDkrjhJM8x2hZ85RdKknvISjFH4fOQtf/WsX+sWn7Et0brM\nkUJ3TCXJkDhv2/DM+44el1k+1WBO5gUo7Ul5E0u6SNsv+XLTOcr+H9g0cvW0QM8x\nAcPs3hEtF10fuFDRXhmnad4HMyjKUJX5p1TLVIZQRan5SQIDAQABo0IwQDAPBgNV\nHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQIds3LB/8k9sXN7buQvOKEN0Z19zAOBgNV\nHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEFBQADggEBAKaorSLOAT2mo/9i0Eidi15y\nsHhE49wcrwn9I0j6vSrEuVUEtRCjjSfeC4Jj0O7eDDd5QVsisrCaQVymcODU0HfL\nI9MA4GxWL+FpDQ3Zqr8hgVDZBqWo/5U30Kr+4rP1mS1FhIrlQgnXdAIv94nYmem8\nJ9RHjboNRhx3zxSkHLmkMcScKHQDNP8zGSal6Q10tz6XxnboJ5ajZt3hrvJBW8qY\nVoNzcOSGGtIxQbovvi0TWnZvTuhOgQ4/WwMioBK+ZlgRSssDxLQqKi2WF+A5VLxI\n03YnnZotBqbJ7DnSq9ufmgsnAjUpsUCV5/nonFWIGUbWtzT1fs45mtk48VH3Tyw=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIF0jCCA7qgAwIBAgIQIdbQSk8lD8kyN/yqXhKN6TANBgkqhkiG9w0BAQ0FADCB\ngDELMAkGA1UEBhMCUEwxIjAgBgNVBAoTGVVuaXpldG8gVGVjaG5vbG9naWVzIFMu\nQS4xJzAlBgNVBAsTHkNlcnR1bSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTEkMCIG\nA1UEAxMbQ2VydHVtIFRydXN0ZWQgTmV0d29yayBDQSAyMCIYDzIwMTExMDA2MDgz\nOTU2WhgPMjA0NjEwMDYwODM5NTZaMIGAMQswCQYDVQQGEwJQTDEiMCAGA1UEChMZ\nVW5pemV0byBUZWNobm9sb2dpZXMgUy5BLjEnMCUGA1UECxMeQ2VydHVtIENlcnRp\nZmljYXRpb24gQXV0aG9yaXR5MSQwIgYDVQQDExtDZXJ0dW0gVHJ1c3RlZCBOZXR3\nb3JrIENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC9+Xj45tWA\nDGSdhhuWZGc/IjoedQF97/tcZ4zJzFxrqZHmuULlIEub2pt7uZld2ZuAS9eEQCsn\n0+i6MLs+CRqnSZXvK0AkwpfHp+6bJe+oCgCXhVqqndwpyeI1B+twTUrWwbNWuKFB\nOJvR+zF/j+Bf4bE/D44WSWDXBo0Y+aomEKsq09DRZ40bRr5HMNUuctHFY9rnY3lE\nfktjJImGLjQ/KUxSiyqnwOKRKIm5wFv5HdnnJ63/mgKXwcZQkpsCLL2puTRZCr+E\nSv/f/rOf69me4Jgj7KZrdxYq28ytOxykh9xGc14ZYmhFV+SQgkK7QtbwYeDBoz1m\no130GO6IyY0XRSmZMnUCMe4pJshrAua1YkV/NxVaI2iJ1D7eTiew8EAMvE0Xy02i\nsx7QBlrd9pPPV3WZ9fqGGmd4s7+W/jTcvedSVuWz5XV710GRBdxdaeOVDUO5/IOW\nOZV7bIBaTxNyxtd9KXpEulKkKtVBRgkg/iKgtlswjbyJDNXXcPiHUv3a76xRLgez\nTv7QCdpw75j6VuZt27VXS9zlLCUVyJ4ueE742pyehizKV/Ma5ciSixqClnrDvFAS\nadgOWkaLOusm+iPJtrCBvkIApPjW/jAux9JG9uWOdf3yzLnQh1vMBhBgu4M1t15n\n3kfsmUjxpKEV/q2MYo45VU85FrmxY53/twIDAQABo0IwQDAPBgNVHRMBAf8EBTAD\nAQH/MB0GA1UdDgQWBBS2oVQ5AsOgP46KvPrU+Bym0ToO/TAOBgNVHQ8BAf8EBAMC\nAQYwDQYJKoZIhvcNAQENBQADggIBAHGlDs7k6b8/ONWJWsQCYftMxRQXLYtPU2sQ\nF/xlhMcQSZDe28cmk4gmb3DWAl45oPePq5a1pRNcgRRtDoGCERuKTsZPpd1iHkTf\nCVn0W3cLN+mLIMb4Ck4uWBzrM9DPhmDJ2vuAL55MYIR4PSFk1vtBHxgP58l1cb29\nXN40hz5BsA72udY/CROWFC/emh1auVbONTqwX3BNXuMp8SMoclm2q8KMZiYcdywm\ndjWLKKdpoPk79SPdhRB0yZADVpHnr7pH1BKXESLjokmUbOe3lEu6LaTaM4tMpkT/\nWjzGHWTYtTHkpjx6qFcL2+1hGsvxznN3Y6SHb0xRONbkX8eftoEq5IVIeVheO/jb\nAoJnwTnbw3RLPTYe+SmTiGhbqEQZIfCn6IENLOiTNrQ3ssqwGyZ6miUfmpqAnksq\nP/ujmv5zMnHCnsZy4YpoJ/HkD7TETKVhk/iXEAcqMCWpuchxuO9ozC1+9eB+D4Ko\nb7a6bINDd82Kkhehnlt4Fj1F4jNy3eFmypnTycUm/Q1oBEauttmbjL4ZvrHG8hnj\nXALKLNhvSgfZyTXaQHXyxKcZb55CEJh15pWLYLztxRLXis7VmFxWlgPF7ncGNf/P\n5O4/E2Hu29othfDNrp2yGAlFw5Khchf8R7agCyzxxN5DaAhqXzvwdmP7zAYspsbi\nDrW5viSP\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFwDCCA6igAwIBAgIQHr9ZULjJgDdMBvfrVU+17TANBgkqhkiG9w0BAQ0FADB6\nMQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEu\nMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxHzAdBgNV\nBAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0EwHhcNMTgwMzE2MTIxMDEzWhcNNDMw\nMzE2MTIxMDEzWjB6MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERhdGEg\nU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRo\nb3JpdHkxHzAdBgNVBAMTFkNlcnR1bSBUcnVzdGVkIFJvb3QgQ0EwggIiMA0GCSqG\nSIb3DQEBAQUAA4ICDwAwggIKAoICAQDRLY67tzbqbTeRn06TpwXkKQMlzhyC93yZ\nn0EGze2jusDbCSzBfN8pfktlL5On1AFrAygYo9idBcEq2EXxkd7fO9CAAozPOA/q\np1x4EaTByIVcJdPTsuclzxFUl6s1wB52HO8AU5853BSlLCIls3Jy/I2z5T4IHhQq\nNwuIPMqw9MjCoa68wb4pZ1Xi/K1ZXP69VyywkI3C7Te2fJmItdUDmj0VDT06qKhF\n8JVOJVkdzZhpu9PMMsmN74H+rX2Ju7pgE8pllWeg8xn2A1bUatMn4qGtg/BKEiJ3\nHAVz4hlxQsDsdUaakFjgao4rpUYwBI4Zshfjvqm6f1bxJAPXsiEodg42MEx51UGa\nmqi4NboMOvJEGyCI98Ul1z3G4z5D3Yf+xOr1Uz5MZf87Sst4WmsXXw3Hw09Omiqi\n7VdNIuJGmj8PkTQkfVXjjJU30xrwCSss0smNtA0Aq2cpKNgB9RkEth2+dv5yXMSF\nytKAQd8FqKPVhJBPC/PgP5sZ0jeJP/J7UhyM9uH3PAeXjA6iWYEMspA90+NZRu0P\nqafegGtaqge2Gcu8V/OXIXoMsSt0Puvap2ctTMSYnjYJdmZm/Bo/6khUHL4wvYBQ\nv3y1zgD2DGHZ5yQD4OMBgQ692IU0iL2yNqh7XAjlRICMb/gv1SHKHRzQ+8S1h9E6\nTsd2tTVItQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSM+xx1\nvALTn04uSNn5YFSqxLNP+jAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQENBQAD\nggIBAEii1QALLtA/vBzVtVRJHlpr9OTy4EA34MwUe7nJ+jW1dReTagVphZzNTxl4\nWxmB82M+w85bj/UvXgF2Ez8sALnNllI5SW0ETsXpD4YN4fqzX4IS8TrOZgYkNCvo\nzMrnadyHncI013nR03e4qllY/p0m+jiGPp2Kh2RX5Rc64vmNueMzeMGQ2Ljdt4NR\n5MTMI9UGfOZR0800McD2RrsLrfw9EAUqO0qRJe6M1ISHgCq8CYyqOhNf6DR5UMEQ\nGfnTKB7U0VEwKbOukGfWHwpjscWpxkIxYxeU72nLL/qMFH3EQxiJ2fAyQOaA4kZf\n5ePBAFmo+eggvIksDkc0C+pXwlM2/KfUrzHN/gLldfq5Jwn58/U7yn2fqSLLiMmq\n0Uc9NneoWWRrJ8/vJ8HjJLWG965+Mk2weWjROeiQWMODvA8s1pfrzgzhIMfatz7D\nP78v3DSk+yshzWePS/Tj6tQ/50+6uaWTRRxmHyH6ZF5v4HaUMst19W7l9o/HuKTM\nqJZ9ZPskWkoDbGs4xugDQ5r3V7mzKWmTOPQD8rv7gmsHINFSH5pkAnuYZttcTVoP\n0ISVoDwUQwbKytu4QTbaakRnh6+v40URFWkIsr4WOZckbxJF0WddCajJFdr60qZf\nE2Efv4WstK2tBZQIgx51F9NxO5NQI1mg7TyRVJ12AMXDuDjb\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIGFDCCA/ygAwIBAgIIG3Dp0v+ubHEwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UE\nBhMCRVMxQjBABgNVBAMMOUF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uIEZpcm1h\ncHJvZmVzaW9uYWwgQ0lGIEE2MjYzNDA2ODAeFw0xNDA5MjMxNTIyMDdaFw0zNjA1\nMDUxNTIyMDdaMFExCzAJBgNVBAYTAkVTMUIwQAYDVQQDDDlBdXRvcmlkYWQgZGUg\nQ2VydGlmaWNhY2lvbiBGaXJtYXByb2Zlc2lvbmFsIENJRiBBNjI2MzQwNjgwggIi\nMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKlmuO6vj78aI14H9M2uDDUtd9\nthDIAl6zQyrET2qyyhxdKJp4ERppWVevtSBC5IsP5t9bpgOSL/UR5GLXMnE42QQM\ncas9UX4PB99jBVzpv5RvwSmCwLTaUbDBPLutN0pcyvFLNg4kq7/DhHf9qFD0sefG\nL9ItWY16Ck6WaVICqjaY7Pz6FIMMNx/Jkjd/14Et5cS54D40/mf0PmbR0/RAz15i\nNA9wBj4gGFrO93IbJWyTdBSTo3OxDqqHECNZXyAFGUftaI6SEspd/NYrspI8IM/h\nX68gvqB2f3bl7BqGYTM+53u0P6APjqK5am+5hyZvQWyIplD9amML9ZMWGxmPsu2b\nm8mQ9QEM3xk9Dz44I8kvjwzRAv4bVdZO0I08r0+k8/6vKtMFnXkIoctXMbScyJCy\nZ/QYFpM6/EfY0XiWMR+6KwxfXZmtY4laJCB22N/9q06mIqqdXuYnin1oKaPnirja\nEbsXLZmdEyRG98Xi2J+Of8ePdG1asuhy9azuJBCtLxTa/y2aRnFHvkLfuwHb9H/T\nKI8xWVvTyQKmtFLKbpf7Q8UIJm+K9Lv9nyiqDdVF8xM6HdjAeI9BZzwelGSuewvF\n6NkBiDkal4ZkQdU7hwxu+g/GvUgUvzlN1J5Bto+WHWOWk9mVBngxaJ43BjuAiUVh\nOSPHG0SjFeUc+JIwuwIDAQABo4HvMIHsMB0GA1UdDgQWBBRlzeurNR4APn7VdMAc\ntHNHDhpkLzASBgNVHRMBAf8ECDAGAQH/AgEBMIGmBgNVHSAEgZ4wgZswgZgGBFUd\nIAAwgY8wLwYIKwYBBQUHAgEWI2h0dHA6Ly93d3cuZmlybWFwcm9mZXNpb25hbC5j\nb20vY3BzMFwGCCsGAQUFBwICMFAeTgBQAGEAcwBlAG8AIABkAGUAIABsAGEAIABC\nAG8AbgBhAG4AbwB2AGEAIAA0ADcAIABCAGEAcgBjAGUAbABvAG4AYQAgADAAOAAw\nADEANzAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggIBAHSHKAIrdx9m\niWTtj3QuRhy7qPj4Cx2Dtjqn6EWKB7fgPiDL4QjbEwj4KKE1soCzC1HA01aajTNF\nSa9J8OA9B3pFE1r/yJfY0xgsfZb43aJlQ3CTkBW6kN/oGbDbLIpgD7dvlAceHabJ\nhfa9NPhAeGIQcDq+fUs5gakQ1JZBu/hfHAsdCPKxsIl68veg4MSPi3i1O1ilI45P\nVf42O+AMt8oqMEEgtIDNrvx2ZnOorm7hfNoD6JQg5iKj0B+QXSBTFCZX2lSX3xZE\nEAEeiGaPcjiT3SC3NL7X8e5jjkd5KAb881lFJWAiMxujX6i6KtoaPc1A6ozuBRWV\n1aUsIC+nmCjuRfzxuIgALI9C2lHVnOUTaHFFQ4ueCyE8S1wF3BqfmI7avSKecs2t\nCsvMo2ebKHTEm9caPARYpoKdrcd7b/+Alun4jWq9GJAd/0kakFI3ky88Al2CdgtR\n5xbHV/g4+afNmyJU72OwFW1TZQNKXkqgsqeOSQBZONXH9IBk9W6VULgRfhVwOEqw\nf9DEMnDAGf/JOC0ULGb0QkTmVXYbgBVX/8Cnp6o5qtjTcNAuuuuUavpfNIbnYrX9\nivAwhZTJryQCL2/W3Wf+47BVTwSYT6RBVuKT0Gro1vP7ZeDOdcQxWQzugsgMYDNK\nGbqEZycPvEJdvSRUDewdcAZfpLz6IHxV\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICejCCAgCgAwIBAgIQMZch7a+JQn81QYehZ1ZMbTAKBggqhkjOPQQDAzBuMQsw\nCQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UE\nYQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENB\nIFJPT1QtQSBXRUIwHhcNMjIwNDA2MDkwMTM2WhcNNDcwMzMxMDkwMTM2WjBuMQsw\nCQYDVQQGEwJFUzEcMBoGA1UECgwTRmlybWFwcm9mZXNpb25hbCBTQTEYMBYGA1UE\nYQwPVkFURVMtQTYyNjM0MDY4MScwJQYDVQQDDB5GSVJNQVBST0ZFU0lPTkFMIENB\nIFJPT1QtQSBXRUIwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAARHU+osEaR3xyrq89Zf\ne9MEkVz6iMYiuYMQYneEMy3pA4jU4DP37XcsSmDq5G+tbbT4TIqk5B/K6k84Si6C\ncyvHZpsKjECcfIr28jlgst7L7Ljkb+qbXbdTkBgyVcUgt5SjYzBhMA8GA1UdEwEB\n/wQFMAMBAf8wHwYDVR0jBBgwFoAUk+FDY1w8ndYn81LsF7Kpryz3dvgwHQYDVR0O\nBBYEFJPhQ2NcPJ3WJ/NS7Beyqa8s93b4MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjO\nPQQDAwNoADBlAjAdfKR7w4l1M+E7qUW/Runpod3JIha3RxEL2Jq68cgLcFBTApFw\nhVmpHqTm6iMxoAACMQD94vizrxa5HnPEluPBMBnYfubDl94cT7iJLzPrSA8Z94dG\nXSaQpYXFuXqUPoeovQA=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIF7zCCA9egAwIBAgIIDdPjvGz5a7EwDQYJKoZIhvcNAQELBQAwgYQxEjAQBgNV\nBAUTCUc2MzI4NzUxMDELMAkGA1UEBhMCRVMxJzAlBgNVBAoTHkFORiBBdXRvcmlk\nYWQgZGUgQ2VydGlmaWNhY2lvbjEUMBIGA1UECxMLQU5GIENBIFJhaXoxIjAgBgNV\nBAMTGUFORiBTZWN1cmUgU2VydmVyIFJvb3QgQ0EwHhcNMTkwOTA0MTAwMDM4WhcN\nMzkwODMwMTAwMDM4WjCBhDESMBAGA1UEBRMJRzYzMjg3NTEwMQswCQYDVQQGEwJF\nUzEnMCUGA1UEChMeQU5GIEF1dG9yaWRhZCBkZSBDZXJ0aWZpY2FjaW9uMRQwEgYD\nVQQLEwtBTkYgQ0EgUmFpejEiMCAGA1UEAxMZQU5GIFNlY3VyZSBTZXJ2ZXIgUm9v\ndCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANvrayvmZFSVgpCj\ncqQZAZ2cC4Ffc0m6p6zzBE57lgvsEeBbphzOG9INgxwruJ4dfkUyYA8H6XdYfp9q\nyGFOtibBTI3/TO80sh9l2Ll49a2pcbnvT1gdpd50IJeh7WhM3pIXS7yr/2WanvtH\n2Vdy8wmhrnZEE26cLUQ5vPnHO6RYPUG9tMJJo8gN0pcvB2VSAKduyK9o7PQUlrZX\nH1bDOZ8rbeTzPvY1ZNoMHKGESy9LS+IsJJ1tk0DrtSOOMspvRdOoiXsezx76W0OL\nzc2oD2rKDF65nkeP8Nm2CgtYZRczuSPkdxl9y0oukntPLxB3sY0vaJxizOBQ+OyR\np1RMVwnVdmPF6GUe7m1qzwmd+nxPrWAI/VaZDxUse6mAq4xhj0oHdkLePfTdsiQz\nW7i1o0TJrH93PB0j7IKppuLIBkwC/qxcmZkLLxCKpvR/1Yd0DVlJRfbwcVw5Kda/\nSiOL9V8BY9KHcyi1Swr1+KuCLH5zJTIdC2MKF4EA/7Z2Xue0sUDKIbvVgFHlSFJn\nLNJhiQcND85Cd8BEc5xEUKDbEAotlRyBr+Qc5RQe8TZBAQIvfXOn3kLMTOmJDVb3\nn5HUA8ZsyY/b2BzgQJhdZpmYgG4t/wHFzstGH6wCxkPmrqKEPMVOHj1tyRRM4y5B\nu8o5vzY8KhmqQYdOpc5LMnndkEl/AgMBAAGjYzBhMB8GA1UdIwQYMBaAFJxf0Gxj\no1+TypOYCK2Mh6UsXME3MB0GA1UdDgQWBBScX9BsY6Nfk8qTmAitjIelLFzBNzAO\nBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC\nAgEATh65isagmD9uw2nAalxJUqzLK114OMHVVISfk/CHGT0sZonrDUL8zPB1hT+L\n9IBdeeUXZ701guLyPI59WzbLWoAAKfLOKyzxj6ptBZNscsdW699QIyjlRRA96Gej\nrw5VD5AJYu9LWaL2U/HANeQvwSS9eS9OICI7/RogsKQOLHDtdD+4E5UGUcjohybK\npFtqFiGS3XNgnhAY3jyB6ugYw3yJ8otQPr0R4hUDqDZ9MwFsSBXXiJCZBMXM5gf0\nvPSQ7RPi6ovDj6MzD8EpTBNO2hVWcXNyglD2mjN8orGoGjR0ZVzO0eurU+AagNjq\nOknkJjCb5RyKqKkVMoaZkgoQI1YS4PbOTOK7vtuNknMBZi9iPrJyJ0U27U1W45eZ\n/zo1PqVUSlJZS2Db7v54EX9K3BR5YLZrZAPbFYPhor72I5dQ8AkzNqdxliXzuUJ9\n2zg/LFis6ELhDtjTO0wugumDLmsx2d1Hhk9tl5EuT+IocTUW0fJz/iUrB0ckYyfI\n+PbZa/wSMVYIwFNCr5zQM378BvAxRAMU8Vjq8moNqRGyg77FGr8H6lnco4g175x2\nMjxNBiLOFeXdntiP2t7SxDnlF4HPOEfrf4htWRvfn0IUrn7PqLBmZdo3r5+qPeoo\ntt7VMVgWglvquxl1AnMaykgaIZOQCo6ThKd9OyMYkomgjaw=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFdDCCA1ygAwIBAgIQVW9l47TZkGobCdFsPsBsIDANBgkqhkiG9w0BAQsFADBU\nMQswCQYDVQQGEwJDTjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRI\nT1JJVFkxHTAbBgNVBAMMFEJKQ0EgR2xvYmFsIFJvb3QgQ0ExMB4XDTE5MTIxOTAz\nMTYxN1oXDTQ0MTIxMjAzMTYxN1owVDELMAkGA1UEBhMCQ04xJjAkBgNVBAoMHUJF\nSUpJTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQDDBRCSkNBIEdsb2Jh\nbCBSb290IENBMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAPFmCL3Z\nxRVhy4QEQaVpN3cdwbB7+sN3SJATcmTRuHyQNZ0YeYjjlwE8R4HyDqKYDZ4/N+AZ\nspDyRhySsTphzvq3Rp4Dhtczbu33RYx2N95ulpH3134rhxfVizXuhJFyV9xgw8O5\n58dnJCNPYwpj9mZ9S1WnP3hkSWkSl+BMDdMJoDIwOvqfwPKcxRIqLhy1BDPapDgR\nat7GGPZHOiJBhyL8xIkoVNiMpTAK+BcWyqw3/XmnkRd4OJmtWO2y3syJfQOcs4ll\n5+M7sSKGjwZteAf9kRJ/sGsciQ35uMt0WwfCyPQ10WRjeulumijWML3mG90Vr4Tq\nnMfK9Q7q8l0ph49pczm+LiRvRSGsxdRpJQaDrXpIhRMsDQa4bHlW/KNnMoH1V6XK\nV0Jp6VwkYe/iMBhORJhVb3rCk9gZtt58R4oRTklH2yiUAguUSiz5EtBP6DF+bHq/\npj+bOT0CFqMYs2esWz8sgytnOYFcuX6U1WTdno9uruh8W7TXakdI136z1C2OVnZO\nz2nxbkRs1CTqjSShGL+9V/6pmTW12xB3uD1IutbB5/EjPtffhZ0nPNRAvQoMvfXn\njSXWgXSHRtQpdaJCbPdzied9v3pKH9MiyRVVz99vfFXQpIsHETdfg6YmV6YBW37+\nWGgHqel62bno/1Afq8K0wM7o6v0PvY1NuLxxAgMBAAGjQjBAMB0GA1UdDgQWBBTF\n7+3M2I0hxkjk49cULqcWk+WYATAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQE\nAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAUoKsITQfI/Ki2Pm4rzc2IInRNwPWaZ+4\nYRC6ojGYWUfo0Q0lHhVBDOAqVdVXUsv45Mdpox1NcQJeXyFFYEhcCY5JEMEE3Kli\nawLwQ8hOnThJdMkycFRtwUf8jrQ2ntScvd0g1lPJGKm1Vrl2i5VnZu69mP6u775u\n+2D2/VnGKhs/I0qUJDAnyIm860Qkmss9vk/Ves6OF8tiwdneHg56/0OGNFK8YT88\nX7vZdrRTvJez/opMEi4r89fO4aL/3Xtw+zuhTaRjAv04l5U/BXCga99igUOLtFkN\nSoxUnMW7gZ/NfaXvCyUeOiDbHPwfmGcCCtRzRBPbUYQaVQNW4AB+dAb/OMRyHdOo\nP2gxXdMJxy6MW2Pg6Nwe0uxhHvLe5e/2mXZgLR6UcnHGCyoyx5JO1UbXHfmpGQrI\n+pXObSOYqgs4rZpWDW+N8TEAiMEXnM0ZNjX+VVOg4DwzX5Ze4jLp3zO7Bkqp2IRz\nznfSxqxx4VyjHQy7Ct9f4qNx2No3WqB4K/TUfet27fJhcKVlmtOJNBir+3I+17Q9\neVzYH6Eze9mCUAyTF6ps3MKCuwJXNq+YJyo5UOGwifUll35HaBC07HPKs5fRJNz2\nYqAo07WjuGS3iGJCz51TzZm+ZGiPTx4SSPfSKcOYKMryMguTjClPPGAyzQWWYezy\nr/6zcCwupvI=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICJTCCAaugAwIBAgIQLBcIfWQqwP6FGFkGz7RK6zAKBggqhkjOPQQDAzBUMQsw\nCQYDVQQGEwJDTjEmMCQGA1UECgwdQkVJSklORyBDRVJUSUZJQ0FURSBBVVRIT1JJ\nVFkxHTAbBgNVBAMMFEJKQ0EgR2xvYmFsIFJvb3QgQ0EyMB4XDTE5MTIxOTAzMTgy\nMVoXDTQ0MTIxMjAzMTgyMVowVDELMAkGA1UEBhMCQ04xJjAkBgNVBAoMHUJFSUpJ\nTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZMR0wGwYDVQQDDBRCSkNBIEdsb2JhbCBS\nb290IENBMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABJ3LgJGNU2e1uVCxA/jlSR9B\nIgmwUVJY1is0j8USRhTFiy8shP8sbqjV8QnjAyEUxEM9fMEsxEtqSs3ph+B99iK+\n+kpRuDCK/eHeGBIK9ke35xe/J4rUQUyWPGCWwf0VHKNCMEAwHQYDVR0OBBYEFNJK\nsVF/BvDRgh9Obl+rg/xI1LCRMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD\nAgEGMAoGCCqGSM49BAMDA2gAMGUCMBq8W9f+qdJUDkpd0m2xQNz0Q9XSSpkZElaA\n94M04TVOSG0ED1cxMDAtsaqdAzjbBgIxAMvMh1PLet8gUXOQwKhbYdDFUDn9hf7B\n43j4ptZLvZuHjw/l1lOWqzzIQNph91Oj9w==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd\nMBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg\nQ2xhc3MgMiBSb290IENBMB4XDTEwMTAyNjA4MzgwM1oXDTQwMTAyNjA4MzgwM1ow\nTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw\nHgYDVQQDDBdCdXlwYXNzIENsYXNzIDIgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB\nBQADggIPADCCAgoCggIBANfHXvfBB9R3+0Mh9PT1aeTuMgHbo4Yf5FkNuud1g1Lr\n6hxhFUi7HQfKjK6w3Jad6sNgkoaCKHOcVgb/S2TwDCo3SbXlzwx87vFKu3MwZfPV\nL4O2fuPn9Z6rYPnT8Z2SdIrkHJasW4DptfQxh6NR/Md+oW+OU3fUl8FVM5I+GC91\n1K2GScuVr1QGbNgGE41b/+EmGVnAJLqBcXmQRFBoJJRfuLMR8SlBYaNByyM21cHx\nMlAQTn/0hpPshNOOvEu/XAFOBz3cFIqUCqTqc/sLUegTBxj6DvEr0VQVfTzh97QZ\nQmdiXnfgolXsttlpF9U6r0TtSsWe5HonfOV116rLJeffawrbD02TTqigzXsu8lkB\narcNuAeBfos4GzjmCleZPe4h6KP1DBbdi+w0jpwqHAAVF41og9JwnxgIzRFo1clr\nUs3ERo/ctfPYV3Me6ZQ5BL/T3jjetFPsaRyifsSP5BtwrfKi+fv3FmRmaZ9JUaLi\nFRhnBkp/1Wy1TbMz4GHrXb7pmA8y1x1LPC5aAVKRCfLf6o3YBkBjqhHk/sM3nhRS\nP/TizPJhk9H9Z2vXUq6/aKtAQ6BXNVN48FP4YUIHZMbXb5tMOA1jrGKvNouicwoN\n9SG9dKpN6nIDSdvHXx1iY8f93ZHsM+71bbRuMGjeyNYmsHVee7QHIJihdjK4TWxP\nAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMmAd+BikoL1Rpzz\nuvdMw964o605MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAU18h\n9bqwOlI5LJKwbADJ784g7wbylp7ppHR/ehb8t/W2+xUbP6umwHJdELFx7rxP462s\nA20ucS6vxOOto70MEae0/0qyexAQH6dXQbLArvQsWdZHEIjzIVEpMMpghq9Gqx3t\nOluwlN5E40EIosHsHdb9T7bWR9AUC8rmyrV7d35BH16Dx7aMOZawP5aBQW9gkOLo\n+fsicdl9sz1Gv7SEr5AcD48Saq/v7h56rgJKihcrdv6sVIkkLE8/trKnToyokZf7\nKcZ7XC25y2a2t6hbElGFtQl+Ynhw/qlqYLYdDnkM/crqJIByw5c/8nerQyIKx+u2\nDISCLIBrQYoIwOula9+ZEsuK1V6ADJHgJgg2SMX6OBE1/yWDLfJ6v9r9jv6ly0Us\nH8SIU653DtmadsWOLB2jutXsMq7Aqqz30XpN69QH4kj3Io6wpJ9qzo6ysmD0oyLQ\nI+uUWnpp3Q+/QFesa1lQ2aOZ4W7+jQF5JyMV3pKdewlNWudLSDBaGOYKbeaP4NK7\n5t98biGCwWg5TbSYWGZizEqQXsP6JwSxeRV0mcy+rSDeJmAc61ZRpqPq5KM/p/9h\n3PFaTWwyI0PurKju7koSCTxdccK+efrCh2gdC/1cacwG0Jp9VJkqyTkaGa9LKkPz\nY11aWOIv4x3kqdbQCtCev9eBCfHJxyYNrJgWVqA=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFWTCCA0GgAwIBAgIBAjANBgkqhkiG9w0BAQsFADBOMQswCQYDVQQGEwJOTzEd\nMBsGA1UECgwUQnV5cGFzcyBBUy05ODMxNjMzMjcxIDAeBgNVBAMMF0J1eXBhc3Mg\nQ2xhc3MgMyBSb290IENBMB4XDTEwMTAyNjA4Mjg1OFoXDTQwMTAyNjA4Mjg1OFow\nTjELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSAw\nHgYDVQQDDBdCdXlwYXNzIENsYXNzIDMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEB\nBQADggIPADCCAgoCggIBAKXaCpUWUOOV8l6ddjEGMnqb8RB2uACatVI2zSRHsJ8Y\nZLya9vrVediQYkwiL944PdbgqOkcLNt4EemOaFEVcsfzM4fkoF0LXOBXByow9c3E\nN3coTRiR5r/VUv1xLXA+58bEiuPwKAv0dpihi4dVsjoT/Lc+JzeOIuOoTyrvYLs9\ntznDDgFHmV0ST9tD+leh7fmdvhFHJlsTmKtdFoqwNxxXnUX/iJY2v7vKB3tvh2PX\n0DJq1l1sDPGzbjniazEuOQAnFN44wOwZZoYS6J1yFhNkUsepNxz9gjDthBgd9K5c\n/3ATAOux9TN6S9ZV+AWNS2mw9bMoNlwUxFFzTWsL8TQH2xc519woe2v1n/MuwU8X\nKhDzzMro6/1rqy6any2CbgTUUgGTLT2G/H783+9CHaZr77kgxve9oKeV/afmiSTY\nzIw0bOIjL9kSGiG5VZFvC5F5GQytQIgLcOJ60g7YaEi7ghM5EFjp2CoHxhLbWNvS\nO1UQRwUVZ2J+GGOmRj8JDlQyXr8NYnon74Do29lLBlo3WiXQCBJ31G8JUJc9yB3D\n34xFMFbG02SrZvPAXpacw8Tvw3xrizp5f7NJzz3iiZ+gMEuFuZyUJHmPfWupRWgP\nK9Dx2hzLabjKSWJtyNBjYt1gD1iqj6G8BaVmos8bdrKEZLFMOVLAMLrwjEsCsLa3\nAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFEe4zf/lb+74suwv\nTg75JbCOPGvDMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAACAj\nQTUEkMJAYmDv4jVM1z+s4jSQuKFvdvoWFqRINyzpkMLyPPgKn9iB5btb2iUspKdV\ncSQy9sgL8rxq+JOssgfCX5/bzMiKqr5qb+FJEMwx14C7u8jYog5kV+qi9cKpMRXS\nIGrs/CIBKM+GuIAeqcwRpTzyFrNHnfzSgCHEy9BHcEGhyoMZCCxt8l13nIoUE9Q2\nHJLw5QY33KbmkJs4j1xrG0aGQ0JfPgEHU1RdZX33inOhmlRaHylDFCfChQ+1iHsa\nO5S3HWCntZznKWlXWpuTekMwGwPXYshApqr8ZORK15FTAaggiG6cX0S5y2CBNOxv\n033aSF/rtJC8LakcC6wc1aJoIIAE1vyxjy+7SjENSoYc6+I2KSb12tjE8nVhz36u\ndmNKekBlk4f4HoCMhuWG1o8O/FMsYOgWYRqiPkN7zTlgVGr18okmAWiDSKIz6MkE\nkbIRNBE+6tBDGR8Dk5AM/1E9V/RBbuHLoL7ryWPNbczk+DaqaJ3tvV2XcEQNtg41\n3OEMXbugUZTLfhbrES+jkkXITHHZvMmZUldGL1DPvTVp9D0VzgalLA8+9oG6lLvD\nu79leNKGef9JOxqDDPDeeOzI8k1MGt6CKfjBWtrt7uYnXuhF0J0cUahoq0Tj0Itq\n4/g7u9xN12TyUb7mqqta6THuBrxzvxNiCp/HuZc=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIB9zCCAX2gAwIBAgIQBiUzsUcDMydc+Y2aub/M+DAKBggqhkjOPQQDAzA9MQsw\nCQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0YWlu\nbHkgUm9vdCBFMTAeFw0yMTA0MDEwMDAwMDBaFw00NjA0MDEwMDAwMDBaMD0xCzAJ\nBgNVBAYTAlVTMRIwEAYDVQQKEwlDZXJ0YWlubHkxGjAYBgNVBAMTEUNlcnRhaW5s\neSBSb290IEUxMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE3m/4fxzf7flHh4axpMCK\n+IKXgOqPyEpeKn2IaKcBYhSRJHpcnqMXfYqGITQYUBsQ3tA3SybHGWCA6TS9YBk2\nQNYphwk8kXr2vBMj3VlOBF7PyAIcGFPBMdjaIOlEjeR2o0IwQDAOBgNVHQ8BAf8E\nBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU8ygYy2R17ikq6+2uI1g4\nhevIIgcwCgYIKoZIzj0EAwMDaAAwZQIxALGOWiDDshliTd6wT99u0nCK8Z9+aozm\nut6Dacpps6kFtZaSF4fC0urQe87YQVt8rgIwRt7qy12a7DLCZRawTDBcMPPaTnOG\nBtjOiQRINzf43TNRnXCve1XYAS59BWQOhriR\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFRzCCAy+gAwIBAgIRAI4P+UuQcWhlM1T01EQ5t+AwDQYJKoZIhvcNAQELBQAw\nPTELMAkGA1UEBhMCVVMxEjAQBgNVBAoTCUNlcnRhaW5seTEaMBgGA1UEAxMRQ2Vy\ndGFpbmx5IFJvb3QgUjEwHhcNMjEwNDAxMDAwMDAwWhcNNDYwNDAxMDAwMDAwWjA9\nMQswCQYDVQQGEwJVUzESMBAGA1UEChMJQ2VydGFpbmx5MRowGAYDVQQDExFDZXJ0\nYWlubHkgUm9vdCBSMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANA2\n1B/q3avk0bbm+yLA3RMNansiExyXPGhjZjKcA7WNpIGD2ngwEc/csiu+kr+O5MQT\nvqRoTNoCaBZ0vrLdBORrKt03H2As2/X3oXyVtwxwhi7xOu9S98zTm/mLvg7fMbed\naFySpvXl8wo0tf97ouSHocavFwDvA5HtqRxOcT3Si2yJ9HiG5mpJoM610rCrm/b0\n1C7jcvk2xusVtyWMOvwlDbMicyF0yEqWYZL1LwsYpfSt4u5BvQF5+paMjRcCMLT5\nr3gajLQ2EBAHBXDQ9DGQilHFhiZ5shGIXsXwClTNSaa/ApzSRKft43jvRl5tcdF5\ncBxGX1HpyTfcX35pe0HfNEXgO4T0oYoKNp43zGJS4YkNKPl6I7ENPT2a/Z2B7yyQ\nwHtETrtJ4A5KVpK8y7XdeReJkd5hiXSSqOMyhb5OhaRLWcsrxXiOcVTQAjeZjOVJ\n6uBUcqQRBi8LjMFbvrWhsFNunLhgkR9Za/kt9JQKl7XsxXYDVBtlUrpMklZRNaBA\n2CnbrlJ2Oy0wQJuK0EJWtLeIAaSHO1OWzaMWj/Nmqhexx2DgwUMFDO6bW2BvBlyH\nWyf5QBGenDPBt+U1VwV/J84XIIwc/PH72jEpSe31C4SnT8H2TsIonPru4K8H+zMR\neiFPCyEQtkA6qyI6BJyLm4SGcprSp6XEtHWRqSsjAgMBAAGjQjBAMA4GA1UdDwEB\n/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTgqj8ljZ9EXME66C6u\nd0yEPmcM9DANBgkqhkiG9w0BAQsFAAOCAgEAuVevuBLaV4OPaAszHQNTVfSVcOQr\nPbA56/qJYv331hgELyE03fFo8NWWWt7CgKPBjcZq91l3rhVkz1t5BXdm6ozTaw3d\n8VkswTOlMIAVRQdFGjEitpIAq5lNOo93r6kiyi9jyhXWx8bwPWz8HA2YEGGeEaIi\n1wrykXprOQ4vMMM2SZ/g6Q8CRFA3lFV96p/2O7qUpUzpvD5RtOjKkjZUbVwlKNrd\nrRT90+7iIgXr0PK3aBLXWopBGsaSpVo7Y0VPv+E6dyIvXL9G+VoDhRNCX8reU9di\ntaY1BMJH/5n9hN9czulegChB8n3nHpDYT3Y+gjwN/KUD+nsa2UUeYNrEjvn8K8l7\nlcUq/6qJ34IxD3L/DCfXCh5WAFAeDJDBlrXYFIW7pw0WwfgHJBu6haEaBQmAupVj\nyTrsJZ9/nbqkRxWbRHDxakvWOF5D8xh+UG7pWijmZeZ3Gzr9Hb4DJqPb1OG7fpYn\nKx3upPvaJVQTA945xsMfTZDsjxtK0hzthZU4UHlG1sGQUDGpXJpuHfUzVounmdLy\nyCwzk5Iwx06MZTMQZBf9JBeW0Y3COmor6xOLRPIh80oat3df1+2IpHLlOR+Vnb5n\nwXARPbv0+Em34yaXOp/SX3z7wJl8OSngex2/DaeP0ik0biQVy96QXr8axGbqwua6\nOV+KmalBWQewLK8=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDqDCCApCgAwIBAgIJAP7c4wEPyUj/MA0GCSqGSIb3DQEBBQUAMDQxCzAJBgNV\nBAYTAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hMB4X\nDTA3MDYyOTE1MTMwNVoXDTI3MDYyOTE1MTMwNVowNDELMAkGA1UEBhMCRlIxEjAQ\nBgNVBAoMCURoaW15b3RpczERMA8GA1UEAwwIQ2VydGlnbmEwggEiMA0GCSqGSIb3\nDQEBAQUAA4IBDwAwggEKAoIBAQDIaPHJ1tazNHUmgh7stL7qXOEm7RFHYeGifBZ4\nQCHkYJ5ayGPhxLGWkv8YbWkj4Sti993iNi+RB7lIzw7sebYs5zRLcAglozyHGxny\ngQcPOJAZ0xH+hrTy0V4eHpbNgGzOOzGTtvKg0KmVEn2lmsxryIRWijOp5yIVUxbw\nzBfsV1/pogqYCd7jX5xv3EjjhQsVWqa6n6xI4wmy9/Qy3l40vhx4XUJbzg4ij02Q\n130yGLMLLGq/jj8UEYkgDncUtT2UCIf3JR7VsmAA7G8qKCVuKj4YYxclPz5EIBb2\nJsglrgVKtOdjLPOMFlN+XPsRGgjBRmKfIrjxwo1p3Po6WAbfAgMBAAGjgbwwgbkw\nDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUGu3+QTmQtCRZvgHyUtVF9lo53BEw\nZAYDVR0jBF0wW4AUGu3+QTmQtCRZvgHyUtVF9lo53BGhOKQ2MDQxCzAJBgNVBAYT\nAkZSMRIwEAYDVQQKDAlEaGlteW90aXMxETAPBgNVBAMMCENlcnRpZ25hggkA/tzj\nAQ/JSP8wDgYDVR0PAQH/BAQDAgEGMBEGCWCGSAGG+EIBAQQEAwIABzANBgkqhkiG\n9w0BAQUFAAOCAQEAhQMeknH2Qq/ho2Ge6/PAD/Kl1NqV5ta+aDY9fm4fTIrv0Q8h\nbV6lUmPOEvjvKtpv6zf+EwLHyzs+ImvaYS5/1HI93TDhHkxAGYwP15zRgzB7mFnc\nfca5DClMoTOi62c6ZYTTluLtdkVwj7Ur3vkj1kluPBS1xp81HlDQwY9qcEQCYsuu\nHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY1gkIl2PlwS6w\nt0QmwCbAr1UwnjvVNioZBPRcHv/PLLf/0P2HQBHVESO7SMAhqaQoLf0V+LBOK/Qw\nWyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIGWzCCBEOgAwIBAgIRAMrpG4nxVQMNo+ZBbcTjpuEwDQYJKoZIhvcNAQELBQAw\nWjELMAkGA1UEBhMCRlIxEjAQBgNVBAoMCURoaW15b3RpczEcMBoGA1UECwwTMDAw\nMiA0ODE0NjMwODEwMDAzNjEZMBcGA1UEAwwQQ2VydGlnbmEgUm9vdCBDQTAeFw0x\nMzEwMDEwODMyMjdaFw0zMzEwMDEwODMyMjdaMFoxCzAJBgNVBAYTAkZSMRIwEAYD\nVQQKDAlEaGlteW90aXMxHDAaBgNVBAsMEzAwMDIgNDgxNDYzMDgxMDAwMzYxGTAX\nBgNVBAMMEENlcnRpZ25hIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAw\nggIKAoICAQDNGDllGlmx6mQWDoyUJJV8g9PFOSbcDO8WV43X2KyjQn+Cyu3NW9sO\nty3tRQgXstmzy9YXUnIo245Onoq2C/mehJpNdt4iKVzSs9IGPjA5qXSjklYcoW9M\nCiBtnyN6tMbaLOQdLNyzKNAT8kxOAkmhVECe5uUFoC2EyP+YbNDrihqECB63aCPu\nI9Vwzm1RaRDuoXrC0SIxwoKF0vJVdlB8JXrJhFwLrN1CTivngqIkicuQstDuI7pm\nTLtipPlTWmR7fJj6o0ieD5Wupxj0auwuA0Wv8HT4Ks16XdG+RCYyKfHx9WzMfgIh\nC59vpD++nVPiz32pLHxYGpfhPTc3GGYo0kDFUYqMwy3OU4gkWGQwFsWq4NYKpkDf\nePb1BHxpE4S80dGnBs8B92jAqFe7OmGtBIyT46388NtEbVncSVmurJqZNjBBe3Yz\nIoejwpKGbvlw7q6Hh5UbxHq9MfPU0uWZ/75I7HX1eBYdpnDBfzwboZL7z8g81sWT\nCo/1VTp2lc5ZmIoJlXcymoO6LAQ6l73UL77XbJuiyn1tJslV1c/DeVIICZkHJC1k\nJWumIWmbat10TWuXekG9qxf5kBdIjzb5LdXF2+6qhUVB+s06RbFo5jZMm5BX7CO5\nhwjCxAnxl4YqKE3idMDaxIzb3+KhF1nOJFl0Mdp//TBt2dzhauH8XwIDAQABo4IB\nGjCCARYwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE\nFBiHVuBud+4kNTxOc5of1uHieX4rMB8GA1UdIwQYMBaAFBiHVuBud+4kNTxOc5of\n1uHieX4rMEQGA1UdIAQ9MDswOQYEVR0gADAxMC8GCCsGAQUFBwIBFiNodHRwczov\nL3d3d3cuY2VydGlnbmEuZnIvYXV0b3JpdGVzLzBtBgNVHR8EZjBkMC+gLaArhilo\ndHRwOi8vY3JsLmNlcnRpZ25hLmZyL2NlcnRpZ25hcm9vdGNhLmNybDAxoC+gLYYr\naHR0cDovL2NybC5kaGlteW90aXMuY29tL2NlcnRpZ25hcm9vdGNhLmNybDANBgkq\nhkiG9w0BAQsFAAOCAgEAlLieT/DjlQgi581oQfccVdV8AOItOoldaDgvUSILSo3L\n6btdPrtcPbEo/uRTVRPPoZAbAh1fZkYJMyjhDSSXcNMQH+pkV5a7XdrnxIxPTGRG\nHVyH41neQtGbqH6mid2PHMkwgu07nM3A6RngatgCdTer9zQoKJHyBApPNeNgJgH6\n0BGM+RFq7q89w1DTj18zeTyGqHNFkIwgtnJzFyO+B2XleJINugHA64wcZr+shncB\nlA2c5uk5jR+mUYyZDDl34bSb+hxnV29qao6pK0xXeXpXIs/NX2NGjVxZOob4Mkdi\no2cNGJHc+6Zr9UhhcyNZjgKnvETq9Emd8VRY+WCv2hikLyhF3HqgiIZd8zvn/yk1\ngPxkQ5Tm4xxvvq0OKmOZK8l+hfZx6AYDlf7ej0gcWtSS6Cvu5zHbugRqh5jnxV/v\nfaci9wHYTfmJ0A6aBVmknpjZbyvKcL5kwlWj9Omvw5Ip3IgWJJk8jSaYtlu3zM63\nNwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayh\njWZSaX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw\n3kAP+HwV96LOPNdeE4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDODCCAiCgAwIBAgIGIAYFFnACMA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNVBAYT\nAlJPMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBD\nQTAeFw0wNjA3MDQxNzIwMDRaFw0zMTA3MDQxNzIwMDRaMDsxCzAJBgNVBAYTAlJP\nMREwDwYDVQQKEwhjZXJ0U0lHTjEZMBcGA1UECxMQY2VydFNJR04gUk9PVCBDQTCC\nASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALczuX7IJUqOtdu0KBuqV5Do\n0SLTZLrTk+jUrIZhQGpgV2hUhE28alQCBf/fm5oqrl0Hj0rDKH/v+yv6efHHrfAQ\nUySQi2bJqIirr1qjAOm+ukbuW3N7LBeCgV5iLKECZbO9xSsAfsT8AzNXDe3i+s5d\nRdY4zTW2ssHQnIFKquSyAVwdj1+ZxLGt24gh65AIgoDzMKND5pCCrlUoSe1b16kQ\nOA7+j0xbm0bqQfWwCHTD0IgztnzXdN/chNFDDnU5oSVAKOp4yw4sLjmdjItuFhwv\nJoIQ4uNllAoEwF73XVv4EOLQunpL+943AAAaWyjj0pxzPjKHmKHJUS/X3qwzs08C\nAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAcYwHQYDVR0O\nBBYEFOCMm9slSbPxfIbWskKHC9BroNnkMA0GCSqGSIb3DQEBBQUAA4IBAQA+0hyJ\nLjX8+HXd5n9liPRyTMks1zJO890ZeUe9jjtbkw9QSSQTaxQGcu8J06Gh40CEyecY\nMnQ8SG4Pn0vU9x7Tk4ZkVJdjclDVVc/6IJMCopvDI5NOFlV2oHB5bc0hH88vLbwZ\n44gx+FkagQnIl6Z0x2DEW8xXjrJ1/RsCCdtZb3KTafcxQdaIOL+Hsr0Wefmq5L6I\nJd1hJyMctTEHBDa0GpC9oHRxUIltvBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNw\ni/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7NzTogVZ96edhBiIL5VaZVDADlN\n9u6wWk5JRFRYX0KD\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFRzCCAy+gAwIBAgIJEQA0tk7GNi02MA0GCSqGSIb3DQEBCwUAMEExCzAJBgNV\nBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJR04g\nUk9PVCBDQSBHMjAeFw0xNzAyMDYwOTI3MzVaFw00MjAyMDYwOTI3MzVaMEExCzAJ\nBgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJ\nR04gUk9PVCBDQSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMDF\ndRmRfUR0dIf+DjuW3NgBFszuY5HnC2/OOwppGnzC46+CjobXXo9X69MhWf05N0Iw\nvlDqtg+piNguLWkh59E3GE59kdUWX2tbAMI5Qw02hVK5U2UPHULlj88F0+7cDBrZ\nuIt4ImfkabBoxTzkbFpG583H+u/E7Eu9aqSs/cwoUe+StCmrqzWaTOTECMYmzPhp\nn+Sc8CnTXPnGFiWeI8MgwT0PPzhAsP6CRDiqWhqKa2NYOLQV07YRaXseVO6MGiKs\ncpc/I1mbySKEwQdPzH/iV8oScLumZfNpdWO9lfsbl83kqK/20U6o2YpxJM02PbyW\nxPFsqa7lzw1uKA2wDrXKUXt4FMMgL3/7FFXhEZn91QqhngLjYl/rNUssuHLoPj1P\nrCy7Lobio3aP5ZMqz6WryFyNSwb/EkaseMsUBzXgqd+L6a8VTxaJW732jcZZroiF\nDsGJ6x9nxUWO/203Nit4ZoORUSs9/1F3dmKh7Gc+PoGD4FapUB8fepmrY7+EF3fx\nDTvf95xhszWYijqy7DwaNz9+j5LP2RIUZNoQAhVB/0/E6xyjyfqZ90bp4RjZsbgy\nLcsUDFDYg2WD7rlcz8sFWkz6GZdr1l0T08JcVLwyc6B49fFtHsufpaafItzRUZ6C\neWRgKRM+o/1Pcmqr4tTluCRVLERLiohEnMqE0yo7AgMBAAGjQjBAMA8GA1UdEwEB\n/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSCIS1mxteg4BXrzkwJ\nd8RgnlRuAzANBgkqhkiG9w0BAQsFAAOCAgEAYN4auOfyYILVAzOBywaK8SJJ6ejq\nkX/GM15oGQOGO0MBzwdw5AgeZYWR5hEit/UCI46uuR59H35s5r0l1ZUa8gWmr4UC\nb6741jH/JclKyMeKqdmfS0mbEVeZkkMR3rYzpMzXjWR91M08KCy0mpbqTfXERMQl\nqiCA2ClV9+BB/AYm/7k29UMUA2Z44RGx2iBfRgB4ACGlHgAoYXhvqAEBj500mv/0\nOJD7uNGzcgbJceaBxXntC6Z58hMLnPddDnskk7RI24Zf3lCGeOdA5jGokHZwYa+c\nNywRtYK3qq4kNFtyDGkNzVmf9nGvnAvRCjj5BiKDUyUM/FHE5r7iOZULJK2v0ZXk\nltd0ZGtxTgI8qoXzIKNDOXZbbFD+mpwUHmUUihW9o4JFWklWatKcsWMy5WHgUyIO\npwpJ6st+H6jiYoD2EEVSmAYY3qXNL3+q1Ok+CHLsIwMCPKaq2LxndD0UF/tUSxfj\n03k9bWtJySgOLnRQvwzZRjoQhsmnP+mg7H/rpXdYaXHmgwo38oZJar55CJD2AhZk\nPuXaTH4MNMn5X7azKFGnpyuqSfqNZSlO42sTp5SjLVFteAxEy9/eCG/Oo2Sr05WE\n1LlSVHJ7liXMvGnjSG4N0MedJ5qq+BOS3R7fY581qRY27Iy4g/Q9iY/NtBde17MX\nQRBdJ3NghVdJIgc=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFjTCCA3WgAwIBAgIEGErM1jANBgkqhkiG9w0BAQsFADBWMQswCQYDVQQGEwJD\nTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5jaWFsIENlcnRpZmljYXRpb24gQXV0aG9y\naXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJPT1QwHhcNMTIwODA4MDMwNzAxWhcNMjkx\nMjMxMDMwNzAxWjBWMQswCQYDVQQGEwJDTjEwMC4GA1UECgwnQ2hpbmEgRmluYW5j\naWFsIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MRUwEwYDVQQDDAxDRkNBIEVWIFJP\nT1QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXXWvNED8fBVnVBU03\nsQ7smCuOFR36k0sXgiFxEFLXUWRwFsJVaU2OFW2fvwwbwuCjZ9YMrM8irq93VCpL\nTIpTUnrD7i7es3ElweldPe6hL6P3KjzJIx1qqx2hp/Hz7KDVRM8Vz3IvHWOX6Jn5\n/ZOkVIBMUtRSqy5J35DNuF++P96hyk0g1CXohClTt7GIH//62pCfCqktQT+x8Rgp\n7hZZLDRJGqgG16iI0gNyejLi6mhNbiyWZXvKWfry4t3uMCz7zEasxGPrb382KzRz\nEpR/38wmnvFyXVBlWY9ps4deMm/DGIq1lY+wejfeWkU7xzbh72fROdOXW3NiGUgt\nhxwG+3SYIElz8AXSG7Ggo7cbcNOIabla1jj0Ytwli3i/+Oh+uFzJlU9fpy25IGvP\na931DfSCt/SyZi4QKPaXWnuWFo8BGS1sbn85WAZkgwGDg8NNkt0yxoekN+kWzqot\naK8KgWU6cMGbrU1tVMoqLUuFG7OA5nBFDWteNfB/O7ic5ARwiRIlk9oKmSJgamNg\nTnYGmE69g60dWIolhdLHZR4tjsbftsbhf4oEIRUpdPA+nJCdDC7xij5aqgwJHsfV\nPKPtl8MeNPo4+QgO48BdK4PRVmrJtqhUUy54Mmc9gn900PvhtgVguXDbjgv5E1hv\ncWAQUhC5wUEJ73IfZzF4/5YFjQIDAQABo2MwYTAfBgNVHSMEGDAWgBTj/i39KNAL\ntbq2osS/BqoFjJP7LzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAd\nBgNVHQ4EFgQU4/4t/SjQC7W6tqLEvwaqBYyT+y8wDQYJKoZIhvcNAQELBQADggIB\nACXGumvrh8vegjmWPfBEp2uEcwPenStPuiB/vHiyz5ewG5zz13ku9Ui20vsXiObT\nej/tUxPQ4i9qecsAIyjmHjdXNYmEwnZPNDatZ8POQQaIxffu2Bq41gt/UP+TqhdL\njOztUmCypAbqTuv0axn96/Ua4CUqmtzHQTb3yHQFhDmVOdYLO6Qn+gjYXB74BGBS\nESgoA//vU2YApUo0FmZ8/Qmkrp5nGm9BC2sGE5uPhnEFtC+NiWYzKXZUmhH4J/qy\nP5Hgzg0b8zAarb8iXRvTvyUFTeGSGn+ZnzxEk8rUQElsgIfXBDrDMlI1Dlb4pd19\nxIsNER9Tyx6yF7Zod1rg1MvIB671Oi6ON7fQAUtDKXeMOZePglr4UeWJoBjnaH9d\nCi77o0cOPaYjesYBx4/IXr9tgFa+iiS6M+qf4TIRnvHST4D2G0CvOJ4RUHlzEhLN\n5mydLIhyPDCBBpEi6lmt2hkuIsKNuYyH4Ga8cyNfIWRjgEj1oDwYPZTISEEdQLpe\n/v5WOaHIz16eGWRGENoXkbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+Z\nAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3CekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ\n5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFsDCCA5igAwIBAgIQFci9ZUdcr7iXAF7kBtK8nTANBgkqhkiG9w0BAQUFADBe\nMQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0\nZC4xKjAoBgNVBAsMIWVQS0kgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAe\nFw0wNDEyMjAwMjMxMjdaFw0zNDEyMjAwMjMxMjdaMF4xCzAJBgNVBAYTAlRXMSMw\nIQYDVQQKDBpDaHVuZ2h3YSBUZWxlY29tIENvLiwgTHRkLjEqMCgGA1UECwwhZVBL\nSSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkqhkiG9w0BAQEF\nAAOCAg8AMIICCgKCAgEA4SUP7o3biDN1Z82tH306Tm2d0y8U82N0ywEhajfqhFAH\nSyZbCUNsIZ5qyNUD9WBpj8zwIuQf5/dqIjG3LBXy4P4AakP/h2XGtRrBp0xtInAh\nijHyl3SJCRImHJ7K2RKilTza6We/CKBk49ZCt0Xvl/T29de1ShUCWH2YWEtgvM3X\nDZoTM1PRYfl61dd4s5oz9wCGzh1NlDivqOx4UXCKXBCDUSH3ET00hl7lSM2XgYI1\nTBnsZfZrxQWh7kcT1rMhJ5QQCtkkO7q+RBNGMD+XPNjX12ruOzjjK9SXDrkb5wdJ\nfzcq+Xd4z1TtW0ado4AOkUPB1ltfFLqfpo0kR0BZv3I4sjZsN/+Z0V0OWQqraffA\nsgRFelQArr5T9rXn4fg8ozHSqf4hUmTFpmfwdQcGlBSBVcYn5AGPF8Fqcde+S/uU\nWH1+ETOxQvdibBjWzwloPn9s9h6PYq2lY9sJpx8iQkEeb5mKPtf5P0B6ebClAZLS\nnT0IFaUQAS2zMnaolQ2zepr7BxB4EW/hj8e6DyUadCrlHJhBmd8hh+iVBmoKs2pH\ndmX2Os+PYhcZewoozRrSgx4hxyy/vv9haLdnG7t4TY3OZ+XkwY63I2binZB1NJip\nNiuKmpS5nezMirH4JYlcWrYvjB9teSSnUmjDhDXiZo1jDiVN1Rmy5nk3pyKdVDEC\nAwEAAaNqMGgwHQYDVR0OBBYEFB4M97Zn8uGSJglFwFU5Lnc/QkqiMAwGA1UdEwQF\nMAMBAf8wOQYEZyoHAAQxMC8wLQIBADAJBgUrDgMCGgUAMAcGBWcqAwAABBRFsMLH\nClZ87lt4DJX5GFPBphzYEDANBgkqhkiG9w0BAQUFAAOCAgEACbODU1kBPpVJufGB\nuvl2ICO1J2B01GqZNF5sAFPZn/KmsSQHRGoqxqWOeBLoR9lYGxMqXnmbnwoqZ6Yl\nPwZpVnPDimZI+ymBV3QGypzqKOg4ZyYr8dW1P2WT+DZdjo2NQCCHGervJ8A9tDkP\nJXtoUHRVnAxZfVo9QZQlUgjgRywVMRnVvwdVxrsStZf0X4OFunHB2WyBEXYKCrC/\ngpf36j36+uwtqSiUO1bd0lEursC9CBWMd1I0ltabrNMdjmEPNXubrjlpC2JgQCA2\nj6/7Nu4tCEoduL+bXPjqpRugc6bY+G7gMwRfaKonh+3ZwZCc7b3jajWvY9+rGNm6\n5ulK6lCKD2GTHuItGeIwlDWSXQ62B68ZgI9HkFFLLk3dheLSClIKF5r8GrBQAuUB\no2M3IUxExJtRmREOc5wGj1QupyheRDmHVi03vYVElOEMSyycw5KFNGHLD7ibSkNS\n/jQ6fbjpKdx2qcgw+BRxgMYeNkh0IkFch4LoGHGLQYlE535YW6i4jRPpp2zDR+2z\nGp1iro2C6pSe3VkQw63d4k3jMdXH7OjysP6SHhYKGvzZ8/gntsm+HbRsZJB/9OTE\nW9c3rkIO3aQab3yIVMUWbuF6aC74Or8NpDyJO3inTmODBCEIZ43ygknQW/2xzQ+D\nhNQ+IIX3Sj0rnP0qCglN6oH4EZw=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFajCCA1KgAwIBAgIQLd2szmKXlKFD6LDNdmpeYDANBgkqhkiG9w0BAQsFADBP\nMQswCQYDVQQGEwJUVzEjMCEGA1UECgwaQ2h1bmdod2EgVGVsZWNvbSBDby4sIEx0\nZC4xGzAZBgNVBAMMEkhpUEtJIFJvb3QgQ0EgLSBHMTAeFw0xOTAyMjIwOTQ2MDRa\nFw0zNzEyMzExNTU5NTlaME8xCzAJBgNVBAYTAlRXMSMwIQYDVQQKDBpDaHVuZ2h3\nYSBUZWxlY29tIENvLiwgTHRkLjEbMBkGA1UEAwwSSGlQS0kgUm9vdCBDQSAtIEcx\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9B5/UnMyDHPkvRN0o9Qw\nqNCuS9i233VHZvR85zkEHmpwINJaR3JnVfSl6J3VHiGh8Ge6zCFovkRTv4354twv\nVcg3Px+kwJyz5HdcoEb+d/oaoDjq7Zpy3iu9lFc6uux55199QmQ5eiY29yTw1S+6\nlZgRZq2XNdZ1AYDgr/SEYYwNHl98h5ZeQa/rh+r4XfEuiAU+TCK72h8q3VJGZDnz\nQs7ZngyzsHeXZJzA9KMuH5UHsBffMNsAGJZMoYFL3QRtU6M9/Aes1MU3guvklQgZ\nKILSQjqj2FPseYlgSGDIcpJQ3AOPgz+yQlda22rpEZfdhSi8MEyr48KxRURHH+CK\nFgeW0iEPU8DtqX7UTuybCeyvQqww1r/REEXgphaypcXTT3OUM3ECoWqj1jOXTyFj\nHluP2cFeRXF3D4FdXyGarYPM+l7WjSNfGz1BryB1ZlpK9p/7qxj3ccC2HTHsOyDr\ny+K49a6SsvfhhEvyovKTmiKe0xRvNlS9H15ZFblzqMF8b3ti6RZsR1pl8w4Rm0bZ\n/W3c1pzAtH2lsN0/Vm+h+fbkEkj9Bn8SV7apI09bA8PgcSojt/ewsTu8mL3WmKgM\na/aOEmem8rJY5AIJEzypuxC00jBF8ez3ABHfZfjcK0NVvxaXxA/VLGGEqnKG/uY6\nfsI/fe78LxQ+5oXdUG+3Se0CAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNV\nHQ4EFgQU8ncX+l6o/vY9cdVouslGDDjYr7AwDgYDVR0PAQH/BAQDAgGGMA0GCSqG\nSIb3DQEBCwUAA4ICAQBQUfB13HAE4/+qddRxosuej6ip0691x1TPOhwEmSKsxBHi\n7zNKpiMdDg1H2DfHb680f0+BazVP6XKlMeJ45/dOlBhbQH3PayFUhuaVevvGyuqc\nSE5XCV0vrPSltJczWNWseanMX/mF+lLFjfiRFOs6DRfQUsJ748JzjkZ4Bjgs6Fza\nZsT0pPBWGTMpWmWSBUdGSquEwx4noR8RkpkndZMPvDY7l1ePJlsMu5wP1G4wB9Tc\nXzZoZjmDlicmisjEOf6aIW/Vcobpf2Lll07QJNBAsNB1CI69aO4I1258EHBGG3zg\niLKecoaZAeO/n0kZtCW+VmWuF2PlHt/o/0elv+EmBYTksMCv5wiZqAxeJoBF1Pho\nL5aPruJKHJwWDBNvOIf2u8g0X5IDUXlwpt/L9ZlNec1OvFefQ05rLisY+GpzjLrF\nNe85akEez3GoorKGB1s6yeHvP2UEgEcyRHCVTjFnanRbEEV16rCf0OY1/k6fi8wr\nkkVbbiVghUbN0aqwdmaTd5a+g744tiROJgvM7XpWGuDpWsZkrUx6AEhEL7lAuxM+\nvhV4nYWBSipX3tUZQ9rbyltHhoMLP7YNdnhzeSJesYAfz77RP1YQmCuVh6EfnWQU\nYDksswBVLuT1sw5XxJFBAJw/6KXf6vb/yPCtbVKoF6ubYfwSUTXkJf2vqmqGOQ==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICHTCCAaOgAwIBAgIUQ3CCd89NXTTxyq4yLzf39H91oJ4wCgYIKoZIzj0EAwMw\nTjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29t\nbVNjb3BlIFB1YmxpYyBUcnVzdCBFQ0MgUm9vdC0wMTAeFw0yMTA0MjgxNzM1NDNa\nFw00NjA0MjgxNzM1NDJaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2Nv\ncGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFJvb3QtMDEw\ndjAQBgcqhkjOPQIBBgUrgQQAIgNiAARLNumuV16ocNfQj3Rid8NeeqrltqLxeP0C\nflfdkXmcbLlSiFS8LwS+uM32ENEp7LXQoMPwiXAZu1FlxUOcw5tjnSCDPgYLpkJE\nhRGnSjot6dZoL0hOUysHP029uax3OVejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD\nVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSOB2LAUN3GGQYARnQE9/OufXVNMDAKBggq\nhkjOPQQDAwNoADBlAjEAnDPfQeMjqEI2Jpc1XHvr20v4qotzVRVcrHgpD7oh2MSg\n2NED3W3ROT3Ek2DS43KyAjB8xX6I01D1HiXo+k515liWpDVfG2XqYZpwI7UNo5uS\nUm9poIyNStDuiw7LR47QjRE=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICHDCCAaOgAwIBAgIUKP2ZYEFHpgE6yhR7H+/5aAiDXX0wCgYIKoZIzj0EAwMw\nTjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwiQ29t\nbVNjb3BlIFB1YmxpYyBUcnVzdCBFQ0MgUm9vdC0wMjAeFw0yMTA0MjgxNzQ0NTRa\nFw00NjA0MjgxNzQ0NTNaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21tU2Nv\ncGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgRUNDIFJvb3QtMDIw\ndjAQBgcqhkjOPQIBBgUrgQQAIgNiAAR4MIHoYx7l63FRD/cHB8o5mXxO1Q/MMDAL\nj2aTPs+9xYa9+bG3tD60B8jzljHz7aRP+KNOjSkVWLjVb3/ubCK1sK9IRQq9qEmU\nv4RDsNuESgMjGWdqb8FuvAY5N9GIIvejQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD\nVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTmGHX/72DehKT1RsfeSlXjMjZ59TAKBggq\nhkjOPQQDAwNnADBkAjAmc0l6tqvmSfR9Uj/UQQSugEODZXW5hYA4O9Zv5JOGq4/n\nich/m35rChJVYaoR4HkCMHfoMXGsPHED1oQmHhS48zs73u1Z/GtMMH9ZzkXpc2AV\nmkzw5l4lIhVtwodZ0LKOag==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFbDCCA1SgAwIBAgIUPgNJgXUWdDGOTKvVxZAplsU5EN0wDQYJKoZIhvcNAQEL\nBQAwTjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwi\nQ29tbVNjb3BlIFB1YmxpYyBUcnVzdCBSU0EgUm9vdC0wMTAeFw0yMTA0MjgxNjQ1\nNTRaFw00NjA0MjgxNjQ1NTNaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21t\nU2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgUlNBIFJvb3Qt\nMDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwSGWjDR1C45FtnYSk\nYZYSwu3D2iM0GXb26v1VWvZVAVMP8syMl0+5UMuzAURWlv2bKOx7dAvnQmtVzslh\nsuitQDy6uUEKBU8bJoWPQ7VAtYXR1HHcg0Hz9kXHgKKEUJdGzqAMxGBWBB0HW0al\nDrJLpA6lfO741GIDuZNqihS4cPgugkY4Iw50x2tBt9Apo52AsH53k2NC+zSDO3Oj\nWiE260f6GBfZumbCk6SP/F2krfxQapWsvCQz0b2If4b19bJzKo98rwjyGpg/qYFl\nP8GMicWWMJoKz/TUyDTtnS+8jTiGU+6Xn6myY5QXjQ/cZip8UlF1y5mO6D1cv547\nKI2DAg+pn3LiLCuz3GaXAEDQpFSOm117RTYm1nJD68/A6g3czhLmfTifBSeolz7p\nUcZsBSjBAg/pGG3svZwG1KdJ9FQFa2ww8esD1eo9anbCyxooSU1/ZOD6K9pzg4H/\nkQO9lLvkuI6cMmPNn7togbGEW682v3fuHX/3SZtS7NJ3Wn2RnU3COS3kuoL4b/JO\nHg9O5j9ZpSPcPYeoKFgo0fEbNttPxP/hjFtyjMcmAyejOQoBqsCyMWCDIqFPEgkB\nEa801M/XrmLTBQe0MXXgDW1XT2mH+VepuhX2yFJtocucH+X8eKg1mp9BFM6ltM6U\nCBwJrVbl2rZJmkrqYxhTnCwuwwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G\nA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUN12mmnQywsL5x6YVEFm45P3luG0wDQYJ\nKoZIhvcNAQELBQADggIBAK+nz97/4L1CjU3lIpbfaOp9TSp90K09FlxD533Ahuh6\nNWPxzIHIxgvoLlI1pKZJkGNRrDSsBTtXAOnTYtPZKdVUvhwQkZyybf5Z/Xn36lbQ\nnmhUQo8mUuJM3y+Xpi/SB5io82BdS5pYV4jvguX6r2yBS5KPQJqTRlnLX3gWsWc+\nQgvfKNmwrZggvkN80V4aCRckjXtdlemrwWCrWxhkgPut4AZ9HcpZuPN4KWfGVh2v\ntrV0KnahP/t1MJ+UXjulYPPLXAziDslg+MkfFoom3ecnf+slpoq9uC02EJqxWE2a\naE9gVOX2RhOOiKy8IUISrcZKiX2bwdgt6ZYD9KJ0DLwAHb/WNyVntHKLr4W96ioD\nj8z7PEQkguIBpQtZtjSNMgsSDesnwv1B10A8ckYpwIzqug/xBpMu95yo9GA+o/E4\nXo4TwbM6l4c/ksp4qRyv0LAbJh6+cOx69TOY6lz/KwsETkPdY34Op054A5U+1C0w\nlREQKC6/oAI+/15Z0wUOlV9TRe9rh9VIzRamloPh37MG88EU26fsHItdkJANclHn\nYfkUyq+Dj7+vsQpZXdxc1+SWrVtgHdqul7I52Qb1dgAT+GhMIbA1xNxVssnBQVoc\nicCMb3SgazNNtQEo/a2tiRc7ppqEvOuM6sRxJKi6KfkIsidWNTJf6jn7MZrVGczw\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFbDCCA1SgAwIBAgIUVBa/O345lXGN0aoApYYNK496BU4wDQYJKoZIhvcNAQEL\nBQAwTjELMAkGA1UEBhMCVVMxEjAQBgNVBAoMCUNvbW1TY29wZTErMCkGA1UEAwwi\nQ29tbVNjb3BlIFB1YmxpYyBUcnVzdCBSU0EgUm9vdC0wMjAeFw0yMTA0MjgxNzE2\nNDNaFw00NjA0MjgxNzE2NDJaME4xCzAJBgNVBAYTAlVTMRIwEAYDVQQKDAlDb21t\nU2NvcGUxKzApBgNVBAMMIkNvbW1TY29wZSBQdWJsaWMgVHJ1c3QgUlNBIFJvb3Qt\nMDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDh+g77aAASyE3VrCLE\nNQE7xVTlWXZjpX/rwcRqmL0yjReA61260WI9JSMZNRTpf4mnG2I81lDnNJUDMrG0\nkyI9p+Kx7eZ7Ti6Hmw0zdQreqjXnfuU2mKKuJZ6VszKWpCtYHu8//mI0SFHRtI1C\nrWDaSWqVcN3SAOLMV2MCe5bdSZdbkk6V0/nLKR8YSvgBKtJjCW4k6YnS5cciTNxz\nhkcAqg2Ijq6FfUrpuzNPDlJwnZXjfG2WWy09X6GDRl224yW4fKcZgBzqZUPckXk2\nLHR88mcGyYnJ27/aaL8j7dxrrSiDeS/sOKUNNwFnJ5rpM9kzXzehxfCrPfp4sOcs\nn/Y+n2Dg70jpkEUeBVF4GiwSLFworA2iI540jwXmojPOEXcT1A6kHkIfhs1w/tku\nFT0du7jyU1fbzMZ0KZwYszZ1OC4PVKH4kh+Jlk+71O6d6Ts2QrUKOyrUZHk2EOH5\nkQMreyBUzQ0ZGshBMjTRsJnhkB4BQDa1t/qp5Xd1pCKBXbCL5CcSD1SIxtuFdOa3\nwNemKfrb3vOTlycEVS8KbzfFPROvCgCpLIscgSjX74Yxqa7ybrjKaixUR9gqiC6v\nwQcQeKwRoi9C8DfF8rhW3Q5iLc4tVn5V8qdE9isy9COoR+jUKgF4z2rDN6ieZdIs\n5fq6M8EGRPbmz6UNp2YINIos8wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4G\nA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUR9DnsSL/nSz12Vdgs7GxcJXvYXowDQYJ\nKoZIhvcNAQELBQADggIBAIZpsU0v6Z9PIpNojuQhmaPORVMbc0RTAIFhzTHjCLqB\nKCh6krm2qMhDnscTJk3C2OVVnJJdUNjCK9v+5qiXz1I6JMNlZFxHMaNlNRPDk7n3\n+VGXu6TwYofF1gbTl4MgqX67tiHCpQ2EAOHyJxCDut0DgdXdaMNmEMjRdrSzbyme\nAPnCKfWxkxlSaRosTKCL4BWaMS/TiJVZbuXEs1DIFAhKm4sTg7GkcrI7djNB3Nyq\npgdvHSQSn8h2vS/ZjvQs7rfSOBAkNlEv41xdgSGn2rtO/+YHqP65DSdsu3BaVXoT\n6fEqSWnHX4dXTEN5bTpl6TBcQe7rd6VzEojov32u5cSoHw2OHG1QAk8mGEPej1WF\nsQs3BWDJVTkSBKEqz3EWnzZRSb9wO55nnPt7eck5HHisd5FUmrh1CoFSl+NmYWvt\nPjgelmFV4ZFUjO2MJB+ByRCac5krFk5yAD9UG/iNuovnFNa2RU9g7Jauwy8CTl2d\nlklyALKrdVwPaFsdZcJfMw8eD/A7hvWwTruc9+olBdytoptLFwG+Qt81IR2tq670\nv64fG9PiO/yzcnMcmyiQiRM9HcEARwmWmjgb3bHPDcK0RPOWlc4yOo80nOAXx17O\nrg3bhzjlP1v9mxnhMUF6cKojawHhRUzNlM47ni3niAIi9G7oyOzWPPO5std3eqx7\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDcjCCAlqgAwIBAgIUZvnHwa/swlG07VOX5uaCwysckBYwDQYJKoZIhvcNAQEL\nBQAwUTELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28u\nLCBMdGQuMR0wGwYDVQQDExRTZWN1cmVTaWduIFJvb3QgQ0ExMjAeFw0yMDA0MDgw\nNTM2NDZaFw00MDA0MDgwNTM2NDZaMFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpD\neWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBS\nb290IENBMTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC6OcE3emhF\nKxS06+QT61d1I02PJC0W6K6OyX2kVzsqdiUzg2zqMoqUm048luT9Ub+ZyZN+v/mt\np7JIKwccJ/VMvHASd6SFVLX9kHrko+RRWAPNEHl57muTH2SOa2SroxPjcf59q5zd\nJ1M3s6oYwlkm7Fsf0uZlfO+TvdhYXAvA42VvPMfKWeP+bl+sg779XSVOKik71gur\nFzJ4pOE+lEa+Ym6b3kaosRbnhW70CEBFEaCeVESE99g2zvVQR9wsMJvuwPWW0v4J\nhscGWa5Pro4RmHvzC1KqYiaqId+OJTN5lxZJjfU+1UefNzFJM3IFTQy2VYzxV4+K\nh9GtxRESOaCtAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD\nAgEGMB0GA1UdDgQWBBRXNPN0zwRL1SXm8UC2LEzZLemgrTANBgkqhkiG9w0BAQsF\nAAOCAQEAPrvbFxbS8hQBICw4g0utvsqFepq2m2um4fylOqyttCg6r9cBg0krY6Ld\nmmQOmFxv3Y67ilQiLUoT865AQ9tPkbeGGuwAtEGBpE/6aouIs3YIcipJQMPTw4WJ\nmBClnW8Zt7vPemVV2zfrPIpyMpcemik+rY3moxtt9XUa5rBouVui7mlHJzWhhpmA\n8zNL4WukJsPvdFlseqJkth5Ew1DgDzk9qTPxpfPSvWKErI4cqc1avTc7bgoitPQV\n55FYxTpE05Uo2cBl6XLK0A+9H7MV2anjpEcJnuDLN/v9vZfVvhgaaaI5gdka9at/\nyOPiZwud9AzqVN/Ssq+xIvEg37xEHA==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFcjCCA1qgAwIBAgIUZNtaDCBO6Ncpd8hQJ6JaJ90t8sswDQYJKoZIhvcNAQEM\nBQAwUTELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28u\nLCBMdGQuMR0wGwYDVQQDExRTZWN1cmVTaWduIFJvb3QgQ0ExNDAeFw0yMDA0MDgw\nNzA2MTlaFw00NTA0MDgwNzA2MTlaMFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpD\neWJlcnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBS\nb290IENBMTQwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDF0nqh1oq/\nFjHQmNE6lPxauG4iwWL3pwon71D2LrGeaBLwbCRjOfHw3xDG3rdSINVSW0KZnvOg\nvlIfX8xnbacuUKLBl422+JX1sLrcneC+y9/3OPJH9aaakpUqYllQC6KxNedlsmGy\n6pJxaeQp8E+BgQQ8sqVb1MWoWWd7VRxJq3qdwudzTe/NCcLEVxLbAQ4jeQkHO6Lo\n/IrPj8BGJJw4J+CDnRugv3gVEOuGTgpa/d/aLIJ+7sr2KeH6caH3iGicnPCNvg9J\nkdjqOvn90Ghx2+m1K06Ckm9mH+Dw3EzsytHqunQG+bOEkJTRX45zGRBdAuVwpcAQ\n0BB8b8VYSbSwbprafZX1zNoCr7gsfXmPvkPx+SgojQlD+Ajda8iLLCSxjVIHvXib\ny8posqTdDEx5YMaZ0ZPxMBoH064iwurO8YQJzOAUbn8/ftKChazcqRZOhaBgy/ac\n18izju3Gm5h1DVXoX+WViwKkrkMpKBGk5hIwAUt1ax5mnXkvpXYvHUC0bcl9eQjs\n0Wq2XSqypWa9a4X0dFbD9ed1Uigspf9mR6XU/v6eVL9lfgHWMI+lNpyiUBzuOIAB\nSMbHdPTGrMNASRZhdCyvjG817XsYAFs2PJxQDcqSMxDxJklt33UkN4Ii1+iW/RVL\nApY+B3KVfqs9TC7XyvDf4Fg/LS8EmjijAQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD\nAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUBpOjCl4oaTeqYR3r6/wtbyPk\n86AwDQYJKoZIhvcNAQEMBQADggIBAJaAcgkGfpzMkwQWu6A6jZJOtxEaCnFxEM0E\nrX+lRVAQZk5KQaID2RFPeje5S+LGjzJmdSX7684/AykmjbgWHfYfM25I5uj4V7Ib\ned87hwriZLoAymzvftAj63iP/2SbNDefNWWipAA9EiOWWF3KY4fGoweITedpdopT\nzfFP7ELyk+OZpDc8h7hi2/DsHzc/N19DzFGdtfCXwreFamgLRB7lUe6TzktuhsHS\nDCRZNhqfLJGP4xjblJUK7ZGqDpncllPjYYPGFrojutzdfhrGe0K22VoF3Jpf1d+4\n2kd92jjbrDnVHmtsKheMYc2xbXIBw8MgAGJoFjHVdqqGuw6qnsb58Nn4DSEC5MUo\nFlkRudlpcyqSeLiSV5sI8jrlL5WwWLdrIBRtFO8KvH7YVdiI2i/6GaX7i+B/OfVy\nK4XELKzvGUWSTLNhB9xNH27SgRNcmvMSZ4PPmz+Ln52kuaiWA3rF7iDeM9ovnhp6\ndB7h7sxaOgTdsxoEqBRjrLdHEoOabPXm6RUVkRqEGQ6UROcSjiVbgGcZ3GOTEAtl\nLor6CZpO2oYofaphNdgOpygau1LgePhsumywbrmHXumZNTfxPWQrqaA0k89jL9WB\n365jJ6UeTo3cKXhZ+PmhIIynJkBugnLNeLLIjzwec+fBH7/PzqUqm9tEZDKgu39c\nJRNItX+S\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICIzCCAamgAwIBAgIUFhXHw9hJp75pDIqI7fBw+d23PocwCgYIKoZIzj0EAwMw\nUTELMAkGA1UEBhMCSlAxIzAhBgNVBAoTGkN5YmVydHJ1c3QgSmFwYW4gQ28uLCBM\ndGQuMR0wGwYDVQQDExRTZWN1cmVTaWduIFJvb3QgQ0ExNTAeFw0yMDA0MDgwODMy\nNTZaFw00NTA0MDgwODMyNTZaMFExCzAJBgNVBAYTAkpQMSMwIQYDVQQKExpDeWJl\ncnRydXN0IEphcGFuIENvLiwgTHRkLjEdMBsGA1UEAxMUU2VjdXJlU2lnbiBSb290\nIENBMTUwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQLUHSNZDKZmbPSYAi4Io5GdCx4\nwCtELW1fHcmuS1Iggz24FG1Th2CeX2yF2wYUleDHKP+dX+Sq8bOLbe1PL0vJSpSR\nZHX+AezB2Ot6lHhWGENfa4HL9rzatAy2KZMIaY+jQjBAMA8GA1UdEwEB/wQFMAMB\nAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBTrQciu/NWeUUj1vYv0hyCTQSvT\n9DAKBggqhkjOPQQDAwNoADBlAjEA2S6Jfl5OpBEHvVnCB96rMjhTKkZEBhd6zlHp\n4P9mLQlO4E/0BdGF9jVg3PVys0Z9AjBEmEYagoUeYWmJSwdLZrWeqrqgHkHZAXQ6\nbkU6iYAZezKYVWOr62Nuk22rGwlgMU4=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIC2zCCAmCgAwIBAgIQfMmPK4TX3+oPyWWa00tNljAKBggqhkjOPQQDAzBIMQsw\nCQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRS\nVVNUIEJSIFJvb3QgQ0EgMSAyMDIwMB4XDTIwMDIxMTA5NDUwMFoXDTM1MDIxMTA5\nNDQ1OVowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAG\nA1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDEgMjAyMDB2MBAGByqGSM49AgEGBSuB\nBAAiA2IABMbLxyjR+4T1mu9CFCDhQ2tuda38KwOE1HaTJddZO0Flax7mNCq7dPYS\nzuht56vkPE4/RAiLzRZxy7+SmfSk1zxQVFKQhYN4lGdnoxwJGT11NIXe7WB9xwy0\nQVK5buXuQqOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHOREKv/\nVbNafAkl1bK6CKBrqx9tMA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6g\nPKA6hjhodHRwOi8vY3JsLmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X2JyX3Jvb3Rf\nY2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVjdG9yeS5kLXRydXN0Lm5l\ndC9DTj1ELVRSVVNUJTIwQlIlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxPPUQtVHJ1\nc3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjO\nPQQDAwNpADBmAjEAlJAtE/rhY/hhY+ithXhUkZy4kzg+GkHaQBZTQgjKL47xPoFW\nwKrY7RjEsK70PvomAjEA8yjixtsrmfu3Ubgko6SUeho/5jbiA1czijDLgsfWFBHV\ndWNbFJWcHwHP2NVypw87\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFqTCCA5GgAwIBAgIQczswBEhb2U14LnNLyaHcZjANBgkqhkiG9w0BAQ0FADBI\nMQswCQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlE\nLVRSVVNUIEJSIFJvb3QgQ0EgMiAyMDIzMB4XDTIzMDUwOTA4NTYzMVoXDTM4MDUw\nOTA4NTYzMFowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEi\nMCAGA1UEAxMZRC1UUlVTVCBCUiBSb290IENBIDIgMjAyMzCCAiIwDQYJKoZIhvcN\nAQEBBQADggIPADCCAgoCggIBAK7/CVmRgApKaOYkP7in5Mg6CjoWzckjYaCTcfKr\ni3OPoGdlYNJUa2NRb0kz4HIHE304zQaSBylSa053bATTlfrdTIzZXcFhfUvnKLNE\ngXtRr90zsWh81k5M/itoucpmacTsXld/9w3HnDY25QdgrMBM6ghs7wZ8T1soegj8\nk12b9py0i4a6Ibn08OhZWiihNIQaJZG2tY/vsvmA+vk9PBFy2OMvhnbFeSzBqZCT\nRphny4NqoFAjpzv2gTng7fC5v2Xx2Mt6++9zA84A9H3X4F07ZrjcjrqDy4d2A/wl\n2ecjbwb9Z/Pg/4S8R7+1FhhGaRTMBffb00msa8yr5LULQyReS2tNZ9/WtT5PeB+U\ncSTq3nD88ZP+npNa5JRal1QMNXtfbO4AHyTsA7oC9Xb0n9Sa7YUsOCIvx9gvdhFP\n/Wxc6PWOJ4d/GUohR5AdeY0cW/jPSoXk7bNbjb7EZChdQcRurDhaTyN0dKkSw/bS\nuREVMweR2Ds3OmMwBtHFIjYoYiMQ4EbMl6zWK11kJNXuHA7e+whadSr2Y23OC0K+\n0bpwHJwh5Q8xaRfX/Aq03u2AnMuStIv13lmiWAmlY0cL4UEyNEHZmrHZqLAbWt4N\nDfTisl01gLmB1IRpkQLLddCNxbU9CZEJjxShFHR5PtbJFR2kWVki3PaKRT08EtY+\nXTIvAgMBAAGjgY4wgYswDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUZ5Dw1t61\nGNVGKX5cq/ieCLxklRAwDgYDVR0PAQH/BAQDAgEGMEkGA1UdHwRCMEAwPqA8oDqG\nOGh0dHA6Ly9jcmwuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3RfYnJfcm9vdF9jYV8y\nXzIwMjMuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQA097N3U9swFrktpSHxQCF16+tI\nFoE9c+CeJyrrd6kTpGoKWloUMz1oH4Guaf2Mn2VsNELZLdB/eBaxOqwjMa1ef67n\nriv6uvw8l5VAk1/DLQOj7aRvU9f6QA4w9QAgLABMjDu0ox+2v5Eyq6+SmNMW5tTR\nVFxDWy6u71cqqLRvpO8NVhTaIasgdp4D/Ca4nj8+AybmTNudX0KEPUUDAxxZiMrc\nLmEkWqTqJwtzEr5SswrPMhfiHocaFpVIbVrg0M8JkiZmkdijYQ6qgYF/6FKC0ULn\n4B0Y+qSFNueG4A3rvNTJ1jxD8V1Jbn6Bm2m1iWKPiFLY1/4nwSPFyysCu7Ff/vtD\nhQNGvl3GyiEm/9cCnnRK3PgTFbGBVzbLZVzRHTF36SXDw7IyN9XxmAnkbWOACKsG\nkoHU6XCPpz+y7YaMgmo1yEJagtFSGkUPFaUA8JR7ZSdXOUPPfH/mvTWze/EZTN46\nls/pdu4D58JDUjxqgejBWoC9EV2Ta/vH5mQ/u2kc6d0li690yVRAysuTEwrt+2aS\nEcr1wPrYg1UDfNPFIkZ1cGt5SAYqgpq/5usWDiJFAbzdNpQ0qTUmiteXue4Icr80\nknCDgKs4qllo3UCkGJCy89UDyibK79XH4I9TjvAA46jtn/mtd+ArY0+ew+43u3gJ\nhJ65bvspmZDogNOfJA==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIC2zCCAmCgAwIBAgIQXwJB13qHfEwDo6yWjfv/0DAKBggqhkjOPQQDAzBIMQsw\nCQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlELVRS\nVVNUIEVWIFJvb3QgQ0EgMSAyMDIwMB4XDTIwMDIxMTEwMDAwMFoXDTM1MDIxMTA5\nNTk1OVowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEiMCAG\nA1UEAxMZRC1UUlVTVCBFViBSb290IENBIDEgMjAyMDB2MBAGByqGSM49AgEGBSuB\nBAAiA2IABPEL3YZDIBnfl4XoIkqbz52Yv7QFJsnL46bSj8WeeHsxiamJrSc8ZRCC\n/N/DnU7wMyPE0jL1HLDfMxddxfCxivnvubcUyilKwg+pf3VlSSowZ/Rk99Yad9rD\nwpdhQntJraOCAQ0wggEJMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFH8QARY3\nOqQo5FD4pPfsazK2/umLMA4GA1UdDwEB/wQEAwIBBjCBxgYDVR0fBIG+MIG7MD6g\nPKA6hjhodHRwOi8vY3JsLmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X2V2X3Jvb3Rf\nY2FfMV8yMDIwLmNybDB5oHegdYZzbGRhcDovL2RpcmVjdG9yeS5kLXRydXN0Lm5l\ndC9DTj1ELVRSVVNUJTIwRVYlMjBSb290JTIwQ0ElMjAxJTIwMjAyMCxPPUQtVHJ1\nc3QlMjBHbWJILEM9REU/Y2VydGlmaWNhdGVyZXZvY2F0aW9ubGlzdDAKBggqhkjO\nPQQDAwNpADBmAjEAyjzGKnXCXnViOTYAYFqLwZOZzNnbQTs7h5kXO9XMT8oi96CA\ny/m0sRtW9XLS/BnRAjEAkfcwkz8QRitxpNA7RJvAKQIFskF3UfN5Wp6OFKBOQtJb\ngfM0agPnIjhQW+0ZT0MW\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFqTCCA5GgAwIBAgIQaSYJfoBLTKCnjHhiU19abzANBgkqhkiG9w0BAQ0FADBI\nMQswCQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSIwIAYDVQQDExlE\nLVRSVVNUIEVWIFJvb3QgQ0EgMiAyMDIzMB4XDTIzMDUwOTA5MTAzM1oXDTM4MDUw\nOTA5MTAzMlowSDELMAkGA1UEBhMCREUxFTATBgNVBAoTDEQtVHJ1c3QgR21iSDEi\nMCAGA1UEAxMZRC1UUlVTVCBFViBSb290IENBIDIgMjAyMzCCAiIwDQYJKoZIhvcN\nAQEBBQADggIPADCCAgoCggIBANiOo4mAC7JXUtypU0w3uX9jFxPvp1sjW2l1sJkK\nF8GLxNuo4MwxusLyzV3pt/gdr2rElYfXR8mV2IIEUD2BCP/kPbOx1sWy/YgJ25yE\n7CUXFId/MHibaljJtnMoPDT3mfd/06b4HEV8rSyMlD/YZxBTfiLNTiVR8CUkNRFe\nEMbsh2aJgWi6zCudR3Mfvc2RpHJqnKIbGKBv7FD0fUDCqDDPvXPIEysQEx6Lmqg6\nlHPTGGkKSv/BAQP/eX+1SH977ugpbzZMlWGG2Pmic4ruri+W7mjNPU0oQvlFKzIb\nRlUWaqZLKfm7lVa/Rh3sHZMdwGWyH6FDrlaeoLGPaxK3YG14C8qKXO0elg6DpkiV\njTujIcSuWMYAsoS0I6SWhjW42J7YrDRJmGOVxcttSEfi8i4YHtAxq9107PncjLgc\njmgjutDzUNzPZY9zOjLHfP7KgiJPvo5iR2blzYfi6NUPGJ/lBHJLRjwQ8kTCZFZx\nTnXonMkmdMV9WdEKWw9t/p51HBjGGjp82A0EzM23RWV6sY+4roRIPrN6TagD4uJ+\nARZZaBhDM7DS3LAaQzXupdqpRlyuhoFBAUp0JuyfBr/CBTdkdXgpaP3F9ev+R/nk\nhbDhezGdpn9yo7nELC7MmVcOIQxFAZRl62UJxmMiCzNJkkg8/M3OsD6Onov4/knF\nNXJHAgMBAAGjgY4wgYswDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUqvyREBuH\nkV8Wub9PS5FeAByxMoAwDgYDVR0PAQH/BAQDAgEGMEkGA1UdHwRCMEAwPqA8oDqG\nOGh0dHA6Ly9jcmwuZC10cnVzdC5uZXQvY3JsL2QtdHJ1c3RfZXZfcm9vdF9jYV8y\nXzIwMjMuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQCTy6UfmRHsmg1fLBWTxj++EI14\nQvBukEdHjqOSMo1wj/Zbjb6JzkcBahsgIIlbyIIQbODnmaprxiqgYzWRaoUlrRc4\npZt+UPJ26oUFKidBK7GB0aL2QHWpDsvxVUjY7NHss+jOFKE17MJeNRqrphYBBo7q\n3C+jisosketSjl8MmxfPy3MHGcRqwnNU73xDUmPBEcrCRbH0O1P1aa4846XerOhU\nt7KR/aypH/KH5BfGSah82ApB9PI+53c0BFLd6IHyTS9URZ0V4U/M5d40VxDJI3IX\ncI1QcB9WbMy5/zpaT2N6w25lBx2Eof+pDGOJbbJAiDnXH3dotfyc1dZnaVuodNv8\nifYbMvekJKZ2t0dT741Jj6m2g1qllpBFYfXeA08mD6iL8AOWsKwV0HFaanuU5nCT\n2vFp4LJiTZ6P/4mdm13NRemUAiKN4DV/6PEEeXFsVIP4M7kFMhtYVRFP0OUnR3Hs\n7dpn1mKmS00PaaLJvOwiS5THaJQXfuKOKD62xur1NGyfN4gHONuGcfrNlUhDbqNP\ngofXNJhuS5N5YHVpD/Aa1VP6IQzCP+k/HxiMkl14p3ZnGbuy6n/pcAlWVqOwDAst\nNl7F6cTVg8uGF5csbBNvh1qvSaYd2804BC5f4ko1Di1L+KIkBI3Y4WNeApI02phh\nXBxvWHZks/wCuPWdCg==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIEDjCCAvagAwIBAgIDD92sMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNVBAYTAkRF\nMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxHzAdBgNVBAMMFkQtVFJVU1QgUm9vdCBD\nQSAzIDIwMTMwHhcNMTMwOTIwMDgyNTUxWhcNMjgwOTIwMDgyNTUxWjBFMQswCQYD\nVQQGEwJERTEVMBMGA1UECgwMRC1UcnVzdCBHbWJIMR8wHQYDVQQDDBZELVRSVVNU\nIFJvb3QgQ0EgMyAyMDEzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA\nxHtCkoIf7O1UmI4SwMoJ35NuOpNcG+QQd55OaYhs9uFp8vabomGxvQcgdJhl8Ywm\nCM2oNcqANtFjbehEeoLDbF7eu+g20sRoNoyfMr2EIuDcwu4QRjltr5M5rofmw7wJ\nySxrZ1vZm3Z1TAvgu8XXvD558l++0ZBX+a72Zl8xv9Ntj6e6SvMjZbu376Ml1wrq\nWLbviPr6ebJSWNXwrIyhUXQplapRO5AyA58ccnSQ3j3tYdLl4/1kR+W5t0qp9x+u\nloYErC/jpIF3t1oW/9gPP/a3eMykr/pbPBJbqFKJcu+I89VEgYaVI5973bzZNO98\nlDyqwEHC451QGsDkGSL8swIDAQABo4IBBTCCAQEwDwYDVR0TAQH/BAUwAwEB/zAd\nBgNVHQ4EFgQUP5DIfccVb/Mkj6nDL0uiDyGyL+cwDgYDVR0PAQH/BAQDAgEGMIG+\nBgNVHR8EgbYwgbMwdKByoHCGbmxkYXA6Ly9kaXJlY3RvcnkuZC10cnVzdC5uZXQv\nQ049RC1UUlVTVCUyMFJvb3QlMjBDQSUyMDMlMjAyMDEzLE89RC1UcnVzdCUyMEdt\nYkgsQz1ERT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MDugOaA3hjVodHRwOi8v\nY3JsLmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2FfM18yMDEzLmNybDAN\nBgkqhkiG9w0BAQsFAAOCAQEADlkOWOR0SCNEzzQhtZwUGq2aS7eziG1cqRdw8Cqf\njXv5e4X6xznoEAiwNStfzwLS05zICx7uBVSuN5MECX1sj8J0vPgclL4xAUAt8yQg\nt4RVLFzI9XRKEBmLo8ftNdYJSNMOwLo5qLBGArDbxohZwr78e7Erz35ih1WWzAFv\nm2chlTWL+BD8cRu3SzdppjvW7IvuwbDzJcmPkn2h6sPKRL8mpXSSnON065102ctN\nh9j8tGlsi6BDB2B4l+nZk3zCRrybN1Kj7Yo8E6l7U0tJmhEFLAtuVqwfLoJs4Gln\ntQ5tLdnkwBXxP/oYcuEVbSdbLTAoK59ImmQrme/ydUlfXA==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIEMzCCAxugAwIBAgIDCYPzMA0GCSqGSIb3DQEBCwUAME0xCzAJBgNVBAYTAkRF\nMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMMHkQtVFJVU1QgUm9vdCBD\nbGFzcyAzIENBIDIgMjAwOTAeFw0wOTExMDUwODM1NThaFw0yOTExMDUwODM1NTha\nME0xCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxJzAlBgNVBAMM\nHkQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgMjAwOTCCASIwDQYJKoZIhvcNAQEB\nBQADggEPADCCAQoCggEBANOySs96R+91myP6Oi/WUEWJNTrGa9v+2wBoqOADER03\nUAifTUpolDWzU9GUY6cgVq/eUXjsKj3zSEhQPgrfRlWLJ23DEE0NkVJD2IfgXU42\ntSHKXzlABF9bfsyjxiupQB7ZNoTWSPOSHjRGICTBpFGOShrvUD9pXRl/RcPHAY9R\nySPocq60vFYJfxLLHLGvKZAKyVXMD9O0Gu1HNVpK7ZxzBCHQqr0ME7UAyiZsxGsM\nlFqVlNpQmvH/pStmMaTJOKDfHR+4CS7zp+hnUquVH+BGPtikw8paxTGA6Eian5Rp\n/hnd2HN8gcqW3o7tszIFZYQ05ub9VxC1X3a/L7AQDcUCAwEAAaOCARowggEWMA8G\nA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFP3aFMSfMN4hvR5COfyrYyNJ4PGEMA4G\nA1UdDwEB/wQEAwIBBjCB0wYDVR0fBIHLMIHIMIGAoH6gfIZ6bGRhcDovL2RpcmVj\ndG9yeS5kLXRydXN0Lm5ldC9DTj1ELVRSVVNUJTIwUm9vdCUyMENsYXNzJTIwMyUy\nMENBJTIwMiUyMDIwMDksTz1ELVRydXN0JTIwR21iSCxDPURFP2NlcnRpZmljYXRl\ncmV2b2NhdGlvbmxpc3QwQ6BBoD+GPWh0dHA6Ly93d3cuZC10cnVzdC5uZXQvY3Js\nL2QtdHJ1c3Rfcm9vdF9jbGFzc18zX2NhXzJfMjAwOS5jcmwwDQYJKoZIhvcNAQEL\nBQADggEBAH+X2zDI36ScfSF6gHDOFBJpiBSVYEQBrLLpME+bUMJm2H6NMLVwMeni\nacfzcNsgFYbQDfC+rAF1hM5+n02/t2A7nPPKHeJeaNijnZflQGDSNiH+0LS4F9p0\no3/U37CYAqxva2ssJSRyoWXuJVrl5jLn8t+rSfrzkGkj2wTZ51xY/GXUl77M/C4K\nzCUqNQT4YJEVdT1B/yMfGchs64JTBKbkTCJNjYy6zltz7GRUUG3RnFX7acM2w4y8\nPIWmawomDeCTmGCufsYkl4phX5GOZpIJhzbNi5stPvZR1FDUWSi9g/LMKHtThm3Y\nJohw1+qRzT65ysCQblrGXnRl11z+o+I=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIEQzCCAyugAwIBAgIDCYP0MA0GCSqGSIb3DQEBCwUAMFAxCzAJBgNVBAYTAkRF\nMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNVBAMMIUQtVFJVU1QgUm9vdCBD\nbGFzcyAzIENBIDIgRVYgMjAwOTAeFw0wOTExMDUwODUwNDZaFw0yOTExMDUwODUw\nNDZaMFAxCzAJBgNVBAYTAkRFMRUwEwYDVQQKDAxELVRydXN0IEdtYkgxKjAoBgNV\nBAMMIUQtVFJVU1QgUm9vdCBDbGFzcyAzIENBIDIgRVYgMjAwOTCCASIwDQYJKoZI\nhvcNAQEBBQADggEPADCCAQoCggEBAJnxhDRwui+3MKCOvXwEz75ivJn9gpfSegpn\nljgJ9hBOlSJzmY3aFS3nBfwZcyK3jpgAvDw9rKFs+9Z5JUut8Mxk2og+KbgPCdM0\n3TP1YtHhzRnp7hhPTFiu4h7WDFsVWtg6uMQYZB7jM7K1iXdODL/ZlGsTl28So/6Z\nqQTMFexgaDbtCHu39b+T7WYxg4zGcTSHThfqr4uRjRxWQa4iN1438h3Z0S0NL2lR\np75mpoo6Kr3HGrHhFPC+Oh25z1uxav60sUYgovseO3Dvk5h9jHOW8sXvhXCtKSb8\nHgQ+HKDYD8tSg2J87otTlZCpV6LqYQXY+U3EJ/pure3511H3a6UCAwEAAaOCASQw\nggEgMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNOUikxiEyoZLsyvcop9Ntea\nHNxnMA4GA1UdDwEB/wQEAwIBBjCB3QYDVR0fBIHVMIHSMIGHoIGEoIGBhn9sZGFw\nOi8vZGlyZWN0b3J5LmQtdHJ1c3QubmV0L0NOPUQtVFJVU1QlMjBSb290JTIwQ2xh\nc3MlMjAzJTIwQ0ElMjAyJTIwRVYlMjAyMDA5LE89RC1UcnVzdCUyMEdtYkgsQz1E\nRT9jZXJ0aWZpY2F0ZXJldm9jYXRpb25saXN0MEagRKBChkBodHRwOi8vd3d3LmQt\ndHJ1c3QubmV0L2NybC9kLXRydXN0X3Jvb3RfY2xhc3NfM19jYV8yX2V2XzIwMDku\nY3JsMA0GCSqGSIb3DQEBCwUAA4IBAQA07XtaPKSUiO8aEXUHL7P+PPoeUSbrh/Yp\n3uDx1MYkCenBz1UbtDDZzhr+BlGmFaQt77JLvyAoJUnRpjZ3NOhk31KxEcdzes05\nnsKtjHEh8lprr988TlWvsoRlFIm5d8sqMb7Po23Pb0iUMkZv53GMoKaEGTcH8gNF\nCSuGdXzfX2lXANtu2KZyIktQ1HWYVt+3GP9DQ1CuekR78HlR10M9p9OB0/DJT7na\nxpeG0ILD5EJt/rDiZE4OJudANCa1CInXCGNjOCd1HjPqbqjdn5lPdE2BiYBL3ZqX\nKVwvvoFBuYz/6n1gBp7N1z3TLqMVvKjmJuVvw9y4AyHqnxbxLFS1\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICXjCCAeOgAwIBAgIQUs/kjG2gSvc/gpcMgAmMlTAKBggqhkjOPQQDAzBJMQsw\nCQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSMwIQYDVQQDExpELVRy\ndXN0IFNCUiBSb290IENBIDEgMjAyMjAeFw0yMjA3MDYxMTMwMDBaFw0zNzA3MDYx\nMTI5NTlaMEkxCzAJBgNVBAYTAkRFMRUwEwYDVQQKEwxELVRydXN0IEdtYkgxIzAh\nBgNVBAMTGkQtVHJ1c3QgU0JSIFJvb3QgQ0EgMSAyMDIyMHYwEAYHKoZIzj0CAQYF\nK4EEACIDYgAEWZM59oxJZijXYQzIq38Moy3foqR8kito1S5+HkDLtGhJfxKhq39X\nnxkuYy5b/mZxDDMPud5rxIjDse/sOUDjlqvb5XuuH9z5r0aaakYGL8c3ZIsXYv6W\nw6LuhOCwlzm8o4GPMIGMMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFPEpox4B\nEh09dVZNx1B8xRmqDxi3MA4GA1UdDwEB/wQEAwIBBjBKBgNVHR8EQzBBMD+gPaA7\nhjlodHRwOi8vY3JsLmQtdHJ1c3QubmV0L2NybC9kLXRydXN0X3Nicl9yb290X2Nh\nXzFfMjAyMi5jcmwwCgYIKoZIzj0EAwMDaQAwZgIxAJf53q5Lj5i1HkB/Mn1NVEPa\nic3CqpI80YIec8/6TJIg+2MnxfVzPQk996dhhozzagIxAOcvfLj1JYw7OR82q431\nhqIu4Xpk2mc5Av7+Mz/Zc7ZYWzr8sqTZYHh3zHmnpq5VvQ==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFrDCCA5SgAwIBAgIQVNWjlR49lbpyG5rQMSFKujANBgkqhkiG9w0BAQ0FADBJ\nMQswCQYDVQQGEwJERTEVMBMGA1UEChMMRC1UcnVzdCBHbWJIMSMwIQYDVQQDExpE\nLVRydXN0IFNCUiBSb290IENBIDIgMjAyMjAeFw0yMjA3MDcwNzMwMDBaFw0zNzA3\nMDcwNzI5NTlaMEkxCzAJBgNVBAYTAkRFMRUwEwYDVQQKEwxELVRydXN0IEdtYkgx\nIzAhBgNVBAMTGkQtVHJ1c3QgU0JSIFJvb3QgQ0EgMiAyMDIyMIICIjANBgkqhkiG\n9w0BAQEFAAOCAg8AMIICCgKCAgEAryy8jjaM62SvUWrWbjxekTrqmsPKbPuqJ55k\nIqlA37koRVrsU2EWKJjCiqR1eFCE3fogSJIHZUE1ZlESdGGdBwaFOTFXeyg/1Zyl\n7FrpHEsnn84nBvM39VLYETMWQTof9WN4ZWOGyb/IAQQfbu7i7KwM7oKS4vYaDT85\n+Z1lk634uQXBPfg3gVbDoP4F7OCUFjojFgTapgqThXJtYTuhjUXW43++Fb02hAj2\nC4NrJqqiveCw56rgrmfE04KlDKmk8DN5DVA/8O+QPSS5f9IgbOqX87+c3EfeCWG9\nlHmVWgJ2NWDERyIN93ZjA9PG+4PGXaut7WklKwNbTSUAQeOMhxdSqOAFK0NNFBPK\n5z9DIrw3pHXx9r867zIeru5YhpByugSsQEjvXMR4p6mPJ1rLeuxY8sIIWJBtTQOF\neXEVBQ5OPvnfDwX3XxRIViENM5KxrIzlGP6/D+7gBKq9IfJYtlyJCosYCSIaszXG\nZsL1MxWZgOAI+ZYvE4zu2reIxOk3tddq1zqETatwjNNOFFWgohD8ZNpn6PHLM93J\nmoqPli9Ygdn4mgBDzJD7VXb7huM3ASgMb/TpWU0Vd1FCSsw0uIBDUIHvV6UT26eU\neQ9Lyn4Xfa+jIWTocVVWjwawR+xZD11wWywWQvCGnnXea01ImITiVxi2nIKZZTqL\ngHhXDEkCAwEAAaOBjzCBjDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRds4CU\nG+WGv2i6FDSk9u5t8t3f5zAOBgNVHQ8BAf8EBAMCAQYwSgYDVR0fBEMwQTA/oD2g\nO4Y5aHR0cDovL2NybC5kLXRydXN0Lm5ldC9jcmwvZC10cnVzdF9zYnJfcm9vdF9j\nYV8yXzIwMjIuY3JsMA0GCSqGSIb3DQEBDQUAA4ICAQA0VC5YGFbNSr2X0/V9K9yv\nD1HhTbwhS5P0AEQTBxALJRg+SFmW96Hhk5B4Zho9I+siqwGmjgxRM+ZtjDHurKQB\ncDlI3sdmLGsNy3Ofh5LpPkcfuO8v7rdWjEiJ8DinFTmy7sA/F6RzAgicvAaKpMK3\nYWH5w9vE0Hp8Yd6xWJH13WVMLwv46z217Yq+dxy6WQISZnHlmCfODj2vUaJF+YL7\nWqWUcPeLhMNMZSWbe+IfMHCzQI467r3052jFnckpR3EOk8i1SE71ZrsHiHFpa3tI\njm/wEcS0yXAUmCC97afqAdpupZsS/j5EMLPw63VSwPTD+ncmpHeCLW/zKB5OlfAw\n94n4LKJQW/K+Mn5sVNtyySpa4By2C9hSmlmh47ABJ8WgFlBm3OuubfSbWz2EbVuH\n56mJu2644JtTicD/LkAaiUQuGENnOOR8cl/ZoyklQUE9HHcbZKjDVe5jcWZig/R/\nJpmgVDuhEm1wYs7T+bi9IvzUmtS74jgWL7d9OcKwqQPpnM9+GI123F8Ru+tC7FAJ\nPlzskDHYGnK6P2kH7pg0wjSk1toT1qmE8gCGwFS6HhGw4rnEB7SR56rmMVZvsUTE\nKmK8ybBlnDT8DBpT3yEXu8JtoQrm8bCqRAlQSTh6XXHiMS4ZsN+VQgR9hIjOCiNn\nazidFt4G/ihwOKVarvyD7Q==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx\nKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd\nBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl\nYyBHbG9iYWxSb290IENsYXNzIDIwHhcNMDgxMDAxMTA0MDE0WhcNMzMxMDAxMjM1\nOTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy\naXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50\nZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDIwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqX9obX+hzkeXaXPSi5kfl82hVYAUd\nAqSzm1nzHoqvNK38DcLZSBnuaY/JIPwhqgcZ7bBcrGXHX+0CfHt8LRvWurmAwhiC\nFoT6ZrAIxlQjgeTNuUk/9k9uN0goOA/FvudocP05l03Sx5iRUKrERLMjfTlH6VJi\n1hKTXrcxlkIF+3anHqP1wvzpesVsqXFP6st4vGCvx9702cu+fjOlbpSD8DT6Iavq\njnKgP6TeMFvvhk1qlVtDRKgQFRzlAVfFmPHmBiiRqiDFt1MmUUOyCxGVWOHAD3bZ\nwI18gfNycJ5v/hqO2V81xrJvNHy+SE/iWjnX2J14np+GPgNeGYtEotXHAgMBAAGj\nQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS/\nWSA2AHmgoCJrjNXyYdK4LMuCSjANBgkqhkiG9w0BAQsFAAOCAQEAMQOiYQsfdOhy\nNsZt+U2e+iKo4YFWz827n+qrkRk4r6p8FU3ztqONpfSO9kSpp+ghla0+AGIWiPAC\nuvxhI+YzmzB6azZie60EI4RYZeLbK4rnJVM3YlNfvNoBYimipidx5joifsFvHZVw\nIEoHNN/q/xWA5brXethbdXwFeilHfkCoMRN3zUA7tFFHei4R40cR3p1m0IvVVGb6\ng1XqfMIpiRvpb7PO4gWEyS8+eIVibslfwXhjdFjASBgMmTnrpMwatXlajRWc2BQN\n9noHV8cigwUtPJslJj0Ys6lDfMjIq2SPDqO/nBudMNva0Bkuqjzx+zOAduTNrRlP\nBSeOE6Fuwg==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDwzCCAqugAwIBAgIBATANBgkqhkiG9w0BAQsFADCBgjELMAkGA1UEBhMCREUx\nKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnByaXNlIFNlcnZpY2VzIEdtYkgxHzAd\nBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50ZXIxJTAjBgNVBAMMHFQtVGVsZVNl\nYyBHbG9iYWxSb290IENsYXNzIDMwHhcNMDgxMDAxMTAyOTU2WhcNMzMxMDAxMjM1\nOTU5WjCBgjELMAkGA1UEBhMCREUxKzApBgNVBAoMIlQtU3lzdGVtcyBFbnRlcnBy\naXNlIFNlcnZpY2VzIEdtYkgxHzAdBgNVBAsMFlQtU3lzdGVtcyBUcnVzdCBDZW50\nZXIxJTAjBgNVBAMMHFQtVGVsZVNlYyBHbG9iYWxSb290IENsYXNzIDMwggEiMA0G\nCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC9dZPwYiJvJK7genasfb3ZJNW4t/zN\n8ELg63iIVl6bmlQdTQyK9tPPcPRStdiTBONGhnFBSivwKixVA9ZIw+A5OO3yXDw/\nRLyTPWGrTs0NvvAgJ1gORH8EGoel15YUNpDQSXuhdfsaa3Ox+M6pCSzyU9XDFES4\nhqX2iys52qMzVNn6chr3IhUciJFrf2blw2qAsCTz34ZFiP0Zf3WHHx+xGwpzJFu5\nZeAsVMhg02YXP+HMVDNzkQI6pn97djmiH5a2OK61yJN0HZ65tOVgnS9W0eDrXltM\nEnAMbEQgqxHY9Bn20pxSN+f6tsIxO0rUFJmtxxr1XV/6B7h8DR/Wgx6zAgMBAAGj\nQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBS1\nA/d2O2GCahKqGFPrAyGUv/7OyjANBgkqhkiG9w0BAQsFAAOCAQEAVj3vlNW92nOy\nWL6ukK2YJ5f+AbGwUgC4TeQbIXQbfsDuXmkqJa9c1h3a0nnJ85cp4IaH3gRZD/FZ\n1GSFS5mvJQQeyUapl96Cshtwn5z2r3Ex3XsFpSzTucpH9sry9uetuUg/vBa3wW30\n6gmv7PO15wWeph6KU1HWk4HMdJP2udqmJQV0eVp+QD6CSyYRMG7hP0HHRwA11fXT\n91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml\ne9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4p\nTpPDpFQUWw==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICRzCCAc2gAwIBAgIQFSrdFMkY0aRWQIamJa8HXzAKBggqhkjOPQQDAzBlMQsw\nCQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBH\nbWJIMS0wKwYDVQQDDCRUZWxla29tIFNlY3VyaXR5IFNNSU1FIEVDQyBSb290IDIw\nMjEwHhcNMjEwMzE4MTEwODMwWhcNNDYwMzE3MjM1OTU5WjBlMQswCQYDVQQGEwJE\nRTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBHbWJIMS0wKwYD\nVQQDDCRUZWxla29tIFNlY3VyaXR5IFNNSU1FIEVDQyBSb290IDIwMjEwdjAQBgcq\nhkjOPQIBBgUrgQQAIgNiAASwGY+ia7XHzQ8wmTcMw2Bb8fEnIFU9wJKLq1ehb3OD\nIcJDEwxeiarHBTV5k2KQ1l0TH9F6oLyeEKdmfEYKsFdsv+ZUOTghbBJccczTWl9t\nt6eG37Pf7sLniUGWNfYvSrWjQjBAMB0GA1UdDgQWBBQrywEMY8NTEqWoV6/QnIP7\nvZA6SzAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQD\nAwNoADBlAjEA1rxIkodHA8dwOyW2H65GZ3N0ACdL5KUEogPfXiitbl4DyN1onLa/\nlBBIlS8P/xiLAjABQDOel5dNBfJ0VAzNOf1qawnBJD9hjjiht+jXRBURYv8OYTdH\nS0B/Sl+yZ1pzdcI=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFtzCCA5+gAwIBAgIQDH5i9XlzO51Djotj7ZGVuDANBgkqhkiG9w0BAQwFADBl\nMQswCQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0\neSBHbWJIMS0wKwYDVQQDDCRUZWxla29tIFNlY3VyaXR5IFNNSU1FIFJTQSBSb290\nIDIwMjMwHhcNMjMwMzI4MTIwOTIyWhcNNDgwMzI3MjM1OTU5WjBlMQswCQYDVQQG\nEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBHbWJIMS0w\nKwYDVQQDDCRUZWxla29tIFNlY3VyaXR5IFNNSU1FIFJTQSBSb290IDIwMjMwggIi\nMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDvxQ6LvjLSZ0f/Ckxnsyq/yMPF\nkeu1xx6R4WaoiItVIIAfUV53l54ZClzHazchfAM2AfSIJdmoLkGq/Ngm4JZAYnmu\nV54DOBocsncUPumhctDk4DfRF0btUFx6WMX4K/d1L8+BnlostzqsoFmYBFEM/0nF\nUP0e00eFSzNPoje1rwSaJzKdVtU/VWHji2+uUf6X/mkH+mJbJuYUeRWlEziuXze+\nlErWDYAWaaSRsjpJmHWdRhCKXHp/hKXorx7Hq7NaRrWjS/WmIzYARrHbBbYbzp56\nMlya1XLDnYZNK4TTHrWI2hB4nCLDOyO16xMHvW9T7Jvsm9Nl9QcJ412nmbV+ho7V\nAv+3hQnjRxTdlmYYNN4I1d/LGJliCyvsAF1SRNPGlvwyViWRz80ZO5U5PgKHmWO2\n1T40eg8RdYG8fQTKYLQoddcCUd1SAC7H/YnxXPPLpCcSOI+7+4nw5MQ4LL6CoHFh\nYpGPSAwvK6mw8csQBOd0vzeQ708qQzWXEsYqcA3eLFVHeWMp9cofagZSHK4tJCKD\nIq/QqjC3Kh//ZSNYZZPIjn1AEDGGeNlVyzww8N5RKgA20idFX9jooSE9fkZWOylF\n8R0FCc62QzDcRZAQMEyka4aLPz0vMZFx7ya59r6dsGzfEe5YP0N5hjmA8SYXB5jw\nmaowLENZFM7t4kAThQIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE\nFJrOrCrsAfplcN6XnfHSAIylo2S7MA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgw\nFoAUms6sKuwB+mVw3ped8dIAjKWjZLswDQYJKoZIhvcNAQEMBQADggIBAONQ/fVA\nFiIJljoNqe+B5y4y8KHxSV57iA0Ecte+Z6i6He5Qu3JuetG7DHIwRsjV1wISFplO\nHt9alu6Pkb6uhvgQd6XEbkdhwPIm2U9haAVIdQgVpaF71biziXnm7fHzYQCGey4x\n/qNc+Hk9tFuIe+Ajuw2hF/rLaA2Yd3EI4m1DdGvENsWUQaQA1lctmYqLIBIVAjIO\n0knsgUjFaidS17JzVVOWPJ5PTLWg0E9X0GcoSGS+xri67GTPyHvFaucq5llXttbU\n1sBnXNmeKAlAv/OpNTFlYAPLGWyClQMeXz/hvepJceVbtwtHFhsgiW2UmQx+iGwd\nDfS3IRpZl6zL6L4XH5V8U5uvUFKqjQsur1rXYPIqaSq57lRwGKq99aE/0t2hYxkA\n+KcM66N58nBZo/iiEgPsE//kAoY218HDpLXUpMI3RbaUcD3FveujFR3jNnoVaSpW\nNDnPpZo2qsjtebzP9s4EUwvaslAjfLw+Jq3wDkO7JsuuwkDeNx8KoFHNY522T9jG\nR3y82LTtnovzEeKotT7srnA+fiK7NUgXYGIUkTCjdj2mUTaLHw3dajEcpe3dlqNu\ncg8TTaqnqVx4+QMSGJM3RRKJPfi+yr3ZvgzZGGSnyEE+dYIhOH1l9KDUE0sHeCn5\nnX7Mhz/E2i6I3eML3FpRWunZEk+eAtv3BSVR\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICQjCCAcmgAwIBAgIQNjqWjMlcsljN0AFdxeVXADAKBggqhkjOPQQDAzBjMQsw\nCQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0eSBH\nbWJIMSswKQYDVQQDDCJUZWxla29tIFNlY3VyaXR5IFRMUyBFQ0MgUm9vdCAyMDIw\nMB4XDTIwMDgyNTA3NDgyMFoXDTQ1MDgyNTIzNTk1OVowYzELMAkGA1UEBhMCREUx\nJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkgR21iSDErMCkGA1UE\nAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgRUNDIFJvb3QgMjAyMDB2MBAGByqGSM49\nAgEGBSuBBAAiA2IABM6//leov9Wq9xCazbzREaK9Z0LMkOsVGJDZos0MKiXrPk/O\ntdKPD/M12kOLAoC+b1EkHQ9rK8qfwm9QMuU3ILYg/4gND21Ju9sGpIeQkpT0CdDP\nf8iAC8GXs7s1J8nCG6NCMEAwHQYDVR0OBBYEFONyzG6VmUex5rNhTNHLq+O6zd6f\nMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2cA\nMGQCMHVSi7ekEE+uShCLsoRbQuHmKjYC2qBuGT8lv9pZMo7k+5Dck2TOrbRBR2Di\nz6fLHgIwN0GMZt9Ba9aDAEH9L1r3ULRn0SyocddDypwnJJGDSA3PzfdUga/sf+Rn\n27iQ7t0l\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFszCCA5ugAwIBAgIQIZxULej27HF3+k7ow3BXlzANBgkqhkiG9w0BAQwFADBj\nMQswCQYDVQQGEwJERTEnMCUGA1UECgweRGV1dHNjaGUgVGVsZWtvbSBTZWN1cml0\neSBHbWJIMSswKQYDVQQDDCJUZWxla29tIFNlY3VyaXR5IFRMUyBSU0EgUm9vdCAy\nMDIzMB4XDTIzMDMyODEyMTY0NVoXDTQ4MDMyNzIzNTk1OVowYzELMAkGA1UEBhMC\nREUxJzAlBgNVBAoMHkRldXRzY2hlIFRlbGVrb20gU2VjdXJpdHkgR21iSDErMCkG\nA1UEAwwiVGVsZWtvbSBTZWN1cml0eSBUTFMgUlNBIFJvb3QgMjAyMzCCAiIwDQYJ\nKoZIhvcNAQEBBQADggIPADCCAgoCggIBAO01oYGA88tKaVvC+1GDrib94W7zgRJ9\ncUD/h3VCKSHtgVIs3xLBGYSJwb3FKNXVS2xE1kzbB5ZKVXrKNoIENqil/Cf2SfHV\ncp6R+SPWcHu79ZvB7JPPGeplfohwoHP89v+1VmLhc2o0mD6CuKyVU/QBoCcHcqMA\nU6DksquDOFczJZSfvkgdmOGjup5czQRxUX11eKvzWarE4GC+j4NSuHUaQTXtvPM6\nY+mpFEXX5lLRbtLevOP1Czvm4MS9Q2QTps70mDdsipWol8hHD/BeEIvnHRz+sTug\nBTNoBUGCwQMrAcjnj02r6LX2zWtEtefdi+zqJbQAIldNsLGyMcEWzv/9FIS3R/qy\n8XDe24tsNlikfLMR0cN3f1+2JeANxdKz+bi4d9s3cXFH42AYTyS2dTd4uaNir73J\nco4vzLuu2+QVUhkHM/tqty1LkCiCc/4YizWN26cEar7qwU02OxY2kTLvtkCJkUPg\n8qKrBC7m8kwOFjQgrIfBLX7JZkcXFBGk8/ehJImr2BrIoVyxo/eMbcgByU/J7MT8\nrFEz0ciD0cmfHdRHNCk+y7AO+oMLKFjlKdw/fKifybYKu6boRhYPluV75Gp6SG12\nmAWl3G0eQh5C2hrgUve1g8Aae3g1LDj1H/1Joy7SWWO/gLCMk3PLNaaZlSJhZQNg\n+y+TS/qanIA7AgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtqeX\ngj10hZv3PJ+TmpV5dVKMbUcwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS2\np5eCPXSFm/c8n5OalXl1UoxtRzANBgkqhkiG9w0BAQwFAAOCAgEAqMxhpr51nhVQ\npGv7qHBFfLp+sVr8WyP6Cnf4mHGCDG3gXkaqk/QeoMPhk9tLrbKmXauw1GLLXrtm\n9S3ul0A8Yute1hTWjOKWi0FpkzXmuZlrYrShF2Y0pmtjxrlO8iLpWA1WQdH6DErw\nM807u20hOq6OcrXDSvvpfeWxm4bu4uB9tPcy/SKE8YXJN3nptT+/XOR0so8RYgDd\nGGah2XsjX/GO1WfoVNpbOms2b/mBsTNHM3dA+VKq3dSDz4V4mZqTuXNnQkYRIer+\nCqkbGmVps4+uFrb2S1ayLfmlyOw7YqPta9BO1UAJpB+Y1zqlklkg5LB9zVtzaL1t\nxKITDmcZuI1CfmwMmm6gJC3VRRvcxAIU/oVbZZfKTpBQCHpCNfnqwmbU+AGuHrS+\nw6jv/naaoqYfRvaE7fzbzsQCzndILIyy7MMAo+wsVRjBfhnu4S/yrYObnqsZ38aK\nL4x35bcF7DvB7L6Gs4a8wPfc5+pbrrLMtTWGS9DiP7bY+A4A7l3j941Y/8+LN+lj\nX273CXE2whJdV/LItM3z7gLfEdxquVeEHVlNjM7IDiPCtyaaEBRx/pOyiriA8A4Q\nntOoUAw3gi/q4Iqd4Sw5/7W0cwDk90imc6y/st53BIe0o82bNSQ3+pCTE4FCxpgm\ndTdmQRCsu/WU48IxK63nI1bMNSWSs1A=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDtzCCAp+gAwIBAgIQDOfg5RfYRv6P5WD8G/AwOTANBgkqhkiG9w0BAQUFADBl\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv\nb3QgQ0EwHhcNMDYxMTEwMDAwMDAwWhcNMzExMTEwMDAwMDAwWjBlMQswCQYDVQQG\nEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl\ncnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgQ0EwggEi\nMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtDhXO5EOAXLGH87dg+XESpa7c\nJpSIqvTO9SA5KFhgDPiA2qkVlTJhPLWxKISKityfCgyDF3qPkKyK53lTXDGEKvYP\nmDI2dsze3Tyoou9q+yHyUmHfnyDXH+Kx2f4YZNISW1/5WBg1vEfNoTb5a3/UsDg+\nwRvDjDPZ2C8Y/igPs6eD1sNuRMBhNZYW/lmci3Zt1/GiSw0r/wty2p5g0I6QNcZ4\nVYcgoc/lbQrISXwxmDNsIumH0DJaoroTghHtORedmTpyoeb6pNnVFzF1roV9Iq4/\nAUaG9ih5yLHa5FcXxH4cDrC0kqZWs72yl+2qp/C3xag/lRbQ/6GW6whfGHdPAgMB\nAAGjYzBhMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW\nBBRF66Kv9JLLgjEtUYunpyGd823IDzAfBgNVHSMEGDAWgBRF66Kv9JLLgjEtUYun\npyGd823IDzANBgkqhkiG9w0BAQUFAAOCAQEAog683+Lt8ONyc3pklL/3cmbYMuRC\ndWKuh+vy1dneVrOfzM4UKLkNl2BcEkxY5NM9g0lFWJc1aRqoR+pWxnmrEthngYTf\nfwk8lOa4JiwgvT2zKIn3X/8i4peEH+ll74fg38FnSbNd67IJKusm7Xi+fT8r87cm\nNW1fiQG2SVufAQWbqz0lwcy2f8Lxb4bG+mRo64EtlOtCt/qMHt1i8b5QZ7dsvfPx\nH2sMNgcWfzd8qVttevESRmCD1ycEvkvOl77DZypoEd+A5wwzZr8TDRRu838fYxAe\n+o0bJW1sj6W3YQGx0qMmoRBxna3iw/nDmVG3KwcIzi7mULKn+gpFL6Lw8g==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDljCCAn6gAwIBAgIQC5McOtY5Z+pnI7/Dr5r0SzANBgkqhkiG9w0BAQsFADBl\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv\nb3QgRzIwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQG\nEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNl\ncnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzIwggEi\nMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZ5ygvUj82ckmIkzTz+GoeMVSA\nn61UQbVH35ao1K+ALbkKz3X9iaV9JPrjIgwrvJUXCzO/GU1BBpAAvQxNEP4Htecc\nbiJVMWWXvdMX0h5i89vqbFCMP4QMls+3ywPgym2hFEwbid3tALBSfK+RbLE4E9Hp\nEgjAALAcKxHad3A2m67OeYfcgnDmCXRwVWmvo2ifv922ebPynXApVfSr/5Vh88lA\nbx3RvpO704gqu52/clpWcTs/1PPRCv4o76Pu2ZmvA9OPYLfykqGxvYmJHzDNw6Yu\nYjOuFgJ3RFrngQo8p0Quebg/BLxcoIfhG69Rjs3sLPr4/m3wOnyqi+RnlTGNAgMB\nAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQW\nBBTOw0q5mVXyuNtgv6l+vVa1lzan1jANBgkqhkiG9w0BAQsFAAOCAQEAyqVVjOPI\nQW5pJ6d1Ee88hjZv0p3GeDgdaZaikmkuOGybfQTUiaWxMTeKySHMq2zNixya1r9I\n0jJmwYrA8y8678Dj1JGG0VDjA9tzd29KOVPt3ibHtX2vK0LRdWLjSisCx1BL4Gni\nlmwORGYQRI+tBev4eaymG+g3NJ1TyWGqolKvSnAWhsI6yLETcDbYz+70CjTVW0z9\nB5yiutkBclzzTcHdDrEcDcRjvq30FPuJ7KJBDkzMyFdA0G4Dqs0MjomZmWzwPDCv\nON9vvKO+KSAnq3T/EyJ43pdSVR6DtVQgA+6uwE9W3jfMw3+qBCe703e4YtsXfJwo\nIhNzbM8m9Yop5w==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICRjCCAc2gAwIBAgIQC6Fa+h3foLVJRK/NJKBs7DAKBggqhkjOPQQDAzBlMQsw\nCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu\nZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3Qg\nRzMwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBlMQswCQYDVQQGEwJV\nUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu\nY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJvb3QgRzMwdjAQBgcq\nhkjOPQIBBgUrgQQAIgNiAAQZ57ysRGXtzbg/WPuNsVepRC0FFfLvC/8QdJ+1YlJf\nZn4f5dwbRXkLzMZTCp2NXQLZqVneAlr2lSoOjThKiknGvMYDOAdfVdp+CW7if17Q\nRSAPWXYQ1qAk8C3eNvJsKTmjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/\nBAQDAgGGMB0GA1UdDgQWBBTL0L2p4ZgFUaFNN6KDec6NHSrkhDAKBggqhkjOPQQD\nAwNnADBkAjAlpIFFAmsSS3V0T8gj43DydXLefInwz5FyYZ5eEJJZVrmDxxDnOOlY\nJjZ91eQ0hjkCMHw2U/Aw5WJjOpnitqM7mzT6HtoQknFekROn3aRukswy1vUhZscv\n6pZjamVFkpUBtA==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD\nQTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB\nCSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97\nnh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt\n43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P\nT19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4\ngdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO\nBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR\nTLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw\nDQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr\nhMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg\n06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF\nPnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls\nYSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk\nCAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\nMjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\nb20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG\n9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI\n2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx\n1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ\nq2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz\ntCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ\nvIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV\n5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY\n1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4\nNeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG\nFdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91\n8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe\npLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl\nMrY=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw\nCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu\nZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe\nFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw\nEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x\nIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF\nK4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG\nfp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO\nZ9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd\nBgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx\nAK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/\noAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8\nsycX\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j\nZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL\nMAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3\nLmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug\nRVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm\n+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW\nPNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM\nxChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB\nIk5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3\nhzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg\nEsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF\nMAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA\nFLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec\nnzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z\neM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF\nhS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2\nYzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe\nvEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep\n+OkuE6N36B9K\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICHDCCAaOgAwIBAgIQBT9uoAYBcn3tP8OjtqPW7zAKBggqhkjOPQQDAzBQMQsw\nCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xKDAmBgNVBAMTH0Rp\nZ2lDZXJ0IFNNSU1FIEVDQyBQMzg0IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcN\nNDYwMTE0MjM1OTU5WjBQMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs\nIEluYy4xKDAmBgNVBAMTH0RpZ2lDZXJ0IFNNSU1FIEVDQyBQMzg0IFJvb3QgRzUw\ndjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQWnVXlttT7+2drGtShqtJ3lT6I5QeftnBm\nICikiOxwNa+zMv83E0qevAED3oTBuMbmZUeJ8hNVv82lHghgf61/6GGSKc8JR14L\nHMAfpL/yW7yY75lMzHBrtrrQKB2/vgSjQjBAMB0GA1UdDgQWBBRzemuW20IHi1Jm\nwmQyF/7gZ5AurTAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAKBggq\nhkjOPQQDAwNnADBkAjA3RPUygONx6/Rtz3zMkZrDbnHY0iNdkk2CQm1cYZX2kfWn\nCPZql+mclC2YcP0ztgkCMAc8L7lYgl4Po2Kok2fwIMNpvwMsO1CnO69BOMlSSJHW\nDvu8YDB8ZD8SHkV/UT70pg==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFajCCA1KgAwIBAgIQBfa6BCODRst9XOa5W7ocVTANBgkqhkiG9w0BAQwFADBP\nMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJzAlBgNVBAMT\nHkRpZ2lDZXJ0IFNNSU1FIFJTQTQwOTYgUm9vdCBHNTAeFw0yMTAxMTUwMDAwMDBa\nFw00NjAxMTQyMzU5NTlaME8xCzAJBgNVBAYTAlVTMRcwFQYDVQQKEw5EaWdpQ2Vy\ndCwgSW5jLjEnMCUGA1UEAxMeRGlnaUNlcnQgU01JTUUgUlNBNDA5NiBSb290IEc1\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4Gpb2fj5fey1e+9f3Vw0\n2Npd0ctldashfFsA1IJvRYVBiqkSAnIy8BT1A3W7Y5dJD0CZCxoeVqfS0OGr3eUE\nG+MfFBICiPWggAn2J5pQ8LrjouCsahSRtWs4EHqiMeGRG7e58CtbyHcJdrdRxDYK\nmVNURCW3CTWGFwVWkz1BtwLXYh+KkhGH6hFt6ggR3LF4SEmS9rRRgHgj2P7hVho6\nkBNWNInV4pWLX96yzPs/OLeF9+qevy6hLi9NfWoRLjag/xEIBJVV4Bs7Z5OplFXq\nMu0GOn/Cf+OtEyfRNEGzMMO/tIj4A4Kk3z6reHegWZNx593rAAR7zEg5KOAeoxVp\nyDayoQuX31XW75GcpPYW91EK7gMjkdwE/+DdOPYiAwDCB3EaEsnXRiqUG83Wuxvu\nv75NUFiwC80wdin1z+W2ai92sLBpatBtZRg1fpO8chfBVULNL8Ilu/T9HaFkIlRd\n4p5yQYRucZbqRQe2XnpKhp1zZHc4A9IPU6VVIMRN/2hvVanq3XHkT9mFo3xOKQKe\nCwnyGlPMAKbd0TT2DcEwsZwCZKw17aWwKbHSlTMP0iAzvewjS/IZ+dqYZOQsMR8u\n4Y0cBJUoTYxYzUvlc4KGjOyo1nlc+2S73AxMKPYXr+Jo1haGmNv8AdwxuvicDvko\nRkrh/ZYGRXkRaBdlXIsmh1sCAwEAAaNCMEAwHQYDVR0OBBYEFNGj1FcdT1XbdUxc\nQp5jFs60xjsfMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MA0GCSqG\nSIb3DQEBDAUAA4ICAQAHpwreU7ua63C/sjaQzeSnuPEM5F1aHXhl/Mm4HiMRV3xp\nNW0B/1NQvwcOuscBP1gqlHUDqxwLI9wbih43PR1Yj3PZsypv3xCgWwynyrB/uSSi\nATUy5V5GQevYf3PnQumkUSZ3gQqo6w8KUJ1+iiBn/AuOOhHTxYxgGNlLsfzU8bRJ\nTq6H4dH7dqFf8wbPl5YM6Z51gVxTDSL8NuZJbnTbAIWNfCKgjvsQTNRiE1vvS3Im\ni/xOio/+lxBTxXiLQmQbX+CJ/bsJf1DgVIUmEWodZflJKdx8Nt/7PffSrO4yjW6m\nfTmcRcTKDfU7tHlTpS9Wx1HFikxkXZBDI45rTBd4zOi/9TvkqEjPrZsM3zJK09kS\njiN4DS2vn6+ePAnClwDtOmkccT8539OPxGb17zaUD/PdkraWX5Cm3XOqpiCUlCVq\nCQxy5BMjYEyjyhcue2cA29DN6nofOSZXiTB3y07llUVPX/s2XD35ILU6ECVPkzJa\n7sGW6OlWBLBJYU3seKidGMH/2OovVu+VK3sEXmfjVUDtOQT5C3n1aoxcD4makMfN\ni97bJjWhbs2zQvKiDzsMjpP/FM/895P35EEIbhlSEQ9TGXN4DM/YhYH4rVXIsJ5G\nY6+cUu5cv/DAWzceCSDSPiPGoRVKDjZ+MMV5arwiiNkMUkAf3U4PZyYW0q0XHA==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQsw\nCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURp\nZ2lDZXJ0IFRMUyBFQ0MgUDM4NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2\nMDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ\nbmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQgUm9vdCBHNTB2MBAG\nByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1TzvdlHJS\n7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp\n0zVozptjn4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICIS\nB4CIfBFqMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49\nBAMDA2gAMGUCMQCJao1H5+z8blUD2WdsJk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQ\nLgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIxAJSdYsiJvRmEFOml+wG4\nDXZDjC5Ty3zfDBeWUA==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIQCPm0eKj6ftpqMzeJ3nzPijANBgkqhkiG9w0BAQwFADBN\nMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMT\nHERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcN\nNDYwMTE0MjM1OTU5WjBNMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs\nIEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwggIi\nMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz0PTJeRGd/fxmgefM1eS87IE+\najWOLrfn3q/5B03PMJ3qCQuZvWxX2hhKuHisOjmopkisLnLlvevxGs3npAOpPxG0\n2C+JFvuUAT27L/gTBaF4HI4o4EXgg/RZG5Wzrn4DReW+wkL+7vI8toUTmDKdFqgp\nwgscONyfMXdcvyej/Cestyu9dJsXLfKB2l2w4SMXPohKEiPQ6s+d3gMXsUJKoBZM\npG2T6T867jp8nVid9E6P/DsjyG244gXazOvswzH016cpVIDPRFtMbzCe88zdH5RD\nnU1/cHAN1DrRN/BsnZvAFJNY781BOHW8EwOVfH/jXOnVDdXifBBiqmvwPXbzP6Po\nsMH976pXTayGpxi0KcEsDr9kvimM2AItzVwv8n/vFfQMFawKsPHTDU9qTXeXAaDx\nZre3zu/O7Oyldcqs4+Fj97ihBMi8ez9dLRYiVu1ISf6nL3kwJZu6ay0/nTvEF+cd\nLvvyz6b84xQslpghjLSR6Rlgg/IwKwZzUNWYOwbpx4oMYIwo+FKbbuH2TbsGJJvX\nKyY//SovcfXWJL5/MZ4PbeiPT02jP/816t9JXkGPhvnxd3lLG7SjXi/7RgLQZhNe\nXoVPzthwiHvOAbWWl9fNff2C+MIkwcoBOU+NosEUQB+cZtUMCUbW8tDRSHZWOkPL\ntgoRObqME2wGtZ7P6wIDAQABo0IwQDAdBgNVHQ4EFgQUUTMc7TZArxfTJc1paPKv\nTiM+s0EwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcN\nAQEMBQADggIBAGCmr1tfV9qJ20tQqcQjNSH/0GEwhJG3PxDPJY7Jv0Y02cEhJhxw\nGXIeo8mH/qlDZJY6yFMECrZBu8RHANmfGBg7sg7zNOok992vIGCukihfNudd5N7H\nPNtQOa27PShNlnx2xlv0wdsUpasZYgcYQF+Xkdycx6u1UQ3maVNVzDl92sURVXLF\nO4uJ+DQtpBflF+aZfTCIITfNMBc9uPK8qHWgQ9w+iUuQrm0D4ByjoJYJu32jtyoQ\nREtGBzRj7TG5BO6jm5qu5jF49OokYTurWGT/u4cnYiWB39yhL/btp/96j1EuMPik\nAdKFOV8BmZZvWltwGUb+hmA+rYAQCd05JS9Yf7vSdPD3Rh9GOUrYU9DzLjtxpdRv\n/PNn5AeP3SYZ4Y1b+qOTEZvpyDrDVWiakuFSdjjo4bq9+0/V77PnSIMx8IIh47a+\np6tv75/fTM8BuGJqIz3nCU2AG3swpMPdB380vqQmsvZB6Akd4yCYqjdP//fx4ilw\nMUc/dNAUFvohigLVigmUdy7yWSiLfFCSCmZ4OIN1xLVaqBHG5cGdZlXPU8Sv13WF\nqUITVuwhd4GTWgzqltlJyqEI8pc7bZsEGCREjnwB8twl2F6GmrE52/WRMmrRpnCK\novfepEWFJqgejF0pW8hL2JpqA15w8oVPbEtoL8pU9ozaMv7Da4M/OMZ+\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg\nRzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV\nUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu\nY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG\nSIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y\nithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If\nxp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV\nySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO\nDCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ\njdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/\nCNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi\nEhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM\nfRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY\nuKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK\nchYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t\n9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB\nhjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD\nggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2\nSV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd\n+SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc\nfFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa\nsjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N\ncCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N\n0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie\n4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI\nr/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1\n/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm\ngKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICajCCAfCgAwIBAgIUNi2PcoiiKCfkAP8kxi3k6/qdtuEwCgYIKoZIzj0EAwMw\nZDELMAkGA1UEBhMCUFQxKjAoBgNVBAoMIURpZ2l0YWxTaWduIENlcnRpZmljYWRv\ncmEgRGlnaXRhbDEpMCcGA1UEAwwgRElHSVRBTFNJR04gR0xPQkFMIFJPT1QgRUNE\nU0EgQ0EwHhcNMjEwMTIxMTEwNzUwWhcNNDYwMTE1MTEwNzUwWjBkMQswCQYDVQQG\nEwJQVDEqMCgGA1UECgwhRGlnaXRhbFNpZ24gQ2VydGlmaWNhZG9yYSBEaWdpdGFs\nMSkwJwYDVQQDDCBESUdJVEFMU0lHTiBHTE9CQUwgUk9PVCBFQ0RTQSBDQTB2MBAG\nByqGSM49AgEGBSuBBAAiA2IABG4Lo6szTRzqSuj8BI0UoH3wCCxfg6uT0dJ7utdJ\nfY/sElBf1LnL5fD5M2MfyVfsQNgRC5foUhbMKY70BoYeONw9V8Tuqr3IVAQmWicT\nUUc9Hx8ajqiVpDPQzEfMbbj8SKNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME\nGDAWgBTOr0qLGnXi8TjnAvAWrV7qZNV7tDAdBgNVHQ4EFgQUzq9Kixp14vE45wLw\nFq1e6mTVe7QwDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2gAMGUCMAqIxHGc\nRANNjbTHvKiu2TAnNWprFmPX/OdZ4aeJG0wxmiNVRObzQyHVRydvbVcBqgIxAPuy\n6uKXf1G1n0jrvG81iahkcKtXds3AxhRgyn/iggBz98w16o4km+UIWccEjHN4/g==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFtTCCA52gAwIBAgIUXVnIyqsJV/XmtdoplARq/8XUlYcwDQYJKoZIhvcNAQEN\nBQAwYjELMAkGA1UEBhMCUFQxKjAoBgNVBAoMIURpZ2l0YWxTaWduIENlcnRpZmlj\nYWRvcmEgRGlnaXRhbDEnMCUGA1UEAwweRElHSVRBTFNJR04gR0xPQkFMIFJPT1Qg\nUlNBIENBMB4XDTIxMDEyMTEwNTAzNFoXDTQ2MDExNTEwNTAzNFowYjELMAkGA1UE\nBhMCUFQxKjAoBgNVBAoMIURpZ2l0YWxTaWduIENlcnRpZmljYWRvcmEgRGlnaXRh\nbDEnMCUGA1UEAwweRElHSVRBTFNJR04gR0xPQkFMIFJPT1QgUlNBIENBMIICIjAN\nBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAyIe2ONMc8N4S+IPHxIriibi0Inp4\n+AxmUWh2NwrVT8JaCLgWXPdyAQk3hIEqVGvXktBs+qinQxI06w7bNw8p/ooxUULo\nS5yQqMgsEdP9oCl+zt6U9oLgWLRORSXxIvI90w97VBrcMrbWUU5+QbRXuCzGuQ4u\nylfx1cjTWOel6UIRrtMgJZRp14/Kog3D058HaD8V0mcuU/12gpsLc6kpDZ4RkxQI\nmOyeVBJKVqIGFexrbC6SYC6GDa6CH1FN47IH1xAZVyL2qWlEhPPZPaAGv8yIfn/1\nzlulwipqdELqb6b/+Wix0F+9kdJVbzNXTB6d5OKLwYVloOBqnAAAiJLdWAgW8nAx\nqBzh3r1OcenWvn61oVrDTfe/m72UpP31qlOTRskmAQRwxKBxus4lZvuRflVw7kkK\nTWJ/wlCacvIYZ53pRag0hOj4gfbRWiIeB087s3/dEaVz3L6pGTppqW0bMuKJqqUn\nC1p+dOIPZDldfly5wRf8x41eyewk7dLyP3qERTcCvj5rWcTmWxZtwKqeqrVZLixw\nVZzMmZaYJFTRjtrKtBG0t3BDH2+QCyCgqHYTZdvbI1p1S6ELMXcK7n1oYRoTjOpR\nflxWo1dMXaHrE2W/VBTM8+7c1+w8l/J4Vrjfclxw/M4G3Z/SBzHv51KRns2618AY\nRAcxZUkyaRNK648CAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAW\ngBS1Nrw8jBqrLPZZGS2DFNqTJRXWhjAdBgNVHQ4EFgQUtTa8PIwaqyz2WRktgxTa\nkyUV1oYwDgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBDQUAA4ICAQAU+zElODH4\nygiyI3Y4rfjTWfXMtFcl4US+fvwW7K76Jp9PZxZKVvD97ccZATSOkFot1oBc7HHS\ngSWCHgBx35rR1R0iu9Gl82IPtOvcJHP+plbNmhTFBDUWMaIH66UA4rb4X3L9P2FJ\njt5+TTjXeh50N2xR3L4ABLg4FPMgwe2bpyP9DUKEHX/yc8PQeGPxn+zXW+nxvmyg\nSwOejWnhFNqIEIEjU//aVCsLxrmWlQQYRvN7qJfYW2ik5DgcDkXlmNMJrppe7LN5\nDTly8vSUnQ6eYCLmqPZMhc0HgjpoOc09X+M49LavO2tKn2BRRaJAAuWqDOM+0XjU\nonScJroFmihwSj6mC9AdSfC6+K5BEH6kBxK9qM8pPVe7x/FDRwA+rnAYWiB7Ccs6\nOnCA5UxgmMEVwR1K98jwm+FyreddaFgLBLGMvJ+3+26LWwRV++sjVdd4UNoly74n\nNrskGnkcUdH+E7v/eCzcpL4v9sVLU8+nTJlecKxZiASuZAS/e6Z6TdPod72hflAV\n8+9JMIVNIVeq2yx1l62BAYeisXCdHgZaA2CxP6ZtgizUFLGBpeg9iB20cixYN4qO\nOJS4c92p4Lj2d6KzfFjermk6tYulGrvy2HQGnP1icyAhdrF+cJ4Z1OsXYhk4mc02\nK0f+McvfueSsCNPYpuvUnn5LZKRVXSsXyQ==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFaTCCA1GgAwIBAgIJAJK4iNuwisFjMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV\nBAYTAlNLMRMwEQYDVQQHEwpCcmF0aXNsYXZhMRMwEQYDVQQKEwpEaXNpZyBhLnMu\nMRkwFwYDVQQDExBDQSBEaXNpZyBSb290IFIyMB4XDTEyMDcxOTA5MTUzMFoXDTQy\nMDcxOTA5MTUzMFowUjELMAkGA1UEBhMCU0sxEzARBgNVBAcTCkJyYXRpc2xhdmEx\nEzARBgNVBAoTCkRpc2lnIGEucy4xGTAXBgNVBAMTEENBIERpc2lnIFJvb3QgUjIw\nggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCio8QACdaFXS1tFPbCw3Oe\nNcJxVX6B+6tGUODBfEl45qt5WDza/3wcn9iXAng+a0EE6UG9vgMsRfYvZNSrXaNH\nPWSb6WiaxswbP7q+sos0Ai6YVRn8jG+qX9pMzk0DIaPY0jSTVpbLTAwAFjxfGs3I\nx2ymrdMxp7zo5eFm1tL7A7RBZckQrg4FY8aAamkw/dLukO8NJ9+flXP04SXabBbe\nQTg06ov80egEFGEtQX6sx3dOy1FU+16SGBsEWmjGycT6txOgmLcRK7fWV8x8nhfR\nyyX+hk4kLlYMeE2eARKmK6cBZW58Yh2EhN/qwGu1pSqVg8NTEQxzHQuyRpDRQjrO\nQG6Vrf/GlK1ul4SOfW+eioANSW1z4nuSHsPzwfPrLgVv2RvPN3YEyLRa5Beny912\nH9AZdugsBbPWnDTYltxhh5EF5EQIM8HauQhl1K6yNg3ruji6DOWbnuuNZt2Zz9aJ\nQfYEkoopKW1rOhzndX0CcQ7zwOe9yxndnWCywmZgtrEE7snmhrmaZkCo5xHtgUUD\ni/ZnWejBBhG93c+AAk9lQHhcR1DIm+YfgXvkRKhbhZri3lrVx/k6RGZL5DJUfORs\nnLMOPReisjQS1n6yqEm70XooQL6iFh/f5DcfEXP7kAplQ6INfPgGAVUzfbANuPT1\nrqVCV3w2EYx7XsQDnYx5nQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1Ud\nDwEB/wQEAwIBBjAdBgNVHQ4EFgQUtZn4r7CU9eMg1gqtzk5WpC5uQu0wDQYJKoZI\nhvcNAQELBQADggIBACYGXnDnZTPIgm7ZnBc6G3pmsgH2eDtpXi/q/075KMOYKmFM\ntCQSin1tERT3nLXK5ryeJ45MGcipvXrA1zYObYVybqjGom32+nNjf7xueQgcnYqf\nGopTpti72TVVsRHFqQOzVju5hJMiXn7B9hJSi+osZ7z+Nkz1uM/Rs0mSO9MpDpkb\nlvdhuDvEK7Z4bLQjb/D907JedR+Zlais9trhxTF7+9FGs9K8Z7RiVLoJ92Owk6Ka\n+elSLotgEqv89WBW7xBci8QaQtyDW2QOy7W81k/BfDxujRNt+3vrMNDcTa/F1bal\nTFtxyegxvug4BkihGuLq0t4SOVga/4AOgnXmt8kHbA7v/zjxmHHEt38OFdAlab0i\nnSvtBfZGR6ztwPDUO+Ls7pZbkBNOHlY667DvlruWIxG68kOGdGSVyCh13x01utI3\ngzhTODY7z2zp+WsO0PsE6E9312UBeIYMej4hYvF/Y3EMyZ9E26gnonW+boE+18Dr\nG5gPcFw0sorMwIUY6256s/daoQe/qUKS82Ail+QUoQebTnbAjn39pCXHR+3/H3Os\nzMOl6W8KjptlwlCFtaOgUxLMVYdh84GuEEZhvUQhuMI9dM9+JDX6HAcOmz0iyu8x\nL4ysEr3vQCj8KWefshNPZiTEUxnpHikV7+ZtsH8tZ/3zbBt1RqPlShfppNcL\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFgjCCA2qgAwIBAgILWku9WvtPilv6ZeUwDQYJKoZIhvcNAQELBQAwTTELMAkG\nA1UEBhMCQVQxIzAhBgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkw\nFwYDVQQDExBHTE9CQUxUUlVTVCAyMDIwMB4XDTIwMDIxMDAwMDAwMFoXDTQwMDYx\nMDAwMDAwMFowTTELMAkGA1UEBhMCQVQxIzAhBgNVBAoTGmUtY29tbWVyY2UgbW9u\naXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVTVCAyMDIwMIICIjANBgkq\nhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAri5WrRsc7/aVj6B3GyvTY4+ETUWiD59b\nRatZe1E0+eyLinjF3WuvvcTfk0Uev5E4C64OFudBc/jbu9G4UeDLgztzOG53ig9Z\nYybNpyrOVPu44sB8R85gfD+yc/LAGbaKkoc1DZAoouQVBGM+uq/ufF7MpotQsjj3\nQWPKzv9pj2gOlTblzLmMCcpL3TGQlsjMH/1WljTbjhzqLL6FLmPdqqmV0/0plRPw\nyJiT2S0WR5ARg6I6IqIoV6Lr/sCMKKCmfecqQjuCgGOlYx8ZzHyyZqjC0203b+J+\nBlHZRYQfEs4kUmSFC0iAToexIiIwquuuvuAC4EDosEKAA1GqtH6qRNdDYfOiaxaJ\nSaSjpCuKAsR49GiKweR6NrFvG5Ybd0mN1MkGco/PU+PcF4UgStyYJ9ORJitHHmkH\nr96i5OTUawuzXnzUJIBHKWk7buis/UDr2O1xcSvy6Fgd60GXIsUf1DnQJ4+H4xj0\n4KlGDfV0OoIu0G4skaMxXDtG6nsEEFZegB31pWXogvziB4xiRfUg3kZwhqG8k9Me\ndKZssCz3AwyIDMvUclOGvGBG85hqwvG/Q/lwIHfKN0F5VVJjjVsSn8VoxIidrPIw\nq7ejMZdnrY8XD2zHc+0klGvIg5rQmjdJBKuxFshsSUktq6HQjJLyQUp5ISXbY9e2\nnKd+Qmn7OmMCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC\nAQYwHQYDVR0OBBYEFNwuH9FhN3nkq9XVsxJxaD1qaJwiMB8GA1UdIwQYMBaAFNwu\nH9FhN3nkq9XVsxJxaD1qaJwiMA0GCSqGSIb3DQEBCwUAA4ICAQCR8EICaEDuw2jA\nVC/f7GLDw56KoDEoqoOOpFaWEhCGVrqXctJUMHytGdUdaG/7FELYjQ7ztdGl4wJC\nXtzoRlgHNQIw4Lx0SsFDKv/bGtCwr2zD/cuz9X9tAy5ZVp0tLTWMstZDFyySCstd\n6IwPS3BD0IL/qMy/pJTAvoe9iuOTe8aPmxadJ2W8esVCgmxcB9CpwYhgROmYhRZf\n+I/KARDOJcP5YBugxZfD0yyIMaK9MOzQ0MAS8cE54+X1+NZK3TTN+2/BT+MAi1bi\nkvcoskJ3ciNnxz8RFbLEAwW+uxF7Cr+obuf/WEPPm2eggAe2HcqtbepBEX4tdJP7\nwry+UUTF72glJ4DjyKDUEuzZpTcdN3y0kcra1LGWge9oXHYQSa9+pTeAsRxSvTOB\nTI/53WXZFM2KJVj04sWDpQmQ1GwUY7VA3+vA/MRYfg0UFodUJ25W5HCEuGwyEn6C\nMUO+1918oa2u1qsgEu8KwxCMSZY13At1XrFP1U80DhEgB3VDRemjEdqso5nCtnkn\n4rnvyOL2NSl6dPrFf4IFYqYK6miyeUcGbvJXqBUzxvd4Sj1Ce2t+/vdG6tHrju+I\naFvowdlxfv1k7/9nR4hYJS8+hge9+6jlgqispdNpQ80xiEmEU5LAsTkbOYMBMMTy\nqfrQA71yN2BWHzZ8vTmR9W0Nv3vXkg==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQG\nEwJVUzETMBEGA1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMx\nIDAeBgNVBAMTF2VtU2lnbiBFQ0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAw\nMFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln\nbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQDExdlbVNpZ24gRUND\nIFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd6bci\nMK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4Ojavti\nsIGJAnB9SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0O\nBBYEFPtaSNCAIEDyqOkAB2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMB\nAf8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQC02C8Cif22TGK6Q04ThHK1rt0c\n3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwUZOR8loMRnLDRWmFLpg9J\n0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQG\nEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNo\nbm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g\nRzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4MTgzMDAwWjBrMQswCQYDVQQGEwJJ\nTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9s\nb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMw\ndjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0\nWXTsuwYc58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xyS\nfvalY8L1X44uT6EYGQIrMgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuB\nzhccLikenEhjQjAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggq\nhkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+DCBeQyh+KTOgNG3qxrdWB\nCUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7jHvrZQnD\n+JbNR6iC8hZVdyR+EhCVBCyj\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkG\nA1UEBhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEg\nSW5jMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAw\nMFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UEBhMCVVMxEzARBgNVBAsTCmVtU2ln\nbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNpZ24gUm9v\ndCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+upufGZ\nBczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZ\nHdPIWoU/Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH\n3DspVpNqs8FqOp099cGXOFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvH\nGPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4VI5b2P/AgNBbeCsbEBEV5f6f9vtKppa+c\nxSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleoomslMuoaJuvimUnzYnu3Yy1\naylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+XJGFehiq\nTbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL\nBQADggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87\n/kOXSTKZEhVb3xEp/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4\nkqNPEjE2NuLe/gDEo2APJ62gsIq1NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrG\nYQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9wC68AivTxEDkigcxHpvOJpkT\n+xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQBmIMMMAVSKeo\nWXzhriKi4gp6D/piq1JM4fHfyr6DDUI=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYD\nVQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBU\nZWNobm9sb2dpZXMgTGltaXRlZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBH\nMTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgxODMwMDBaMGcxCzAJBgNVBAYTAklO\nMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVkaHJhIFRlY2hub2xv\nZ2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIBIjAN\nBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQz\nf2N4aLTNLnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO\n8oG0x5ZOrRkVUkr+PHB1cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aq\nd7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHWDV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhM\ntTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ6DqS0hdW5TUaQBw+jSzt\nOd9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrHhQIDAQAB\no0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQD\nAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31x\nPaOfG1vR2vjTnGs2vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjM\nwiI/aTvFthUvozXGaCocV685743QNcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6d\nGNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q+Mri/Tm3R7nrft8EI6/6nAYH\n6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeihU80Bv2noWgby\nRQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx\niN66zB+Afko=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDTDCCAjSgAwIBAgIId3cGJyapsXwwDQYJKoZIhvcNAQELBQAwRDELMAkGA1UE\nBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz\ndCBDb21tZXJjaWFsMB4XDTEwMDEyOTE0MDYwNloXDTMwMTIzMTE0MDYwNlowRDEL\nMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp\ncm1UcnVzdCBDb21tZXJjaWFsMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEA9htPZwcroRX1BiLLHwGy43NFBkRJLLtJJRTWzsO3qyxPxkEylFf6EqdbDuKP\nHx6GGaeqtS25Xw2Kwq+FNXkyLbscYjfysVtKPcrNcV/pQr6U6Mje+SJIZMblq8Yr\nba0F8PrVC8+a5fBQpIs7R6UjW3p6+DM/uO+Zl+MgwdYoic+U+7lF7eNAFxHUdPAL\nMeIrJmqbTFeurCA+ukV6BfO9m2kVrn1OIGPENXY6BwLJN/3HR+7o8XYdcxXyl6S1\nyHp52UKqK39c/s4mT6NmgTWvRLpUHhwwMmWd5jyTXlBOeuM61G7MGvv50jeuJCqr\nVwMiKA1JdX+3KNp1v47j3A55MQIDAQABo0IwQDAdBgNVHQ4EFgQUnZPGU4teyq8/\nnx4P5ZmVvCT2lI8wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ\nKoZIhvcNAQELBQADggEBAFis9AQOzcAN/wr91LoWXym9e2iZWEnStB03TX8nfUYG\nXUPGhi4+c7ImfU+TqbbEKpqrIZcUsd6M06uJFdhrJNTxFq7YpFzUf1GO7RgBsZNj\nvbz4YYCanrHOQnDiqX0GJX0nof5v7LMeJNrjS1UaADs1tDvZ110w/YETifLCBivt\nZ8SOyUOyXGsViQK8YvxO8rUzqrJv0wqiUOP2O+guRMLbZjipM1ZI8W0bM40NjD9g\nN53Tym1+NH4Nn3J2ixufcv1SNUFFApYvHLKac0khsUlHRUe072o0EclNmsxZt9YC\nnlpOZbWUrhvfKbAW8b8Angc6F2S1BLUjIZkKlTuXfO8=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDTDCCAjSgAwIBAgIIfE8EORzUmS0wDQYJKoZIhvcNAQEFBQAwRDELMAkGA1UE\nBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZpcm1UcnVz\ndCBOZXR3b3JraW5nMB4XDTEwMDEyOTE0MDgyNFoXDTMwMTIzMTE0MDgyNFowRDEL\nMAkGA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MR8wHQYDVQQDDBZBZmZp\ncm1UcnVzdCBOZXR3b3JraW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEAtITMMxcua5Rsa2FSoOujz3mUTOWUgJnLVWREZY9nZOIG41w3SfYvm4SEHi3y\nYJ0wTsyEheIszx6e/jarM3c1RNg1lho9Nuh6DtjVR6FqaYvZ/Ls6rnla1fTWcbua\nkCNrmreIdIcMHl+5ni36q1Mr3Lt2PpNMCAiMHqIjHNRqrSK6mQEubWXLviRmVSRL\nQESxG9fhwoXA3hA/Pe24/PHxI1Pcv2WXb9n5QHGNfb2V1M6+oF4nI979ptAmDgAp\n6zxG8D1gvz9Q0twmQVGeFDdCBKNwV6gbh+0t+nvujArjqWaJGctB+d1ENmHP4ndG\nyH329JKBNv3bNPFyfvMMFr20FQIDAQABo0IwQDAdBgNVHQ4EFgQUBx/S55zawm6i\nQLSwelAQUHTEyL0wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwDQYJ\nKoZIhvcNAQEFBQADggEBAIlXshZ6qML91tmbmzTCnLQyFE2npN/svqe++EPbkTfO\ntDIuUFUaNU52Q3Eg75N3ThVwLofDwR1t3Mu1J9QsVtFSUzpE0nPIxBsFZVpikpzu\nQY0x2+c06lkh1QF612S4ZDnNye2v7UsDSKegmQGA3GWjNq5lWUhPgkvIZfFXHeVZ\nLgo/bNjR9eUJtGxUAArgFU2HdW23WJZa3W3SAKD0m0i+wzekujbgfIeFlxoVot4u\nolu9rxj5kFDNcFn4J2dHy8egBzp90SxdbBk6ZrV9/ZFvgrG+CJPbFEfxojfHRZ48\nx3evZKiT3/Zpg4Jg8klCNO1aAFSFHBY2kgxc+qatv9s=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFRjCCAy6gAwIBAgIIbYwURrGmCu4wDQYJKoZIhvcNAQEMBQAwQTELMAkGA1UE\nBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1UcnVz\ndCBQcmVtaXVtMB4XDTEwMDEyOTE0MTAzNloXDTQwMTIzMTE0MTAzNlowQTELMAkG\nA1UEBhMCVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MRwwGgYDVQQDDBNBZmZpcm1U\ncnVzdCBQcmVtaXVtMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxBLf\nqV/+Qd3d9Z+K4/as4Tx4mrzY8H96oDMq3I0gW64tb+eT2TZwamjPjlGjhVtnBKAQ\nJG9dKILBl1fYSCkTtuG+kU3fhQxTGJoeJKJPj/CihQvL9Cl/0qRY7iZNyaqoe5rZ\n+jjeRFcV5fiMyNlI4g0WJx0eyIOFJbe6qlVBzAMiSy2RjYvmia9mx+n/K+k8rNrS\ns8PhaJyJ+HoAVt70VZVs+7pk3WKL3wt3MutizCaam7uqYoNMtAZ6MMgpv+0GTZe5\nHMQxK9VfvFMSF5yZVylmd2EhMQcuJUmdGPLu8ytxjLW6OQdJd/zvLpKQBY0tL3d7\n70O/Nbua2Plzpyzy0FfuKE4mX4+QaAkvuPjcBukumj5Rp9EixAqnOEhss/n/fauG\nV+O61oV4d7pD6kh/9ti+I20ev9E2bFhc8e6kGVQa9QPSdubhjL08s9NIS+LI+H+S\nqHZGnEJlPqQewQcDWkYtuJfzt9WyVSHvutxMAJf7FJUnM7/oQ0dG0giZFmA7mn7S\n5u046uwBHjxIVkkJx0w3AJ6IDsBz4W9m6XJHMD4Q5QsDyZpCAGzFlH5hxIrff4Ia\nC1nEWTJ3s7xgaVY5/bQGeyzWZDbZvUjthB9+pSKPKrhC9IK31FOQeE4tGv2Bb0TX\nOwF0lkLgAOIua+rF7nKsu7/+6qqo+Nz2snmKtmcCAwEAAaNCMEAwHQYDVR0OBBYE\nFJ3AZ6YMItkm9UWrpmVSESfYRaxjMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/\nBAQDAgEGMA0GCSqGSIb3DQEBDAUAA4ICAQCzV00QYk465KzquByvMiPIs0laUZx2\nKI15qldGF9X1Uva3ROgIRL8YhNILgM3FEv0AVQVhh0HctSSePMTYyPtwni94loMg\nNt58D2kTiKV1NpgIpsbfrM7jWNa3Pt668+s0QNiigfV4Py/VpfzZotReBA4Xrf5B\n8OWycvpEgjNC6C1Y91aMYj+6QrCcDFx+LmUmXFNPALJ4fqENmS2NuB2OosSw/WDQ\nMKSOyARiqcTtNd56l+0OOF6SL5Nwpamcb6d9Ex1+xghIsV5n61EIJenmJWtSKZGc\n0jlzCFfemQa0W50QBuHCAKi4HEoCChTQwUHK+4w1IX2COPKpVJEZNZOUbWo6xbLQ\nu4mGk+ibyQ86p3q4ofB4Rvr8Ny/lioTz3/4E2aFooC8k4gmVBtWVyuEklut89pMF\nu+1z6S3RdTnX5yTb2E5fQ4+e0BQ5v1VwSJlXMbSc7kqYA5YwH2AG7hsj/oFgIxpH\nYoWlzBk0gG+zrBrjn/B7SK3VAdlntqlyk+otZrWyuOQ9PLLvTIzq6we/qzWaVYa8\nGKa1qF60g2xraUDTn9zxw2lrueFtCfTxqlB2Cnp9ehehVZZCmTEJ3WARjQUwfuaO\nRtGdFNrHF+QFlozEJLUbzxQHskD4o55BhrwE0GuWyCqANP2/7waj3VjFhT0+j/6e\nKeC2uAloGRwYQw==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIB/jCCAYWgAwIBAgIIdJclisc/elQwCgYIKoZIzj0EAwMwRTELMAkGA1UEBhMC\nVVMxFDASBgNVBAoMC0FmZmlybVRydXN0MSAwHgYDVQQDDBdBZmZpcm1UcnVzdCBQ\ncmVtaXVtIEVDQzAeFw0xMDAxMjkxNDIwMjRaFw00MDEyMzExNDIwMjRaMEUxCzAJ\nBgNVBAYTAlVTMRQwEgYDVQQKDAtBZmZpcm1UcnVzdDEgMB4GA1UEAwwXQWZmaXJt\nVHJ1c3QgUHJlbWl1bSBFQ0MwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQNMF4bFZ0D\n0KF5Nbc6PJJ6yhUczWLznCZcBz3lVPqj1swS6vQUX+iOGasvLkjmrBhDeKzQN8O9\nss0s5kfiGuZjuD0uL3jET9v0D6RoTFVya5UdThhClXjMNzyR4ptlKymjQjBAMB0G\nA1UdDgQWBBSaryl6wBE1NSZRMADDav5A1a7WPDAPBgNVHRMBAf8EBTADAQH/MA4G\nA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNnADBkAjAXCfOHiFBar8jAQr9HX/Vs\naobgxCd05DhT1wV/GzTjxi+zygk8N53X57hG8f2h4nECMEJZh0PUUd+60wkyWs6I\nflc9nF9Ca/UHLbXwgpP5WW+uZPpY5Yse42O+tYHNbwKMeQ==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC\nVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0\nLm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW\nKGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl\ncnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw\nNTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw\nNwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy\nZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV\nBAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ\nKoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo\nNu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4\n4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9\nKlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI\nrb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi\n94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB\nsDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi\ngA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo\nkORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE\nvW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA\nA4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t\nO1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua\nAGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP\n9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/\neu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m\n0vdXcDazv/wor3ElhVsT/h5/WrQ8\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIC+TCCAoCgAwIBAgINAKaLeSkAAAAAUNCR+TAKBggqhkjOPQQDAzCBvzELMAkG\nA1UEBhMCVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3\nd3cuZW50cnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDEyIEVu\ndHJ1c3QsIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEzMDEGA1UEAxMq\nRW50cnVzdCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRUMxMB4XDTEy\nMTIxODE1MjUzNloXDTM3MTIxODE1NTUzNlowgb8xCzAJBgNVBAYTAlVTMRYwFAYD\nVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0\nL2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxMiBFbnRydXN0LCBJbmMuIC0g\nZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMzAxBgNVBAMTKkVudHJ1c3QgUm9vdCBD\nZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEVDMTB2MBAGByqGSM49AgEGBSuBBAAi\nA2IABIQTydC6bUF74mzQ61VfZgIaJPRbiWlH47jCffHyAsWfoPZb1YsGGYZPUxBt\nByQnoaD41UcZYUx9ypMn6nQM72+WCf5j7HBdNq1nd67JnXxVRDqiY1Ef9eNi1KlH\nBz7MIKNCMEAwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0O\nBBYEFLdj5xrdjekIplWDpOBqUEFlEUJJMAoGCCqGSM49BAMDA2cAMGQCMGF52OVC\nR98crlOZF7ZvHH3hvxGU0QOIdeSNiaSKd0bebWHvAvX7td/M/k7//qnmpwIwW5nX\nhTcGtXsI/esni0qU+eH6p44mCOh8kmhtc9hvJqwhAriZtyZBWyVgrtBIGu4G\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIEPjCCAyagAwIBAgIESlOMKDANBgkqhkiG9w0BAQsFADCBvjELMAkGA1UEBhMC\nVVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50\ncnVzdC5uZXQvbGVnYWwtdGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3Qs\nIEluYy4gLSBmb3IgYXV0aG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVz\ndCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzIwHhcNMDkwNzA3MTcy\nNTU0WhcNMzAxMjA3MTc1NTU0WjCBvjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUVu\ndHJ1c3QsIEluYy4xKDAmBgNVBAsTH1NlZSB3d3cuZW50cnVzdC5uZXQvbGVnYWwt\ndGVybXMxOTA3BgNVBAsTMChjKSAyMDA5IEVudHJ1c3QsIEluYy4gLSBmb3IgYXV0\naG9yaXplZCB1c2Ugb25seTEyMDAGA1UEAxMpRW50cnVzdCBSb290IENlcnRpZmlj\nYXRpb24gQXV0aG9yaXR5IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK\nAoIBAQC6hLZy254Ma+KZ6TABp3bqMriVQRrJ2mFOWHLP/vaCeb9zYQYKpSfYs1/T\nRU4cctZOMvJyig/3gxnQaoCAAEUesMfnmr8SVycco2gvCoe9amsOXmXzHHfV1IWN\ncCG0szLni6LVhjkCsbjSR87kyUnEO6fe+1R9V77w6G7CebI6C1XiUJgWMhNcL3hW\nwcKUs/Ja5CeanyTXxuzQmyWC48zCxEXFjJd6BmsqEZ+pCm5IO2/b1BEZQvePB7/1\nU1+cPvQXLOZprE4yTGJ36rfo5bs0vBmLrpxR57d+tVOxMyLlbc9wPBr64ptntoP0\njaWvYkxN4FisZDQSA/i2jZRjJKRxAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAP\nBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqciZ60B7vfec7aVHUbI2fkBJmqzAN\nBgkqhkiG9w0BAQsFAAOCAQEAeZ8dlsa2eT8ijYfThwMEYGprmi5ZiXMRrEPR9RP/\njTkrwPK9T3CMqS/qF8QLVJ7UG5aYMzyorWKiAHarWWluBh1+xLlEjZivEtRh2woZ\nRkfz6/djwUAFQKXSt/S1mja/qYh2iARVBCuch38aNzx+LaUa2NSJXsq9rD1s2G2v\n1fN2D807iDginWyTmsQ9v4IbZT+mD12q/OWyFcq1rca8PdCE6OoGcrBNOTJ4vz4R\nnAuknZoh8/CbCzB428Hch0P+vGOaysXCHMnHjf87ElgI5rY97HosTvuDls4MPGmH\nVHOkc8KT/1EQrBVUAdj8BbGJoX90g5pJ19xOe4pIb4tF9g==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIGSzCCBDOgAwIBAgIRANm1Q3+vqTkPAAAAAFVlrVgwDQYJKoZIhvcNAQELBQAw\ngb4xCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQL\nEx9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykg\nMjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAw\nBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc0\nMB4XDTE1MDUyNzExMTExNloXDTM3MTIyNzExNDExNlowgb4xCzAJBgNVBAYTAlVT\nMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1\nc3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJ\nbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3Qg\nUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEc0MIICIjANBgkqhkiG9w0B\nAQEFAAOCAg8AMIICCgKCAgEAsewsQu7i0TD/pZJH4i3DumSXbcr3DbVZwbPLqGgZ\n2K+EbTBwXX7zLtJTmeH+H17ZSK9dE43b/2MzTdMAArzE+NEGCJR5WIoV3imz/f3E\nT+iq4qA7ec2/a0My3dl0ELn39GjUu9CH1apLiipvKgS1sqbHoHrmSKvS0VnM1n4j\n5pds8ELl3FFLFUHtSUrJ3hCX1nbB76W1NhSXNdh4IjVS70O92yfbYVaCNNzLiGAM\nC1rlLAHGVK/XqsEQe9IFWrhAnoanw5CGAlZSCXqc0ieCU0plUmr1POeo8pyvi73T\nDtTUXm6Hnmo9RR3RXRv06QqsYJn7ibT/mCzPfB3pAqoEmh643IhuJbNsZvc8kPNX\nwbMv9W3y+8qh+CmdRouzavbmZwe+LGcKKh9asj5XxNMhIWNlUpEbsZmOeX7m640A\n2Vqq6nPopIICR5b+W45UYaPrL0swsIsjdXJ8ITzI9vF01Bx7owVV7rtNOzK+mndm\nnqxpkCIHH2E6lr7lmk/MBTwoWdPBDFSoWWG9yHJM6Nyfh3+9nEg2XpWjDrk4JFX8\ndWbrAuMINClKxuMrLzOg2qOGpRKX/YAr2hRC45K9PvJdXmd0LhyIRyk0X+IyqJwl\nN4y6mACXi0mWHv0liqzc2thddG5msP9E36EYxr5ILzeUePiVSj9/E15dWf10hkNj\nc0kCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD\nVR0OBBYEFJ84xFYjwznooHFs6FRM5Og6sb9nMA0GCSqGSIb3DQEBCwUAA4ICAQAS\n5UKme4sPDORGpbZgQIeMJX6tuGguW8ZAdjwD+MlZ9POrYs4QjbRaZIxowLByQzTS\nGwv2LFPSypBLhmb8qoMi9IsabyZIrHZ3CL/FmFz0Jomee8O5ZDIBf9PD3Vht7LGr\nhFV0d4QEJ1JrhkzO3bll/9bGXp+aEJlLdWr+aumXIOTkdnrG0CSqkM0gkLpHZPt/\nB7NTeLUKYvJzQ85BK4FqLoUWlFPUa19yIqtRLULVAJyZv967lDtX/Zr1hstWO1uI\nAeV8KEsD+UmDfLJ/fOPtjqF/YFOOVZ1QNBIPt5d7bIdKROf1beyAN/BYGW5KaHbw\nH5Lk6rWS02FREAutp9lfx1/cH6NcjKF+m7ee01ZvZl4HliDtC3T7Zk6LERXpgUl+\nb7DUUH8i119lAg2m9IUe2K4GS0qn0jFmwvjO5QimpAKWRGhXxNUzzxkvFMSUHHuk\n2fCfDrGA4tGeEWSpiBE6doLlYsKA2KSD7ZPvfC+QsDJMlhVoSFLUmQjAJOgc47Ol\nIQ6SwJAfzyBfyjs4x7dtOvPmRLgOMWuIjnDrnBdSqEGULoe256YSxXXfW8AKbnuk\n5F6G+TaU33fD6Q3AOfF5u0aOq0NZJ7cguyPpVkAh7DE9ZapD8j3fcEThuk0mEDuY\nn/PIjhs4ViFqUZPTkcpG2om3PVODLAgfi49T3f+sHw==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIEKjCCAxKgAwIBAgIEOGPe+DANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML\nRW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp\nbmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5\nIEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp\nZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw05OTEyMjQxNzUwNTFaFw0yOTA3\nMjQxNDE1MTJaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3\nLmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp\nYWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG\nA1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq\nK0vRvwtKTY7tgHalZ7d4QMBzQshowNtTK91euHaYNZOLGp18EzoOH1u3Hs/lJBQe\nsYGpjX24zGtLA/ECDNyrpUAkAH90lKGdCCmziAv1h3edVc3kw37XamSrhRSGlVuX\nMlBvPci6Zgzj/L24ScF2iUkZ/cCovYmjZy/Gn7xxGWC4LeksyZB2ZnuU4q941mVT\nXTzWnLLPKQP5L6RQstRIzgUyVYr9smRMDuSYB3Xbf9+5CFVghTAp+XtIpGmG4zU/\nHoZdenoVve8AjhUiVBcAkCaTvA5JaJG/+EfTnZVCwQ5N328mz8MYIWJmQ3DW1cAH\n4QIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV\nHQ4EFgQUVeSB0RGAvtiJuQijMfmhJAkWuXAwDQYJKoZIhvcNAQEFBQADggEBADub\nj1abMOdTmXx6eadNl9cZlZD7Bh/KM3xGY4+WZiT6QBshJ8rmcnPyT/4xmf3IDExo\nU8aAghOY+rat2l098c5u9hURlIIM7j+VrxGrD9cv3h8Dj1csHsm7mhpElesYT6Yf\nzX1XEC+bBAlahLVu2B064dae0Wx5XnkcFMXj0EyTO2U87d89vqbllRrDtRnDvV5b\nu/8j72gZyxKTJ1wDLW8w0B62GqzeWvfRqqgnpv55gcR5mTNXuhKwqeBCbJPKVt7+\nbYQLCIt+jerXmCHG8+c8eS9enNFMFY3h7CI3zJpDC5fcgJCNs2ebb0gIFVbPv/Er\nfF6adulZkMV8gzURZVE=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDdzCCAl+gAwIBAgIIXDPLYixfszIwDQYJKoZIhvcNAQELBQAwPDEeMBwGA1UE\nAwwVQXRvcyBUcnVzdGVkUm9vdCAyMDExMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQG\nEwJERTAeFw0xMTA3MDcxNDU4MzBaFw0zMDEyMzEyMzU5NTlaMDwxHjAcBgNVBAMM\nFUF0b3MgVHJ1c3RlZFJvb3QgMjAxMTENMAsGA1UECgwEQXRvczELMAkGA1UEBhMC\nREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVhTuXbyo7LjvPpvMp\nNb7PGKw+qtn4TaA+Gke5vJrf8v7MPkfoepbCJI419KkM/IL9bcFyYie96mvr54rM\nVD6QUM+A1JX76LWC1BTFtqlVJVfbsVD2sGBkWXppzwO3bw2+yj5vdHLqqjAqc2K+\nSZFhyBH+DgMq92og3AIVDV4VavzjgsG1xZ1kCWyjWZgHJ8cblithdHFsQ/H3NYkQ\n4J7sVaE3IqKHBAUsR320HLliKWYoyrfhk/WklAOZuXCFteZI6o1Q/NnezG8HDt0L\ncp2AMBYHlT8oDv3FdU9T1nSatCQujgKRz3bFmx5VdJx4IbHwLfELn8LVlhgf8FQi\neowHAgMBAAGjfTB7MB0GA1UdDgQWBBSnpQaxLKYJYO7Rl+lwrrw7GWzbITAPBgNV\nHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFKelBrEspglg7tGX6XCuvDsZbNshMBgG\nA1UdIAQRMA8wDQYLKwYBBAGwLQMEAQEwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3\nDQEBCwUAA4IBAQAmdzTblEiGKkGdLD4GkGDEjKwLVLgfuXvTBznk+j57sj1O7Z8j\nvZfza1zv7v1Apt+hk6EKhqzvINB5Ab149xnYJDE0BAGmuhWawyfc2E8PzBhj/5kP\nDpFrdRbhIfzYJsdHt6bPWHJxfrrhTZVHO8mvbaG0weyJ9rQPOLXiZNwlz6bb65pc\nmaHFCN795trV1lpFDMS3wrUU77QR/w4VtfX128a961qn8FYiqTxlVMYVqL2Gns2D\nlmh6cYGJ4Qvh6hEbaAjMaZ7snkGeRDImeuKHCnE96+RapNLbxc3G3mB/ufNPRJLv\nKrcYPqcZ2Qt9sTdBQrC6YB3y/gkRsPCHe6ed\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICMTCCAbagAwIBAgIMC3MoERh0MBzvbwiEMAoGCCqGSM49BAMDMEsxCzAJBgNV\nBAYTAkRFMQ0wCwYDVQQKDARBdG9zMS0wKwYDVQQDDCRBdG9zIFRydXN0ZWRSb290\nIFJvb3QgQ0EgRUNDIEcyIDIwMjAwHhcNMjAxMjE1MDgzOTEwWhcNNDAxMjEwMDgz\nOTA5WjBLMQswCQYDVQQGEwJERTENMAsGA1UECgwEQXRvczEtMCsGA1UEAwwkQXRv\ncyBUcnVzdGVkUm9vdCBSb290IENBIEVDQyBHMiAyMDIwMHYwEAYHKoZIzj0CAQYF\nK4EEACIDYgAEyFyAyk7CKB9XvzjmYSP80KlblhYWwwxeFaWQCf84KLR6HgrWUyrB\nu5BAdDfpgeiNL2gBNXxSLtj0WLMRHFvZhxiTkS3sndpsnm2ESPzCiQXrmBMCAWxT\nHg5JY1hHsa/Co2MwYTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFFsfxHFs\nshufvlwfjP2ztvuzDgmHMB0GA1UdDgQWBBRbH8RxbLIbn75cH4z9s7b7sw4JhzAO\nBgNVHQ8BAf8EBAMCAYYwCgYIKoZIzj0EAwMDaQAwZgIxAOzgmf3d5FTByx/oPijX\nFVlKgspTMOzrNqW5yM6TR1bIYabhbZJTlY/241VT8N165wIxALCH1RuzYPyRjYDK\nohtRSzhUy6oee9flRJUWLzxEeC4luuqQ5OxS7lfsA4TzXtsWDQ==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICFTCCAZugAwIBAgIQPZg7pmY9kGP3fiZXOATvADAKBggqhkjOPQQDAzBMMS4w\nLAYDVQQDDCVBdG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgRUNDIFRMUyAyMDIxMQ0w\nCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0yMTA0MjIwOTI2MjNaFw00MTA0\nMTcwOTI2MjJaMEwxLjAsBgNVBAMMJUF0b3MgVHJ1c3RlZFJvb3QgUm9vdCBDQSBF\nQ0MgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNVBAYTAkRFMHYwEAYHKoZI\nzj0CAQYFK4EEACIDYgAEloZYKDcKZ9Cg3iQZGeHkBQcfl+3oZIK59sRxUM6KDP/X\ntXa7oWyTbIOiaG6l2b4siJVBzV3dscqDY4PMwL502eCdpO5KTlbgmClBk1IQ1SQ4\nAjJn8ZQSb+/Xxd4u/RmAo0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR2\nKCXWfeBmmnoJsmo7jjPXNtNPojAOBgNVHQ8BAf8EBAMCAYYwCgYIKoZIzj0EAwMD\naAAwZQIwW5kp85wxtolrbNa9d+F851F+uDrNozZffPc8dz7kUK2o59JZDCaOMDtu\nCCrCp1rIAjEAmeMM56PDr9NJLkaCI2ZdyQAUEv049OGYa3cpetskz2VAv9LcjBHo\n9H1/IISpQuQo\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFfzCCA2egAwIBAgIMR7opRlU+FpKXsKtAMA0GCSqGSIb3DQEBDAUAMEsxCzAJ\nBgNVBAYTAkRFMQ0wCwYDVQQKDARBdG9zMS0wKwYDVQQDDCRBdG9zIFRydXN0ZWRS\nb290IFJvb3QgQ0EgUlNBIEcyIDIwMjAwHhcNMjAxMjE1MDg0MTIzWhcNNDAxMjEw\nMDg0MTIyWjBLMQswCQYDVQQGEwJERTENMAsGA1UECgwEQXRvczEtMCsGA1UEAwwk\nQXRvcyBUcnVzdGVkUm9vdCBSb290IENBIFJTQSBHMiAyMDIwMIICIjANBgkqhkiG\n9w0BAQEFAAOCAg8AMIICCgKCAgEAljGFSqoPMv554UOHnPsjt45/DVS9x2KTd+Qc\nNQR2owOLIu7EhN2lk25uso4JA+tRFjEXqmkVGA5ndCNe6pp9tTk+PYKpa+H+qRyw\nrVpNTHiDQYvP8h1impgEnGPpq2X+SB0kZQdHPrmRLumdm38aNak0sLflcDPvSnJR\ntge/YD8qn51U3/PXlElRA1pAqWjdEVlc+HamvFBSEO2s7JXg1INrSdoKT5mD3jKD\nSINnlbJ+54GFPc2C98oC7W2IXQiNuDW/KmkwmbtL0UHbRaCTmVGBkDYIqoq26I+z\ny+7lRg1ydfVJbOGify+87YSmN+7ewk85Tvae8MnRmzCdSW3h2v8SEIzW5Zl7BbZ9\nsAnHpPiyHDmVOTP0Nc4lYnuwXyDzy234bFIUZESP08ipdgflr3GZLS0EJUh2r8Pn\nzEPyB7xKJCQ33fpulAlvTF4BtP5U7COWpV7dhv/pRirx6NzspT2vb6oOD7R1+j4I\nuSZFT2aGTLwZuOHVNe6ChMjTqxLnzXMzYnf0F8u9NHYqBc6V5Xh5S56wjfk8WDiR\n6l6HOMC3Qv2qTIcjrQQgsX52Qtq7tha6V8iOE/p11QhMrziRqu+P+p9JLlR8Clax\nevrETi/Uo/oWitCV5Zem/8P8fA5HWPN/B3sS3Fc/LeOhTVtSTDOHmagJe2x+DvLP\nVkKe6wUCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBQgJfMH\n/adv8ZbukRBpzJrvfchoeDAdBgNVHQ4EFgQUICXzB/2nb/GW7pEQacya733IaHgw\nDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBDAUAA4ICAQAkK06Y8h0X7dl2JrYw\nM+hpRaFRS1LYejowtuQS6r+fTOAEpPY1xv6hMPdThZKtVAVXX5LlKt42J557E0fJ\nanWv/PM35wz1PQFztWlR+L1Z0boL+Lq6ZCdDs3yDlYrnnhOW129KlkFJiw4grRbG\n96aHW4gSiYuJyhLSVq8iASFG6auYP6eI3uTLKpp1Gfo5XgkF1wMyGrgXUQjHAEB9\n9L74DFn0aXZu06RYW14mc+RCVQZeeEAP0zif7yZRcHSR8XdiAejZy+uh3zkyHbtr\n/XH+68+l5hT9AIATxpoASLCZBemugEj7CT9RFLW552BNTcovgSHuUgxletz1iUlM\nMJI0WIAyWbEN/yRhD+cKQtB7vPiOJ0c/cJ0n2bYGPaW7y16Prg5Tx5xqbztMD6NA\ncKiaB87UblsHotLiVLa9bzNyY61RmOGPdvFqBzgl/vZizl/bY8Jume8G3LneGRro\nVD190nZ12V4+MkinjPKecgz4uFi4FyOlFId1WHoAgQciOWpMlKC1otunLMGw8aOb\nwEz3bXDqMZ/xrn0+cyjZod/6k/CbsPDizSUgde/ifTIFyZt27su9MR75lJhLJFhW\nSMDeBky9pjRd7RZhY3P7GeL6W9iXddRtnmA5XpSLAizrmc5gKm4bjKdLvP025pgf\nZfJ/8eOPTIBGNli2oWXLzhxEdQ==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFZDCCA0ygAwIBAgIQU9XP5hmTC/srBRLYwiqipDANBgkqhkiG9w0BAQwFADBM\nMS4wLAYDVQQDDCVBdG9zIFRydXN0ZWRSb290IFJvb3QgQ0EgUlNBIFRMUyAyMDIx\nMQ0wCwYDVQQKDARBdG9zMQswCQYDVQQGEwJERTAeFw0yMTA0MjIwOTIxMTBaFw00\nMTA0MTcwOTIxMDlaMEwxLjAsBgNVBAMMJUF0b3MgVHJ1c3RlZFJvb3QgUm9vdCBD\nQSBSU0EgVExTIDIwMjExDTALBgNVBAoMBEF0b3MxCzAJBgNVBAYTAkRFMIICIjAN\nBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtoAOxHm9BYx9sKOdTSJNy/BBl01Z\n4NH+VoyX8te9j2y3I49f1cTYQcvyAh5x5en2XssIKl4w8i1mx4QbZFc4nXUtVsYv\nYe+W/CBGvevUez8/fEc4BKkbqlLfEzfTFRVOvV98r61jx3ncCHvVoOX3W3WsgFWZ\nkmGbzSoXfduP9LVq6hdKZChmFSlsAvFr1bqjM9xaZ6cF4r9lthawEO3NUDPJcFDs\nGY6wx/J0W2tExn2WuZgIWWbeKQGb9Cpt0xU6kGpn8bRrZtkh68rZYnxGEFzedUln\nnkL5/nWpo63/dgpnQOPF943HhZpZnmKaau1Fh5hnstVKPNe0OwANwI8f4UDErmwh\n3El+fsqyjW22v5MvoVw+j8rtgI5Y4dtXz4U2OLJxpAmMkokIiEjxQGMYsluMWuPD\n0xeqqxmjLBvk1cbiZnrXghmmOxYsL3GHX0WelXOTwkKBIROW1527k2gV+p2kHYzy\ngeBYBr3JtuP2iV2J+axEoctr+hbxx1A9JNr3w+SH1VbxT5Aw+kUJWdo0zuATHAR8\nANSbhqRAvNncTFd+rrcztl524WWLZt+NyteYr842mIycg5kDcPOvdO3GDjbnvezB\nc6eUWsuSZIKmAMFwoW4sKeFYV+xafJlrJaSQOoD0IJ2azsct+bJLKZWD6TWNp0lI\npw9MGZHQ9b8Q4HECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU\ndEmZ0f+0emhFdcN+tNzMzjkz2ggwDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEB\nDAUAA4ICAQAjQ1MkYlxt/T7Cz1UAbMVWiLkO3TriJQ2VSpfKgInuKs1l+NsW4AmS\n4BjHeJi78+xCUvuppILXTdiK/ORO/auQxDh1MoSf/7OwKwIzNsAQkG8dnK/haZPs\no0UvFJ/1TCplQ3IM98P4lYsU84UgYt1UU90s3BiVaU+DR3BAM1h3Egyi61IxHkzJ\nqM7F78PRreBrAwA0JrRUITWXAdxfG/F851X6LWh3e9NpzNMOa7pNdkTWwhWaJuyw\nxfW70Xp0wmzNxbVe9kzmWy2B27O3Opee7c9GslA9hGCZcbUztVdF5kJHdWoOsAgM\nrr3e97sPWD2PAzHoPYJQyi9eDF20l74gNAf0xBLh7tew2VktafcxBPTy+av5EzH4\nAXcOPUIjJsyacmdRIXrMPIWo6iFqO9taPKU0nprALN+AnCng33eU0aKAQv9qTFsR\n0PXNor6uzFFcw9VUewyu1rkGd4Di7wcaaMxZUa1+XGdrudviB0JbuAEFWDlN5LuY\no7Ey7Nmj1m+UI/87tyll5gfp77YZ6ufCOB0yiJA8EytuzO+rdwY0d4RPcuSBhPm5\ndDTedk+SKlOxJTnbPP/lPqYO5Wue/9vsL3SD3460s6neFE3/MaNFcyT6lSnMEpcE\noji2jbDwN/zIIX8/syQbPYtuzE2wFg2WHYMfRsCbvUOZ58SWLs5fyQ==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFiDCCA3CgAwIBAgIIfQmX/vBH6nowDQYJKoZIhvcNAQELBQAwYjELMAkGA1UE\nBhMCQ04xMjAwBgNVBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZ\nIENPLixMVEQuMR8wHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMB4XDTE0\nMTEyNjA1MTMxNVoXDTQwMTIzMTE1NTk1OVowYjELMAkGA1UEBhMCQ04xMjAwBgNV\nBAoMKUdVQU5HIERPTkcgQ0VSVElGSUNBVEUgQVVUSE9SSVRZIENPLixMVEQuMR8w\nHQYDVQQDDBZHRENBIFRydXN0QVVUSCBSNSBST09UMIICIjANBgkqhkiG9w0BAQEF\nAAOCAg8AMIICCgKCAgEA2aMW8Mh0dHeb7zMNOwZ+Vfy1YI92hhJCfVZmPoiC7XJj\nDp6L3TQsAlFRwxn9WVSEyfFrs0yw6ehGXTjGoqcuEVe6ghWinI9tsJlKCvLriXBj\nTnnEt1u9ol2x8kECK62pOqPseQrsXzrj/e+APK00mxqriCZ7VqKChh/rNYmDf1+u\nKU49tm7srsHwJ5uu4/Ts765/94Y9cnrrpftZTqfrlYwiOXnhLQiPzLyRuEH3FMEj\nqcOtmkVEs7LXLM3GKeJQEK5cy4KOFxg2fZfmiJqwTTQJ9Cy5WmYqsBebnh52nUpm\nMUHfP/vFBu8btn4aRjb3ZGM74zkYI+dndRTVdVeSN72+ahsmUPI2JgaQxXABZG12\nZuGR224HwGGALrIuL4xwp9E7PLOR5G62xDtw8mySlwnNR30YwPO7ng/Wi64HtloP\nzgsMR6flPri9fcebNaBhlzpBdRfMK5Z3KpIhHtmVdiBnaM8Nvd/WHwlqmuLMc3Gk\nL30SgLdTMEZeS1SZD2fJpcjyIMGC7J0R38IC+xo70e0gmu9lZJIQDSri3nDxGGeC\njGHeuLzRL5z7D9Ar7Rt2ueQ5Vfj4oR24qoAATILnsn8JuLwwoC8N9VKejveSswoA\nHQBUlwbgsQfZxw9cZX08bVlX5O2ljelAU58VS6Bx9hoh49pwBiFYFIeFd3mqgnkC\nAwEAAaNCMEAwHQYDVR0OBBYEFOLJQJ9NzuiaoXzPDj9lxSmIahlRMA8GA1UdEwEB\n/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQDRSVfg\np8xoWLoBDysZzY2wYUWsEe1jUGn4H3++Fo/9nesLqjJHdtJnJO29fDMylyrHBYZm\nDRd9FBUb1Ov9H5r2XpdptxolpAqzkT9fNqyL7FeoPueBihhXOYV0GkLH6VsTX4/5\nCOmSdI31R9KrO9b7eGZONn356ZLpBN79SWP8bfsUcZNnL0dKt7n/HipzcEYwv1ry\nL3ml4Y0M2fmyYzeMN2WFcGpcWwlyua1jPLHd+PwyvzeG5LuOmCd+uh8W4XAR8gPf\nJWIyJyYYMoSf/wA6E7qaTfRPuBRwIrHKK5DOKcFw9C+df/KQHtZa37dG/OaG+svg\nIHZ6uqbL9XzeYqWxi+7egmaKTjowHz+Ay60nugxe19CxVsp3cbK1daFQqUBDF8Io\n2c9Si1vIY9RCPqAzekYu9wogRlR+ak8x8YF+QnQ4ZXMn7sZ8uI7XpTrXmKGcjBBV\n09tL7ECQ8s1uV9JiDnxXk7Gnbc2dg7sq5+W2O3FYrf3RRbxake5TFW/TRQl1brqQ\nXR4EzzffHqhmsYzmIGrv/EhOdJhCrylvLmrH+33RZjEizIYAfmaDDEL0vTSSwxrq\nT8p+ck0LcIymSLumoRT2+1hEmRSuqguTaaApJUqlyyvdimYHFngVV3Eb7PVHhPOe\nMTd61X8kreS8/f3MboPoDKi3QWwH3b08hpcv0g==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G\nA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp\nZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4\nMTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG\nA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI\nhvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8\nRgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT\ngHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm\nKPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd\nQQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ\nXriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw\nDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o\nLkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU\nRUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp\njjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK\n6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX\nmcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs\nMx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH\nWD9f\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDEg\nMB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2Jh\nbFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNMzQx\nMjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSNjET\nMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiIwDQYJ\nKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQssgrRI\nxutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuTToVBu1k\nZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSKvGRMIRxD\naNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n16qIfKtJw\nLnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0pPbzlUoSB239jLKJz9CgYXfIWHSw\n1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+azayOeSsJDa38O+2HBNX\nk7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiWm05OWgtH8wY2\nSXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4UoQSwC+n+7o/h\nbguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQCe24DWJfncBZ4n\nWUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFlWQaYw55PfWzjMpY\nrZxCRXluDocZXFSxZba/jJvcE+kNb7gu3GduyYsRtYQUigAZcIN5kZeR1Bonvzce\nMgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTAD\nAQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToDAfBgNVHSMEGDAWgBSu\nbAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFAAOCAgEAgyXt6NH9lVLN\nnsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcWc+ZfwFSY1XS+wc3iEZGt\nIxg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKPrmzU+sQghoefEQzd5Mr61\n55wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlNIC5waNrlU/yDXNOd8v9EDERm8tLj\nvUYAGm0CuiVdjaExUd1URhxN25mW7xocBFymFe944Hn+Xds+qkxV/ZoVqW/hpvvf\ncDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl+68KnyBr3TsTjxKM4kEaSHpz\noHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU3/gKbaKxCXcPu9czc8FB10jZp\nnOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTOwY3WzvUy2MmeFe8nI+z1TIvWfs\npA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsViVO6LAUP5MSeGbEYNNVMnbrt9x+v\nJJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9x8jvOOJckvB595yEunQtYQEgfn7R\n8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDfLRVpOoERIyNiwmcUVhAn21klJwGW4\n5hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICHjCCAaSgAwIBAgIRYFlJ4CYuu1X5CneKcflK2GwwCgYIKoZIzj0EAwMwUDEk\nMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI1MRMwEQYDVQQKEwpH\nbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX\nDTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD\nQSAtIFI1MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu\nMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAER0UOlvt9Xb/pOdEh+J8LttV7HpI6SFkc\n8GIxLcB6KP4ap1yztsyX50XUWPrRd21DosCHZTQKH3rd6zwzocWdTaRvQZU4f8ke\nhOvRnkmSh5SHDDqFSmafnVmTTZdhBoZKo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYD\nVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUPeYpSJvqB8ohREom3m7e0oPQn1kwCgYI\nKoZIzj0EAwMDaAAwZQIxAOVpEslu28YxuglB4Zf4+/2a4n0Sye18ZNPLBSWLVtmg\n515dTguDnFt2KaAJJiFqYgIwcdK1j1zqO+F4CYWodZI7yFz9SO8NdCKoCOJuxUnO\nxwy8p2Fp8fc74SrL+SvzZpA3\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG\nA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv\nb3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw\nMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i\nYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT\naWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ\njc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp\nxy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp\n1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG\nsnUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ\nU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8\n9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E\nBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B\nAQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz\nyj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE\n38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP\nAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad\nDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME\nHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICCzCCAZGgAwIBAgISEdK7ujNu1LzmJGjFDYQdmOhDMAoGCCqGSM49BAMDMEYx\nCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYDVQQD\nExNHbG9iYWxTaWduIFJvb3QgRTQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMyMDAw\nMDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2Ex\nHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUrgQQA\nIgNiAAScDrHPt+ieUnd1NPqlRqetMhkytAepJ8qUuwzSChDH2omwlwxwEwkBjtjq\nR+q+soArzfwoDdusvKSGN+1wCAB16pMLey5SnCNoIwZD7JIvU4Tb+0cUB+hflGdd\nyXqBPCCjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1Ud\nDgQWBBQxCpCPtsad0kRLgLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ\n7Zvvi5QCkxeCmb6zniz2C5GMn0oUsfZkvLtoURMMA/cVi4RguYv/Uo7njLwcAjA8\n+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+CAezNIm8BZ/3Hobui3A=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFWjCCA0KgAwIBAgISEdK7udcjGJ5AXwqdLdDfJWfRMA0GCSqGSIb3DQEBDAUA\nMEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGgYD\nVQQDExNHbG9iYWxTaWduIFJvb3QgUjQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2MDMy\nMDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYt\nc2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEB\nAQUAA4ICDwAwggIKAoICAQCsrHQy6LNl5brtQyYdpokNRbopiLKkHWPd08EsCVeJ\nOaFV6Wc0dwxu5FUdUiXSE2te4R2pt32JMl8Nnp8semNgQB+msLZ4j5lUlghYruQG\nvGIFAha/r6gjA7aUD7xubMLL1aa7DOn2wQL7Id5m3RerdELv8HQvJfTqa1VbkNud\n316HCkD7rRlr+/fKYIje2sGP1q7Vf9Q8g+7XFkyDRTNrJ9CG0Bwta/OrffGFqfUo\n0q3v84RLHIf8E6M6cqJaESvWJ3En7YEtbWaBkoe0G1h6zD8K+kZPTXhc+CtI4wSE\ny132tGqzZfxCnlEmIyDLPRT5ge1lFgBPGmSXZgjPjHvjK8Cd+RTyG/FWaha/LIWF\nzXg4mutCagI0GIMXTpRW+LaCtfOW3T3zvn8gdz57GSNrLNRyc0NXfeD412lPFzYE\n+cCQYDdF3uYM2HSNrpyibXRdQr4G9dlkbgIQrImwTDsHTUB+JMWKmIJ5jqSngiCN\nI/onccnfxkF0oE32kRbcRoxfKWMxWXEM2G/CtjJ9++ZdU6Z+Ffy7dXxd7Pj2Fxzs\nx2sZy/N78CsHpdlseVR2bJ0cpm4O6XkMqCNqo98bMDGfsVR7/mrLZqrcZdCinkqa\nByFrgY/bxFn63iLABJzjqls2k+g9vXqhnQt2sQvHnf3PmKgGwvgqo6GDoLclcqUC\n4wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNV\nHQ4EFgQUA1yrc4GHqMywptWU4jaWSf8FmSwwDQYJKoZIhvcNAQEMBQADggIBAHx4\n7PYCLLtbfpIrXTncvtgdokIzTfnvpCo7RGkerNlFo048p9gkUbJUHJNOxO97k4Vg\nJuoJSOD1u8fpaNK7ajFxzHmuEajwmf3lH7wvqMxX63bEIaZHU1VNaL8FpO7XJqti\n2kM3S+LGteWygxk6x9PbTZ4IevPuzz5i+6zoYMzRx6Fcg0XERczzF2sUyQQCPtIk\npnnpHs6i58FZFZ8d4kuaPp92CC1r2LpXFNqD6v6MVenQTqnMdzGxRBF6XLE+0xRF\nFRhiJBPSy03OXIPBNvIQtQ6IbbjhVp+J3pZmOUdkLG5NrmJ7v2B0GbhWrJKsFjLt\nrWhV/pi60zTe9Mlhww6G9kuEYO4Ne7UyWHmRVSyBQ7N0H3qqJZ4d16GLuc1CLgSk\nZoNNiTW2bKg2SnkheCLQQrzRQDGQob4Ez8pn7fXwgNNgyYMqIgXQBztSvwyeqiv5\nu+YfjyW6hY0XHgL+XVAEV8/+LbzvXMAaq7afJMbfc2hIkCwU9D9SGuTSyxTDYWnP\n4vkYxboznxSjBF25cfe1lNj2M8FawTSLfJvdkzrnE6JwYZ+vj+vYxXX4M2bUdGc6\nN3ec592kD3ZDZopD8p/7DEJ4Y9HiD2971KE9dJeFt0g5QdYg/NA6s/rob8SKunE3\nvouXsXgxT7PntgMTzlSdriVZzH81Xwj3QEUxeCp6\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICITCCAaegAwIBAgIQdlP+qicdlUZd1vGe5biQCjAKBggqhkjOPQQDAzBSMQsw\nCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEoMCYGA1UEAxMf\nR2xvYmFsU2lnbiBTZWN1cmUgTWFpbCBSb290IEU0NTAeFw0yMDAzMTgwMDAwMDBa\nFw00NTAzMTgwMDAwMDBaMFIxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxT\naWduIG52LXNhMSgwJgYDVQQDEx9HbG9iYWxTaWduIFNlY3VyZSBNYWlsIFJvb3Qg\nRTQ1MHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE+XmLgUc3iZY/RUlQfxomC5Myfi7A\nwKcImsNuj5s+CyLsN1O3b4qwvCc3S22pRjvZH/+loUS7LXO/nkEHXFObUQg6Wrtv\nOMcWkXjCShNpHYLfWi8AiJaiLhx0+Z1+ZjeKo0IwQDAOBgNVHQ8BAf8EBAMCAYYw\nDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQU3xNei1/CQAL9VreUTLYe1aaxFJYw\nCgYIKoZIzj0EAwMDaAAwZQIwE7C+13EgPuSrnM42En1fTB8qtWlFM1/TLVqy5IjH\n3go2QjJ5naZruuH5RCp7isMSAjEAoGYcToedh8ntmUwbCu4tYMM3xx3NtXKw2cbv\nvPL/P/BS3QjnqmR5w+RpV5EvpMt8\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFcDCCA1igAwIBAgIQdlP+qExQq5+NMrUdA49X3DANBgkqhkiG9w0BAQwFADBS\nMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTEoMCYGA1UE\nAxMfR2xvYmFsU2lnbiBTZWN1cmUgTWFpbCBSb290IFI0NTAeFw0yMDAzMTgwMDAw\nMDBaFw00NTAzMTgwMDAwMDBaMFIxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i\nYWxTaWduIG52LXNhMSgwJgYDVQQDEx9HbG9iYWxTaWduIFNlY3VyZSBNYWlsIFJv\nb3QgUjQ1MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA3HnMbQb5bbvg\nVgRsf+B1zC0FSehL3FTsW3eVcr9/Yp2FqYokUF9T5dt0b6QpWxMqCa2axS/C93Y7\noUVGqkPmJP4rsG8ycBlGWnkmL/w9fV9ky1fMYWGo2ZVu45Wgbn9HEhjW7wPJ+4r6\nmr2CFalVd0sRT1nga8Nx8wzYVNWBaD4TuRUuh4o8RCc2YiRu+CwFcjBhvUKRI8Sd\nJafZVJoUozGtgHkMp2NsmKOsV0czH2WW4dDSNdr5cfehpiW1QV3fPmDY0fafpfK4\nzBOqj/mybuGDLZPdPoUa3eixXCYBy0mF/PzS1H+FYoZ0+cvsNSKiDDCPO6t561by\n+kLz7fkfRYlAKa3qknTqUv1WtCvaou11wm6rzlKQS/be8EmPmkjUiBltRebMjLnd\nZGBgAkD4uc+8WOs9hbnGCtOcB2aPxxg5I0bhPB6jL1Bhkgs9K2zxo0c4V5GrDY/G\nnU0E0iZSXOWl/SotFioBaeepfeE2t7Eqxdmxjb25i87Mi6E+C0jNUJU0xNgIWdhr\nJvS+9dQiFwBXya6bBDAznwv731aiyW5Udtqxl2InWQ8RiiIbZJY/qPG3JEqNPFN8\nbYN2PbImSHP1RBYBLQkqjhaWUNBzBl27IkiCTApGWj+A/1zy8pqsLAjg1urwEjiB\nT6YQ7UarzBacC89kppkChURnRq39TecCAwEAAaNCMEAwDgYDVR0PAQH/BAQDAgGG\nMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKCTFShu7o8IsjXGnmJ5dKexDit7\nMA0GCSqGSIb3DQEBDAUAA4ICAQBFCvjRXKxigdAE17b/V1GJCwzL3iRlN/urnu1m\n9OoMGWmJuBmxMFa02fb3vsaul8tF9hGMOjBkTMGfWcBGQggGR2QXeOCVBwbWjKKs\nqdk/03tWT/zEhyjftisWI8CfH1vj1kReIk8jBIw1FrV5B4ZcL5fi9ghkptzbqIrj\npHt3DdEpkyggtFOjS05f3sH2dSP8Hzx4T3AxeC+iNVRxBKzIxG3D9pGx/s3uRG6B\n9kDFPioBv6tMsQM/DRHkD9Ik4yKIm59fRz1RSeAJN34XITF2t2dxSChLJdcQ6J9h\nWRbFPjJOHwzOo8wP5McRByIvOAjdW5frQmxZmpruetCd38XbCUMuCqoZPWvoajB6\nV+a/s2o5qY/j8U9laLa9nyiPoRZaCVA6Mi4dL0QRQqYA5jGY/y2hD+akYFbPedey\nTtew+m4MVyPHzh+lsUxtGUmeDn9wj3E/WCifdd1h4Dq3Obbul9Q1UfuLSWDIPGau\nl+6NJllXu3jwelAwCbBgqp9O3Mk+HjrcYpMzsDpUdG8sMUXRaxEyamh29j32ahNe\nJJjn6h2az3iCB2D3TRDTgZpFjZ6vm9yAx0OylWikww7oCkcVv1Qz3AHn1aYec9h6\nsr8vreNVMJ7fDkG84BH1oQyoIuHjAKNOcHyS4wTRekKKdZBZ45vRTKJkvXN5m2/y\ns8H2PA==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIEADCCAuigAwIBAgIBADANBgkqhkiG9w0BAQUFADBjMQswCQYDVQQGEwJVUzEh\nMB8GA1UEChMYVGhlIEdvIERhZGR5IEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBE\nYWRkeSBDbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA0MDYyOTE3\nMDYyMFoXDTM0MDYyOTE3MDYyMFowYzELMAkGA1UEBhMCVVMxITAfBgNVBAoTGFRo\nZSBHbyBEYWRkeSBHcm91cCwgSW5jLjExMC8GA1UECxMoR28gRGFkZHkgQ2xhc3Mg\nMiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASAwDQYJKoZIhvcNAQEBBQADggEN\nADCCAQgCggEBAN6d1+pXGEmhW+vXX0iG6r7d/+TvZxz0ZWizV3GgXne77ZtJ6XCA\nPVYYYwhv2vLM0D9/AlQiVBDYsoHUwHU9S3/Hd8M+eKsaA7Ugay9qK7HFiH7Eux6w\nwdhFJ2+qN1j3hybX2C32qRe3H3I2TqYXP2WYktsqbl2i/ojgC95/5Y0V4evLOtXi\nEqITLdiOr18SPaAIBQi2XKVlOARFmR6jYGB0xUGlcmIbYsUfb18aQr4CUWWoriMY\navx4A6lNf4DD+qta/KFApMoZFv6yyO9ecw3ud72a9nmYvLEHZ6IVDd2gWMZEewo+\nYihfukEHU1jPEX44dMX4/7VpkI+EdOqXG68CAQOjgcAwgb0wHQYDVR0OBBYEFNLE\nsNKR1EwRcbNhyz2h/t2oatTjMIGNBgNVHSMEgYUwgYKAFNLEsNKR1EwRcbNhyz2h\n/t2oatTjoWekZTBjMQswCQYDVQQGEwJVUzEhMB8GA1UEChMYVGhlIEdvIERhZGR5\nIEdyb3VwLCBJbmMuMTEwLwYDVQQLEyhHbyBEYWRkeSBDbGFzcyAyIENlcnRpZmlj\nYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQAD\nggEBADJL87LKPpH8EsahB4yOd6AzBhRckB4Y9wimPQoZ+YeAEW5p5JYXMP80kWNy\nOO7MHAGjHZQopDH2esRU1/blMVgDoszOYtuURXO1v0XJJLXVggKtI3lpjbi2Tc7P\nTMozI+gciKqdi0FuFskg5YmezTvacPd+mSYgFFQlq25zheabIZ0KbIIOqPjCDPoQ\nHmyW74cNxA9hi63ugyuV+I6ShHI56yDqg+2DzZduCLzrTia2cyvk0/ZM/iZx4mER\ndEr/VxqHD3VILs9RaRegAhJhldXRQLIQTO7ErBBDpqWeCtWVYpoNz4iCxTIM5Cuf\nReYNnyicsbkqWletNw+vHX/bvZ8=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDxTCCAq2gAwIBAgIBADANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCVVMx\nEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxGjAYBgNVBAoT\nEUdvRGFkZHkuY29tLCBJbmMuMTEwLwYDVQQDEyhHbyBEYWRkeSBSb290IENlcnRp\nZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAwMFoXDTM3MTIzMTIz\nNTk1OVowgYMxCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6b25hMRMwEQYDVQQH\nEwpTY290dHNkYWxlMRowGAYDVQQKExFHb0RhZGR5LmNvbSwgSW5jLjExMC8GA1UE\nAxMoR28gRGFkZHkgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIw\nDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL9xYgjx+lk09xvJGKP3gElY6SKD\nE6bFIEMBO4Tx5oVJnyfq9oQbTqC023CYxzIBsQU+B07u9PpPL1kwIuerGVZr4oAH\n/PMWdYA5UXvl+TW2dE6pjYIT5LY/qQOD+qK+ihVqf94Lw7YZFAXK6sOoBJQ7Rnwy\nDfMAZiLIjWltNowRGLfTshxgtDj6AozO091GB94KPutdfMh8+7ArU6SSYmlRJQVh\nGkSBjCypQ5Yj36w6gZoOKcUcqeldHraenjAKOc7xiID7S13MMuyFYkMlNAJWJwGR\ntDtwKj9useiciAF9n9T521NtYJ2/LOdYq7hfRvzOxBsDPAnrSTFcaUaz4EcCAwEA\nAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYE\nFDqahQcQZyi27/a9BUFuIMGU2g/eMA0GCSqGSIb3DQEBCwUAA4IBAQCZ21151fmX\nWWcDYfF+OwYxdS2hII5PZYe096acvNjpL9DbWu7PdIxztDhC2gV7+AJ1uP2lsdeu\n9tfeE8tTEH6KRtGX+rcuKxGrkLAngPnon1rpN5+r5N9ss4UXnT3ZJE95kTXWXwTr\ngIOrmgIttRD02JDHBHNA7XIloKmf7J6raBKZV8aPEjoJpL1E/QYVN8Gb5DKj7Tjo\n2GTzLH4U/ALqn83/B2gX2yKQOC16jdFU8WnjXzPKej17CuPKf1855eJ1usV2GDPO\nLPAvTK33sefOT6jEm0pUBsV/fdUID+Ic/n4XuKxe9tQWskMJDE32p2u0mYRlynqI\n4uJEvlz36hz1\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIEDzCCAvegAwIBAgIBADANBgkqhkiG9w0BAQUFADBoMQswCQYDVQQGEwJVUzEl\nMCMGA1UEChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMp\nU3RhcmZpZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQw\nNjI5MTczOTE2WhcNMzQwNjI5MTczOTE2WjBoMQswCQYDVQQGEwJVUzElMCMGA1UE\nChMcU3RhcmZpZWxkIFRlY2hub2xvZ2llcywgSW5jLjEyMDAGA1UECxMpU3RhcmZp\nZWxkIENsYXNzIDIgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggEgMA0GCSqGSIb3\nDQEBAQUAA4IBDQAwggEIAoIBAQC3Msj+6XGmBIWtDBFk385N78gDGIc/oav7PKaf\n8MOh2tTYbitTkPskpD6E8J7oX+zlJ0T1KKY/e97gKvDIr1MvnsoFAZMej2YcOadN\n+lq2cwQlZut3f+dZxkqZJRRU6ybH838Z1TBwj6+wRir/resp7defqgSHo9T5iaU0\nX9tDkYI22WY8sbi5gv2cOj4QyDvvBmVmepsZGD3/cVE8MC5fvj13c7JdBmzDI1aa\nK4UmkhynArPkPw2vCHmCuDY96pzTNbO8acr1zJ3o/WSNF4Azbl5KXZnJHoe0nRrA\n1W4TNSNe35tfPe/W93bC6j67eA0cQmdrBNj41tpvi/JEoAGrAgEDo4HFMIHCMB0G\nA1UdDgQWBBS/X7fRzt0fhvRbVazc1xDCDqmI5zCBkgYDVR0jBIGKMIGHgBS/X7fR\nzt0fhvRbVazc1xDCDqmI56FspGowaDELMAkGA1UEBhMCVVMxJTAjBgNVBAoTHFN0\nYXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAsTKVN0YXJmaWVsZCBD\nbGFzcyAyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggEAMAwGA1UdEwQFMAMBAf8w\nDQYJKoZIhvcNAQEFBQADggEBAAWdP4id0ckaVaGsafPzWdqbAYcaT1epoXkJKtv3\nL7IezMdeatiDh6GX70k1PncGQVhiv45YuApnP+yz3SFmH8lU+nLMPUxA2IGvd56D\neruix/U0F47ZEUD0/CwqTRV/p2JdLiXTAAsgGh1o+Re49L2L7ShZ3U0WixeDyLJl\nxy16paq8U4Zt3VekyvggQQto8PT7dL5WXXp59fkdheMtlb71cZBDzI0fmgAKhynp\nVSJYACPq4xJDKVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEY\nWQPJIrSPnNVeKtelttQKbfi3QBFGmh95DmK/D5fs4C8fF5Q=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIID3TCCAsWgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBjzELMAkGA1UEBhMCVVMx\nEDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT\nHFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xMjAwBgNVBAMTKVN0YXJmaWVs\nZCBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eSAtIEcyMB4XDTA5MDkwMTAwMDAw\nMFoXDTM3MTIzMTIzNTk1OVowgY8xCzAJBgNVBAYTAlVTMRAwDgYDVQQIEwdBcml6\nb25hMRMwEQYDVQQHEwpTY290dHNkYWxlMSUwIwYDVQQKExxTdGFyZmllbGQgVGVj\naG5vbG9naWVzLCBJbmMuMTIwMAYDVQQDEylTdGFyZmllbGQgUm9vdCBDZXJ0aWZp\nY2F0ZSBBdXRob3JpdHkgLSBHMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC\nggEBAL3twQP89o/8ArFvW59I2Z154qK3A2FWGMNHttfKPTUuiUP3oWmb3ooa/RMg\nnLRJdzIpVv257IzdIvpy3Cdhl+72WoTsbhm5iSzchFvVdPtrX8WJpRBSiUZV9Lh1\nHOZ/5FSuS/hVclcCGfgXcVnrHigHdMWdSL5stPSksPNkN3mSwOxGXn/hbVNMYq/N\nHwtjuzqd+/x5AJhhdM8mgkBj87JyahkNmcrUDnXMN/uLicFZ8WJ/X7NfZTD4p7dN\ndloedl40wOiWVpmKs/B/pM293DIxfJHP4F8R+GuqSVzRmZTRouNjWwl2tVZi4Ut0\nHZbUJtQIBFnQmA4O5t78w+wfkPECAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAO\nBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFHwMMh+n2TB/xH1oo2Kooc6rB1snMA0G\nCSqGSIb3DQEBCwUAA4IBAQARWfolTwNvlJk7mh+ChTnUdgWUXuEok21iXQnCoKjU\nsHU48TRqneSfioYmUeYs0cYtbpUgSpIB7LiKZ3sx4mcujJUDJi5DnUox9g61DLu3\n4jd/IroAow57UvtruzvE03lRTs2Q9GcHGcg8RnoNAX3FWOdt5oUwF5okxBDgBPfg\n8n/Uqgr/Qh037ZTlZFkSIHc40zI+OIF1lnP6aI+xy84fxez6nH7PfrHxBy22/L/K\npL/QlwVKvOoYKAKQvVR4CSFx09F9HdkWsKlhPdAKACL8x3vLCWRFCztAgfd9fDL1\nmMpYjn0q7pBZc2T5NnReJaH1ZgUufzkVqSr7UIuOhWn0\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIB3DCCAYOgAwIBAgINAgPlfvU/k/2lCSGypjAKBggqhkjOPQQDAjBQMSQwIgYD\nVQQLExtHbG9iYWxTaWduIEVDQyBSb290IENBIC0gUjQxEzARBgNVBAoTCkdsb2Jh\nbFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTIxMTEzMDAwMDAwWhcNMzgw\nMTE5MDMxNDA3WjBQMSQwIgYDVQQLExtHbG9iYWxTaWduIEVDQyBSb290IENBIC0g\nUjQxEzARBgNVBAoTCkdsb2JhbFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wWTAT\nBgcqhkjOPQIBBggqhkjOPQMBBwNCAAS4xnnTj2wlDp8uORkcA6SumuU5BwkWymOx\nuYb4ilfBV85C+nOh92VC/x7BALJucw7/xyHlGKSq2XE/qNS5zowdo0IwQDAOBgNV\nHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUVLB7rUW44kB/\n+wpu+74zyTyjhNUwCgYIKoZIzj0EAwIDRwAwRAIgIk90crlgr/HmnKAWBVBfw147\nbmF0774BxL4YSFlhgjICICadVGNA3jdgUM/I2O2dgq43mLyjj0xMqTQrbO/7lZsm\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFVzCCAz+gAwIBAgINAgPlk28xsBNJiGuiFzANBgkqhkiG9w0BAQwFADBHMQsw\nCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU\nMBIGA1UEAxMLR1RTIFJvb3QgUjEwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw\nMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp\nY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjEwggIiMA0GCSqGSIb3DQEBAQUA\nA4ICDwAwggIKAoICAQC2EQKLHuOhd5s73L+UPreVp0A8of2C+X0yBoJx9vaMf/vo\n27xqLpeXo4xL+Sv2sfnOhB2x+cWX3u+58qPpvBKJXqeqUqv4IyfLpLGcY9vXmX7w\nCl7raKb0xlpHDU0QM+NOsROjyBhsS+z8CZDfnWQpJSMHobTSPS5g4M/SCYe7zUjw\nTcLCeoiKu7rPWRnWr4+wB7CeMfGCwcDfLqZtbBkOtdh+JhpFAz2weaSUKK0Pfybl\nqAj+lug8aJRT7oM6iCsVlgmy4HqMLnXWnOunVmSPlk9orj2XwoSPwLxAwAtcvfaH\nszVsrBhQf4TgTM2S0yDpM7xSma8ytSmzJSq0SPly4cpk9+aCEI3oncKKiPo4Zor8\nY/kB+Xj9e1x3+naH+uzfsQ55lVe0vSbv1gHR6xYKu44LtcXFilWr06zqkUspzBmk\nMiVOKvFlRNACzqrOSbTqn3yDsEB750Orp2yjj32JgfpMpf/VjsPOS+C12LOORc92\nwO1AK/1TD7Cn1TsNsYqiA94xrcx36m97PtbfkSIS5r762DL8EGMUUXLeXdYWk70p\naDPvOmbsB4om3xPXV2V4J95eSRQAogB/mqghtqmxlbCluQ0WEdrHbEg8QOB+DVrN\nVjzRlwW5y0vtOUucxD/SVRNuJLDWcfr0wbrM7Rv1/oFB2ACYPTrIrnqYNxgFlQID\nAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E\nFgQU5K8rJnEaK0gnhS9SZizv8IkTcT4wDQYJKoZIhvcNAQEMBQADggIBAJ+qQibb\nC5u+/x6Wki4+omVKapi6Ist9wTrYggoGxval3sBOh2Z5ofmmWJyq+bXmYOfg6LEe\nQkEzCzc9zolwFcq1JKjPa7XSQCGYzyI0zzvFIoTgxQ6KfF2I5DUkzps+GlQebtuy\nh6f88/qBVRRiClmpIgUxPoLW7ttXNLwzldMXG+gnoot7TiYaelpkttGsN/H9oPM4\n7HLwEXWdyzRSjeZ2axfG34arJ45JK3VmgRAhpuo+9K4l/3wV3s6MJT/KYnAK9y8J\nZgfIPxz88NtFMN9iiMG1D53Dn0reWVlHxYciNuaCp+0KueIHoI17eko8cdLiA6Ef\nMgfdG+RCzgwARWGAtQsgWSl4vflVy2PFPEz0tv/bal8xa5meLMFrUKTX5hgUvYU/\nZ6tGn6D/Qqc6f1zLXbBwHSs09dR2CQzreExZBfMzQsNhFRAbd03OIozUhfJFfbdT\n6u9AWpQKXCBfTkBdYiJ23//OYb2MI3jSNwLgjt7RETeJ9r/tSQdirpLsQBqvFAnZ\n0E6yove+7u7Y/9waLd64NnHi/Hm3lCXRSHNboTXns5lndcEZOitHTtNCjv0xyBZm\n2tIMPNuzjsmhDYAPexZ3FL//2wmUspO8IFgV6dtxQ/PeEMMA3KgqlbbC1j+Qa3bb\nbP6MvPJwNQzcmRk13NfIRmPVNnGuV/u3gm3c\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFVzCCAz+gAwIBAgINAgPlrsWNBCUaqxElqjANBgkqhkiG9w0BAQwFADBHMQsw\nCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEU\nMBIGA1UEAxMLR1RTIFJvb3QgUjIwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAw\nMDAwWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZp\nY2VzIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjIwggIiMA0GCSqGSIb3DQEBAQUA\nA4ICDwAwggIKAoICAQDO3v2m++zsFDQ8BwZabFn3GTXd98GdVarTzTukk3LvCvpt\nnfbwhYBboUhSnznFt+4orO/LdmgUud+tAWyZH8QiHZ/+cnfgLFuv5AS/T3KgGjSY\n6Dlo7JUle3ah5mm5hRm9iYz+re026nO8/4Piy33B0s5Ks40FnotJk9/BW9BuXvAu\nMC6C/Pq8tBcKSOWIm8Wba96wyrQD8Nr0kLhlZPdcTK3ofmZemde4wj7I0BOdre7k\nRXuJVfeKH2JShBKzwkCX44ofR5GmdFrS+LFjKBC4swm4VndAoiaYecb+3yXuPuWg\nf9RhD1FLPD+M2uFwdNjCaKH5wQzpoeJ/u1U8dgbuak7MkogwTZq9TwtImoS1mKPV\n+3PBV2HdKFZ1E66HjucMUQkQdYhMvI35ezzUIkgfKtzra7tEscszcTJGr61K8Yzo\ndDqs5xoic4DSMPclQsciOzsSrZYuxsN2B6ogtzVJV+mSSeh2FnIxZyuWfoqjx5RW\nIr9qS34BIbIjMt/kmkRtWVtd9QCgHJvGeJeNkP+byKq0rxFROV7Z+2et1VsRnTKa\nG73VululycslaVNVJ1zgyjbLiGH7HrfQy+4W+9OmTN6SpdTi3/UGVN4unUu0kzCq\ngc7dGtxRcw1PcOnlthYhGXmy5okLdWTK1au8CcEYof/UVKGFPP0UJAOyh9OktwID\nAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E\nFgQUu//KjiOfT5nK2+JopqUVJxce2Q4wDQYJKoZIhvcNAQEMBQADggIBAB/Kzt3H\nvqGf2SdMC9wXmBFqiN495nFWcrKeGk6c1SuYJF2ba3uwM4IJvd8lRuqYnrYb/oM8\n0mJhwQTtzuDFycgTE1XnqGOtjHsB/ncw4c5omwX4Eu55MaBBRTUoCnGkJE+M3DyC\nB19m3H0Q/gxhswWV7uGugQ+o+MePTagjAiZrHYNSVc61LwDKgEDg4XSsYPWHgJ2u\nNmSRXbBoGOqKYcl3qJfEycel/FVL8/B/uWU9J2jQzGv6U53hkRrJXRqWbTKH7QMg\nyALOWr7Z6v2yTcQvG99fevX4i8buMTolUVVnjWQye+mew4K6Ki3pHrTgSAai/Gev\nHyICc/sgCq+dVEuhzf9gR7A/Xe8bVr2XIZYtCtFenTgCR2y59PYjJbigapordwj6\nxLEokCZYCDzifqrXPW+6MYgKBesntaFJ7qBFVHvmJ2WZICGoo7z7GJa7Um8M7YNR\nTOlZ4iBgxcJlkoKM8xAfDoqXvneCbT+PHV28SSe9zE8P4c52hgQjxcCMElv924Sg\nJPFI/2R80L5cFtHvma3AH/vLrrw4IgYmZNralw4/KBVEqE8AyvCazM90arQ+POuV\n7LXTWtiBmelDGDfrs7vRWGJB82bSj6p4lVQgw1oudCvV0b4YacCs1aTPObpRhANl\n6WLAYv7YTVWW4tAR+kg0Eeye7QUd5MjWHYbL\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICCTCCAY6gAwIBAgINAgPluILrIPglJ209ZjAKBggqhkjOPQQDAzBHMQswCQYD\nVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIG\nA1UEAxMLR1RTIFJvb3QgUjMwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAw\nWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2Vz\nIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjMwdjAQBgcqhkjOPQIBBgUrgQQAIgNi\nAAQfTzOHMymKoYTey8chWEGJ6ladK0uFxh1MJ7x/JlFyb+Kf1qPKzEUURout736G\njOyxfi//qXGdGIRFBEFVbivqJn+7kAHjSxm65FSWRQmx1WyRRK2EE46ajA2ADDL2\n4CejQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW\nBBTB8Sa6oC2uhYHP0/EqEr24Cmf9vDAKBggqhkjOPQQDAwNpADBmAjEA9uEglRR7\nVKOQFhG/hMjqb2sXnh5GmCCbn9MN2azTL818+FsuVbu/3ZL3pAzcMeGiAjEA/Jdm\nZuVDFhOD3cffL74UOO0BzrEXGhF16b0DjyZ+hOXJYKaV11RZt+cRLInUue4X\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICCTCCAY6gAwIBAgINAgPlwGjvYxqccpBQUjAKBggqhkjOPQQDAzBHMQswCQYD\nVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzEUMBIG\nA1UEAxMLR1RTIFJvb3QgUjQwHhcNMTYwNjIyMDAwMDAwWhcNMzYwNjIyMDAwMDAw\nWjBHMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2Vz\nIExMQzEUMBIGA1UEAxMLR1RTIFJvb3QgUjQwdjAQBgcqhkjOPQIBBgUrgQQAIgNi\nAATzdHOnaItgrkO4NcWBMHtLSZ37wWHO5t5GvWvVYRg1rkDdc/eJkTBa6zzuhXyi\nQHY7qca4R9gq55KRanPpsXI5nymfopjTX15YhmUPoYRlBtHci8nHc8iMai/lxKvR\nHYqjQjBAMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQW\nBBSATNbrdP9JNqPV2Py1PsVq8JQdjDAKBggqhkjOPQQDAwNpADBmAjEA6ED/g94D\n9J+uHXqnLrmvT/aDHQ4thQEd0dlq7A/Cr8deVl5c1RxYIigL9zC2L7F8AjEA8GE8\np/SgguMh1YQdc4acLa/KNJvxn7kjNuK8YAOdgLOaVsjh4rsUecrNIdSUtUlD\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFzzCCA7egAwIBAgIUCBZfikyl7ADJk0DfxMauI7gcWqQwDQYJKoZIhvcNAQEL\nBQAwbzELMAkGA1UEBhMCSEsxEjAQBgNVBAgTCUhvbmcgS29uZzESMBAGA1UEBxMJ\nSG9uZyBLb25nMRYwFAYDVQQKEw1Ib25na29uZyBQb3N0MSAwHgYDVQQDExdIb25n\na29uZyBQb3N0IFJvb3QgQ0EgMzAeFw0xNzA2MDMwMjI5NDZaFw00MjA2MDMwMjI5\nNDZaMG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtvbmcxEjAQBgNVBAcT\nCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMXSG9u\nZ2tvbmcgUG9zdCBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK\nAoICAQCziNfqzg8gTr7m1gNt7ln8wlffKWihgw4+aMdoWJwcYEuJQwy51BWy7sFO\ndem1p+/l6TWZ5Mwc50tfjTMwIDNT2aa71T4Tjukfh0mtUC1Qyhi+AViiE3CWu4mI\nVoBc+L0sPOFMV4i707mV78vH9toxdCim5lSJ9UExyuUmGs2C4HDaOym71QP1mbpV\n9WTRYA6ziUm4ii8F0oRFKHyPaFASePwLtVPLwpgchKOesL4jpNrcyCse2m5FHomY\n2vkALgbpDDtw1VAliJnLzXNg99X/NWfFobxeq81KuEXryGgeDQ0URhLj0mRiikKY\nvLTGCAj4/ahMZJx2Ab0vqWwzD9g/KLg8aQFChn5pwckGyuV6RmXpwtZQQS4/t+Tt\nbNe/JgERohYpSms0BpDsE9K2+2p20jzt8NYt3eEV7KObLyzJPivkaTv/ciWxNoZb\nx39ri1UbSsUgYT2uy1DhCDq+sI9jQVMwCFk8mB13umOResoQUGC/8Ne8lYePl8X+\nl2oBlKN8W4UdKjk60FSh0Tlxnf0h+bV78OLgAo9uliQlLKAeLKjEiafv7ZkGL7YK\nTE/bosw3Gq9HhS2KX8Q0NEwA/RiTZxPRN+ZItIsGxVd7GYYKecsAyVKvQv83j+Gj\nHno9UKtjBucVtT+2RTeUN7F+8kjDf8V1/peNRY8apxpyKBpADwIDAQABo2MwYTAP\nBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQXnc0e\ni9Y5K3DTXNSguB+wAPzFYTAdBgNVHQ4EFgQUF53NHovWOStw01zUoLgfsAD8xWEw\nDQYJKoZIhvcNAQELBQADggIBAFbVe27mIgHSQpsY1Q7XZiNc4/6gx5LS6ZStS6LG\n7BJ8dNVI0lkUmcDrudHr9EgwW62nV3OZqdPlt9EuWSRY3GguLmLYauRwCy0gUCCk\nMpXRAJi70/33MvJJrsZ64Ee+bs7Lo3I6LWldy8joRTnU+kLBEUx3XZL7av9YROXr\ngZ6voJmtvqkBZss4HTzfQx/0TW60uhdG/H39h4F5ag0zD/ov+BS5gLNdTaqX4fnk\nGMX41TiMJjz98iji7lpJiCzfeT2OnpA8vUFKOt1b9pq0zj8lMH8yfaIDlNDceqFS\n3m6TjRgm/VWsvY+b0s+v54Ysyx8Jb6NvqYTUc79NoXQbTiNg8swOqn+knEwlqLJm\nOzj/2ZQw9nKEvmhVEA/GcywWaZMH/rFF7buiVWqw2rVKAiUnhde3t4ZEFolsgCs+\nl6mc1X5VTMbeRRAc6uk7nwNT7u56AQIWeNTowr5GdogTPyK7SBIdUgC0An4hGh6c\nJfTzPV4e0hz5sy229zdcxsshTrD3mUcYhcErulWuBurQB7Lcq9CClnXO0lD+mefP\nL5/ndtFhKvshuzHQqp9HpLIiyhY6UFfEW0NnxWViA0kB60PZ2Pierc+xYw5F9KBa\nLJstxabArahH9CdMOA0uG0k7UvToiIMrVCjU8jVStDKDYmlkDJGcn5fqdBb9HxEG\nmpv0\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIH0zCCBbugAwIBAgIIXsO3pkN/pOAwDQYJKoZIhvcNAQEFBQAwQjESMBAGA1UE\nAwwJQUNDVlJBSVoxMRAwDgYDVQQLDAdQS0lBQ0NWMQ0wCwYDVQQKDARBQ0NWMQsw\nCQYDVQQGEwJFUzAeFw0xMTA1MDUwOTM3MzdaFw0zMDEyMzEwOTM3MzdaMEIxEjAQ\nBgNVBAMMCUFDQ1ZSQUlaMTEQMA4GA1UECwwHUEtJQUNDVjENMAsGA1UECgwEQUND\nVjELMAkGA1UEBhMCRVMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCb\nqau/YUqXry+XZpp0X9DZlv3P4uRm7x8fRzPCRKPfmt4ftVTdFXxpNRFvu8gMjmoY\nHtiP2Ra8EEg2XPBjs5BaXCQ316PWywlxufEBcoSwfdtNgM3802/J+Nq2DoLSRYWo\nG2ioPej0RGy9ocLLA76MPhMAhN9KSMDjIgro6TenGEyxCQ0jVn8ETdkXhBilyNpA\nlHPrzg5XPAOBOp0KoVdDaaxXbXmQeOW1tDvYvEyNKKGno6e6Ak4l0Squ7a4DIrhr\nIA8wKFSVf+DuzgpmndFALW4ir50awQUZ0m/A8p/4e7MCQvtQqR0tkw8jq8bBD5L/\n0KIV9VMJcRz/RROE5iZe+OCIHAr8Fraocwa48GOEAqDGWuzndN9wrqODJerWx5eH\nk6fGioozl2A3ED6XPm4pFdahD9GILBKfb6qkxkLrQaLjlUPTAYVtjrs78yM2x/47\n4KElB0iryYl0/wiPgL/AlmXz7uxLaL2diMMxs0Dx6M/2OLuc5NF/1OVYm3z61PMO\nm3WR5LpSLhl+0fXNWhn8ugb2+1KoS5kE3fj5tItQo05iifCHJPqDQsGH+tUtKSpa\ncXpkatcnYGMN285J9Y0fkIkyF/hzQ7jSWpOGYdbhdQrqeWZ2iE9x6wQl1gpaepPl\nuUsXQA+xtrn13k/c4LOsOxFwYIRKQ26ZIMApcQrAZQIDAQABo4ICyzCCAscwfQYI\nKwYBBQUHAQEEcTBvMEwGCCsGAQUFBzAChkBodHRwOi8vd3d3LmFjY3YuZXMvZmls\nZWFkbWluL0FyY2hpdm9zL2NlcnRpZmljYWRvcy9yYWl6YWNjdjEuY3J0MB8GCCsG\nAQUFBzABhhNodHRwOi8vb2NzcC5hY2N2LmVzMB0GA1UdDgQWBBTSh7Tj3zcnk1X2\nVuqB5TbMjB4/vTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFNKHtOPfNyeT\nVfZW6oHlNsyMHj+9MIIBcwYDVR0gBIIBajCCAWYwggFiBgRVHSAAMIIBWDCCASIG\nCCsGAQUFBwICMIIBFB6CARAAQQB1AHQAbwByAGkAZABhAGQAIABkAGUAIABDAGUA\ncgB0AGkAZgBpAGMAYQBjAGkA8wBuACAAUgBhAO0AegAgAGQAZQAgAGwAYQAgAEEA\nQwBDAFYAIAAoAEEAZwBlAG4AYwBpAGEAIABkAGUAIABUAGUAYwBuAG8AbABvAGcA\n7QBhACAAeQAgAEMAZQByAHQAaQBmAGkAYwBhAGMAaQDzAG4AIABFAGwAZQBjAHQA\ncgDzAG4AaQBjAGEALAAgAEMASQBGACAAUQA0ADYAMAAxADEANQA2AEUAKQAuACAA\nQwBQAFMAIABlAG4AIABoAHQAdABwADoALwAvAHcAdwB3AC4AYQBjAGMAdgAuAGUA\nczAwBggrBgEFBQcCARYkaHR0cDovL3d3dy5hY2N2LmVzL2xlZ2lzbGFjaW9uX2Mu\naHRtMFUGA1UdHwROMEwwSqBIoEaGRGh0dHA6Ly93d3cuYWNjdi5lcy9maWxlYWRt\naW4vQXJjaGl2b3MvY2VydGlmaWNhZG9zL3JhaXphY2N2MV9kZXIuY3JsMA4GA1Ud\nDwEB/wQEAwIBBjAXBgNVHREEEDAOgQxhY2N2QGFjY3YuZXMwDQYJKoZIhvcNAQEF\nBQADggIBAJcxAp/n/UNnSEQU5CmH7UwoZtCPNdpNYbdKl02125DgBS4OxnnQ8pdp\nD70ER9m+27Up2pvZrqmZ1dM8MJP1jaGo/AaNRPTKFpV8M9xii6g3+CfYCS0b78gU\nJyCpZET/LtZ1qmxNYEAZSUNUY9rizLpm5U9EelvZaoErQNV/+QEnWCzI7UiRfD+m\nAM/EKXMRNt6GGT6d7hmKG9Ww7Y49nCrADdg9ZuM8Db3VlFzi4qc1GwQA9j9ajepD\nvV+JHanBsMyZ4k0ACtrJJ1vnE5Bc5PUzolVt3OAJTS+xJlsndQAJxGJ3KQhfnlms\ntn6tn1QwIgPBHnFk/vk4CpYY3QIUrCPLBhwepH2NDd4nQeit2hW3sCPdK6jT2iWH\n7ehVRE2I9DZ+hJp4rPcOVkkO1jMl1oRQQmwgEh0q1b688nCBpHBgvgW1m54ERL5h\nI6zppSSMEYCUWqKiuUnSwdzRp+0xESyeGabu4VXhwOrPDYTkF7eifKXeVSUG7szA\nh1xA2syVP1XgNce4hL60Xc16gwFy7ofmXx2utYXGJt/mwZrpHgJHnyqobalbz+xF\nd3+YJ5oyXSrjhO7FmGYvliAd3djDJ9ew+f7Zfc3Qn48LFFhRny+Lwzgt3uiP1o2H\npPVWQxaZLPSkVrQ0uGE3ycJYgBugl6H8WY3pEfbRD0tVNEYqi4Y7\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFgzCCA2ugAwIBAgIPXZONMGc2yAYdGsdUhGkHMA0GCSqGSIb3DQEBCwUAMDsx\nCzAJBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJ\nWiBGTk1ULVJDTTAeFw0wODEwMjkxNTU5NTZaFw0zMDAxMDEwMDAwMDBaMDsxCzAJ\nBgNVBAYTAkVTMREwDwYDVQQKDAhGTk1ULVJDTTEZMBcGA1UECwwQQUMgUkFJWiBG\nTk1ULVJDTTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALpxgHpMhm5/\nyBNtwMZ9HACXjywMI7sQmkCpGreHiPibVmr75nuOi5KOpyVdWRHbNi63URcfqQgf\nBBckWKo3Shjf5TnUV/3XwSyRAZHiItQDwFj8d0fsjz50Q7qsNI1NOHZnjrDIbzAz\nWHFctPVrbtQBULgTfmxKo0nRIBnuvMApGGWn3v7v3QqQIecaZ5JCEJhfTzC8PhxF\ntBDXaEAUwED653cXeuYLj2VbPNmaUtu1vZ5Gzz3rkQUCwJaydkxNEJY7kvqcfw+Z\n374jNUUeAlz+taibmSXaXvMiwzn15Cou08YfxGyqxRxqAQVKL9LFwag0Jl1mpdIC\nIfkYtwb1TplvqKtMUejPUBjFd8g5CSxJkjKZqLsXF3mwWsXmo8RZZUc1g16p6DUL\nmbvkzSDGm0oGObVo/CK67lWMK07q87Hj/LaZmtVC+nFNCM+HHmpxffnTtOmlcYF7\nwk5HlqX2doWjKI/pgG6BU6VtX7hI+cL5NqYuSf+4lsKMB7ObiFj86xsc3i1w4peS\nMKGJ47xVqCfWS+2QrYv6YyVZLag13cqXM7zlzced0ezvXg5KkAYmY6252TUtB7p2\nZSysV4999AeU14ECll2jB0nVetBX+RvnU0Z1qrB5QstocQjpYL05ac70r8NWQMet\nUqIJ5G+GR4of6ygnXYMgrwTJbFaai0b1AgMBAAGjgYMwgYAwDwYDVR0TAQH/BAUw\nAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFPd9xf3E6Jobd2Sn9R2gzL+H\nYJptMD4GA1UdIAQ3MDUwMwYEVR0gADArMCkGCCsGAQUFBwIBFh1odHRwOi8vd3d3\nLmNlcnQuZm5tdC5lcy9kcGNzLzANBgkqhkiG9w0BAQsFAAOCAgEAB5BK3/MjTvDD\nnFFlm5wioooMhfNzKWtN/gHiqQxjAb8EZ6WdmF/9ARP67Jpi6Yb+tmLSbkyU+8B1\nRXxlDPiyN8+sD8+Nb/kZ94/sHvJwnvDKuO+3/3Y3dlv2bojzr2IyIpMNOmqOFGYM\nLVN0V2Ue1bLdI4E7pWYjJ2cJj+F3qkPNZVEI7VFY/uY5+ctHhKQV8Xa7pO6kO8Rf\n77IzlhEYt8llvhjho6Tc+hj507wTmzl6NLrTQfv6MooqtyuGC2mDOL7Nii4LcK2N\nJpLuHvUBKwrZ1pebbuCoGRw6IYsMHkCtA+fdZn71uSANA+iW+YJF1DngoABd15jm\nfZ5nc8OaKveri6E6FO80vFIOiZiaBECEHX5FaZNXzuvO+FB8TxxuBEOb+dY7Ixjp\n6o7RTUaN8Tvkasq6+yO3m/qZASlaWFot4/nUbQ4mrcFuNLwy+AwF+mWj2zs3gyLp\n1txyM/1d8iC9djwj2ij3+RvrWWTV3F9yfiD8zYm1kGdNYno/Tq0dwzn+evQoFt9B\n9kiABdcPUXmsEKvU7ANm5mqwujGSQkBqvjrTcuFqN1W8rB2Vt2lh8kORdOag0wok\nRqEIr9baRRmW1FMdW4R58MD3R++Lj8UGrp1MYp3/RgT408m2ECVAdf4WqslKYIYv\nuu8wd+RU4riEmViAqhOLUTpPSPaLtrM=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICbjCCAfOgAwIBAgIQYvYybOXE42hcG2LdnC6dlTAKBggqhkjOPQQDAzB4MQsw\nCQYDVQQGEwJFUzERMA8GA1UECgwIRk5NVC1SQ00xDjAMBgNVBAsMBUNlcmVzMRgw\nFgYDVQRhDA9WQVRFUy1RMjgyNjAwNEoxLDAqBgNVBAMMI0FDIFJBSVogRk5NVC1S\nQ00gU0VSVklET1JFUyBTRUdVUk9TMB4XDTE4MTIyMDA5MzczM1oXDTQzMTIyMDA5\nMzczM1oweDELMAkGA1UEBhMCRVMxETAPBgNVBAoMCEZOTVQtUkNNMQ4wDAYDVQQL\nDAVDZXJlczEYMBYGA1UEYQwPVkFURVMtUTI4MjYwMDRKMSwwKgYDVQQDDCNBQyBS\nQUlaIEZOTVQtUkNNIFNFUlZJRE9SRVMgU0VHVVJPUzB2MBAGByqGSM49AgEGBSuB\nBAAiA2IABPa6V1PIyqvfNkpSIeSX0oNnnvBlUdBeh8dHsVnyV0ebAAKTRBdp20LH\nsbI6GA60XYyzZl2hNPk2LEnb80b8s0RpRBNm/dfF/a82Tc4DTQdxz69qBdKiQ1oK\nUm8BA06Oi6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYD\nVR0OBBYEFAG5L++/EYZg8k/QQW6rcx/n0m5JMAoGCCqGSM49BAMDA2kAMGYCMQCu\nSuMrQMN0EfKVrRYj3k4MGuZdpSRea0R7/DjiT8ucRRcRTBQnJlU5dUoDzBOQn5IC\nMQD6SmxgiHPz7riYYqnOK8LZiqZwMR2vsJRM60/G49HzYqc8/5MuB1xJAWdpEgJy\nv+c=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFdDCCA1ygAwIBAgIEAJiiOTANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJO\nTDEeMBwGA1UECgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFh\ndCBkZXIgTmVkZXJsYW5kZW4gUm9vdCBDQSAtIEczMB4XDTEzMTExNDExMjg0MloX\nDTI4MTExMzIzMDAwMFowWjELMAkGA1UEBhMCTkwxHjAcBgNVBAoMFVN0YWF0IGRl\nciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5lZGVybGFuZGVuIFJv\nb3QgQ0EgLSBHMzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAL4yolQP\ncPssXFnrbMSkUeiFKrPMSjTysF/zDsccPVMeiAho2G89rcKezIJnByeHaHE6n3WW\nIkYFsO2tx1ueKt6c/DrGlaf1F2cY5y9JCAxcz+bMNO14+1Cx3Gsy8KL+tjzk7FqX\nxz8ecAgwoNzFs21v0IJyEavSgWhZghe3eJJg+szeP4TrjTgzkApyI/o1zCZxMdFy\nKJLZWyNtZrVtB0LrpjPOktvA9mxjeM3KTj215VKb8b475lRgsGYeCasH/lSJEULR\n9yS6YHgamPfJEf0WwTUaVHXvQ9Plrk7O53vDxk5hUUurmkVLoR9BvUhTFXFkC4az\n5S6+zqQbwSmEorXLCCN2QyIkHxcE1G6cxvx/K2Ya7Irl1s9N9WMJtxU51nus6+N8\n6U78dULI7ViVDAZCopz35HCz33JvWjdAidiFpNfxC95DGdRKWCyMijmev4SH8RY7\nNgzp07TKbBlBUgmhHbBqv4LvcFEhMtwFdozL92TkA1CvjJFnq8Xy7ljY3r735zHP\nbMk7ccHViLVlvMDoFxcHErVc0qsgk7TmgoNwNsXNo42ti+yjwUOH5kPiNL6VizXt\nBznaqB16nzaeErAMZRKQFWDZJkBE41ZgpRDUajz9QdwOWke275dhdU/Z/seyHdTt\nXUmzqWrLZoQT1Vyg3N9udwbRcXXIV2+vD3dbAgMBAAGjQjBAMA8GA1UdEwEB/wQF\nMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRUrfrHkleuyjWcLhL75Lpd\nINyUVzANBgkqhkiG9w0BAQsFAAOCAgEAMJmdBTLIXg47mAE6iqTnB/d6+Oea31BD\nU5cqPco8R5gu4RV78ZLzYdqQJRZlwJ9UXQ4DO1t3ApyEtg2YXzTdO2PCwyiBwpwp\nLiniyMMB8jPqKqrMCQj3ZWfGzd/TtiunvczRDnBfuCPRy5FOCvTIeuXZYzbB1N/8\nIpf3YF3qKS9Ysr1YvY2WTxB1v0h7PVGHoTx0IsL8B3+A3MSs/mrBcDCw6Y5p4ixp\ngZQJut3+TcCDjJRYwEYgr5wfAvg1VUkvRtTA8KCWAg8zxXHzniN9lLf9OtMJgwYh\n/WA9rjLA0u6NpvDntIJ8CsxwyXmA+P5M9zWEGYox+wrZ13+b8KKaa8MFSu1BYBQw\n0aoRQm7TIwIEC8Zl3d1Sd9qBa7Ko+gE4uZbqKmxnl4mUnrzhVNXkanjvSr0rmj1A\nfsbAddJu+2gw7OyLnflJNZoaLNmzlTnVHpL3prllL+U9bTpITAjc5CgSKL59NVzq\n4BZ+Extq1z7XnvwtdbLBFNUjA9tbbws+eC8N3jONFrdI54OagQ97wUNNVQQXOEpR\n1VmiiXTTn74eS9fGbbeIJG9gkaSChVtWQbzQRKtqE77RLFi3EjNYsjdj3BP1lB0/\nQFH1T/U67cjF68IeHRaVesd+QnGTbksVtzDfqu1XhUisHWrdOWnk4Xl4vs4Fv6EM\n94B7IWcnMFk=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIEYzCCA0ugAwIBAgIBATANBgkqhkiG9w0BAQsFADCB0jELMAkGA1UEBhMCVFIx\nGDAWBgNVBAcTD0dlYnplIC0gS29jYWVsaTFCMEAGA1UEChM5VHVya2l5ZSBCaWxp\nbXNlbCB2ZSBUZWtub2xvamlrIEFyYXN0aXJtYSBLdXJ1bXUgLSBUVUJJVEFLMS0w\nKwYDVQQLEyRLYW11IFNlcnRpZmlrYXN5b24gTWVya2V6aSAtIEthbXUgU00xNjA0\nBgNVBAMTLVRVQklUQUsgS2FtdSBTTSBTU0wgS29rIFNlcnRpZmlrYXNpIC0gU3Vy\ndW0gMTAeFw0xMzExMjUwODI1NTVaFw00MzEwMjUwODI1NTVaMIHSMQswCQYDVQQG\nEwJUUjEYMBYGA1UEBxMPR2ViemUgLSBLb2NhZWxpMUIwQAYDVQQKEzlUdXJraXll\nIEJpbGltc2VsIHZlIFRla25vbG9qaWsgQXJhc3Rpcm1hIEt1cnVtdSAtIFRVQklU\nQUsxLTArBgNVBAsTJEthbXUgU2VydGlmaWthc3lvbiBNZXJrZXppIC0gS2FtdSBT\nTTE2MDQGA1UEAxMtVFVCSVRBSyBLYW11IFNNIFNTTCBLb2sgU2VydGlmaWthc2kg\nLSBTdXJ1bSAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAr3UwM6q7\na9OZLBI3hNmNe5eA027n/5tQlT6QlVZC1xl8JoSNkvoBHToP4mQ4t4y86Ij5iySr\nLqP1N+RAjhgleYN1Hzv/bKjFxlb4tO2KRKOrbEz8HdDc72i9z+SqzvBV96I01INr\nN3wcwv61A+xXzry0tcXtAA9TNypN9E8Mg/uGz8v+jE69h/mniyFXnHrfA2eJLJ2X\nYacQuFWQfw4tJzh03+f92k4S400VIgLI4OD8D62K18lUUMw7D8oWgITQUVbDjlZ/\niSIzL+aFCr2lqBs23tPcLG07xxO9WSMs5uWk99gL7eqQQESolbuT1dCANLZGeA4f\nAJNG4e7p+exPFwIDAQABo0IwQDAdBgNVHQ4EFgQUZT/HiobGPN08VFw1+DrtUgxH\nV8gwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL\nBQADggEBACo/4fEyjq7hmFxLXs9rHmoJ0iKpEsdeV31zVmSAhHqT5Am5EM2fKifh\nAHe+SMg1qIGf5LgsyX8OsNJLN13qudULXjS99HMpw+0mFZx+CFOKWI3QSyjfwbPf\nIPP54+M638yclNhOT8NrF7f3cuitZjO1JVOr4PhMqZ398g26rrnZqsZr+ZO7rqu4\nlzwDGrpDxpa5RXI4s6ehlj2Re37AIVNMh+3yC1SVUZPVIqUNivGTDj5UDrDYyU7c\n8jEyVupk+eq1nRZmQnLzf9OxMUP8pI4X8W0jq5Rm+K37DwhuJi1/FwcJsoz7UMCf\nlo3Ptv0AnVoUmr8CRPXBwp8iXqIPoeM=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICWjCCAeGgAwIBAgIQMWjZ2OFiVx7SGUSI5hB98DAKBggqhkjOPQQDAzBvMQsw\nCQYDVQQGEwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2Vh\ncmNoIEluc3RpdHV0aW9ucyBDQTEnMCUGA1UEAwweSEFSSUNBIENsaWVudCBFQ0Mg\nUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTExMDMzNFoXDTQ1MDIxMzExMDMzM1owbzEL\nMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl\nYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJzAlBgNVBAMMHkhBUklDQSBDbGllbnQgRUND\nIFJvb3QgQ0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABAcYrZWWlNBcD4L3\nKkD6AsnJPTamowRqwW2VAYhgElRsXKIrbhM6iJUMHCaGNkqJGbcY3jvoqFAfyt9b\nv0mAFdvjMOEdWscqigEH/m0sNO8oKJe8wflXhpWLNc+eWtFolaNCMEAwDwYDVR0T\nAQH/BAUwAwEB/zAdBgNVHQ4EFgQUUgjSvjKBJf31GpfsTl8au1PNkK0wDgYDVR0P\nAQH/BAQDAgGGMAoGCCqGSM49BAMDA2cAMGQCMEwxRUZPqOa+w3eyGhhLLYh7WOar\nlGtEA7AX/9+Cc0RRLP2THQZ7FNKJ7EAM7yEBLgIwL8kuWmwsHdmV4J6wuVxSfPb4\nOMou8dQd8qJJopX4wVheT/5zCu8xsKsjWBOMi947\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFqjCCA5KgAwIBAgIQVVL4HtsbJCyeu5YYzQIoPjANBgkqhkiG9w0BAQsFADBv\nMQswCQYDVQQGEwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl\nc2VhcmNoIEluc3RpdHV0aW9ucyBDQTEnMCUGA1UEAwweSEFSSUNBIENsaWVudCBS\nU0EgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTEwNTg0NloXDTQ1MDIxMzEwNTg0NVow\nbzELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWljIGFuZCBS\nZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJzAlBgNVBAMMHkhBUklDQSBDbGllbnQg\nUlNBIFJvb3QgQ0EgMjAyMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB\nAIHbV0KQLHQ19Pi4dBlNqwlad0WBc2KwNZ/40LczAIcTtparDlQSMAe8m7dI19EZ\ng66O2KnxqQCEsIxenugMj1Rpv/bUCE8mcP4YQWMaszKLQPgHq1cx8MYWdmeatN0v\n8tFrxdCShJFxbg8uY+kfU6TdUhPMCYMpgQzFU3VEsQ5nUxjQwx+IS5+UJLQpvLvo\nTv1v0hUdSdyNcPIRGiBRVRG6iG/E91B51qox4oQ9XjLIdypQceULL+m26u+rCjM5\nDv2PpWdDgo6YaQkJG0DNOGdH6snsl3ES3iT1cjzR90NMJveQsonpRUtVPTEFekHi\nlbpDwBfFtoU9GY1kcPNbrM2f0yl1h0uVZ2qm+NHdvJCGiUMpqTdb9V2wJlpTQnaQ\nK8+eVmwrVM9cmmXfW4tIYDh8+8ULz3YEYwIzKn31g2fn+sZD/SsP1CYvd6QywSTq\nZJ2/szhxMUTyR7iiZkGh+5t7vMdGanW/WqKM6GpEwbiWtcAyCC17dDVzssrG/q8R\nchj258jCz6Uq6nvWWeh8oLJqQAlpDqWW29EAufGIbjbwiLKd8VLyw3y/MIk8Cmn5\nIqRl4ZvgdMaxhZeWLK6Uj1CmORIfvkfygXjTdTaefVogl+JSrpmfxnybZvP+2M/u\nvZcGHS2F3D42U5Z7ILroyOGtlmI+EXyzAISep0xxq0o3AgMBAAGjQjBAMA8GA1Ud\nEwEB/wQFMAMBAf8wHQYDVR0OBBYEFKDWBz1eJPd7oEQuJFINGaorBJGnMA4GA1Ud\nDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEADUf5CWYxUux57sKo8mg+7ZZF\nyzqmmGM/6itNTgPQHILhy9Pl1qtbZyi8nf4MmQqAVafOGyNhDbBX8P7gyr7mkNuD\nLL6DjvR5tv7QDUKnWB9p6oH1BaX+RmjrbHjJ4Orn5t4xxdLVLIJjKJ1dqBp+iObn\nK/Es1dAFntwtvTdm1ASip62/OsKoO63/jZ0z4LmahKGHH3b0gnTXDvkwSD5biD6q\nXGvWLwzojnPCGJGDObZmWtAfYCddTeP2Og1mUJx4e6vzExCuDy+r6GSzGCCdRjVk\nJXPqmxBcWDWJsUZIp/Ss1B2eW8yppRoTTyRQqtkbbbFA+53dWHTEwm8UcuzbNZ+4\nVHVFw6bIGig1Oq5l8qmYzq9byTiMMTt/zNyW/eJb1tBZ9Ha6C8tPgxDHQNAdYOkq\n5UhYdwxFab4ZcQQk4uMkH0rIwT6Z9ZaYOEgloRWwG9fihBhb9nE1mmh7QMwYXAwk\nndSV9ZmqRuqurL/0FBkk6Izs4/W8BmiKKgwFXwqXdafcfsD913oY3zDROEsfsJhw\nv8x8c/BuxDGlpJcdrL/ObCFKvicjZ/MGVoEKkY624QMFMyzaNAhNTlAjrR+lxdR6\n/uoJ7KcoYItGfLXqm91P+edrFcaIz0Pb5SfcBFZub0YV8VYt6FwMc8MjgTggy8kM\nac8sqzuEYDMZUv1pFDM=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICVDCCAdugAwIBAgIQZ3SdjXfYO2rbIvT/WeK/zjAKBggqhkjOPQQDAzBsMQsw\nCQYDVQQGEwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2Vh\ncmNoIEluc3RpdHV0aW9ucyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBFQ0MgUm9v\ndCBDQSAyMDIxMB4XDTIxMDIxOTExMDExMFoXDTQ1MDIxMzExMDEwOVowbDELMAkG\nA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJj\naCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgRUNDIFJvb3Qg\nQ0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDgI/rGgltJ6rK9JOtDA4MM7\nKKrxcm1lAEeIhPyaJmuqS7psBAqIXhfyVYf8MLA04jRYVxqEU+kw2anylnTDUR9Y\nSTHMmE5gEYd103KUkE+bECUqqHgtvpBBWJAVcqeht6NCMEAwDwYDVR0TAQH/BAUw\nAwEB/zAdBgNVHQ4EFgQUyRtTgRL+BNUW0aq8mm+3oJUZbsowDgYDVR0PAQH/BAQD\nAgGGMAoGCCqGSM49BAMDA2cAMGQCMBHervjcToiwqfAircJRQO9gcS3ujwLEXQNw\nSaSS6sUUiHCm0w2wqsosQJz76YJumgIwK0eaB8bRwoF8yguWGEEbo/QwCZ61IygN\nnxS2PFOiTAZpffpskcYqSUXm7LcT4Tps\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFpDCCA4ygAwIBAgIQOcqTHO9D88aOk8f0ZIk4fjANBgkqhkiG9w0BAQsFADBs\nMQswCQYDVQQGEwJHUjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl\nc2VhcmNoIEluc3RpdHV0aW9ucyBDQTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBSU0Eg\nUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTEwNTUzOFoXDTQ1MDIxMzEwNTUzN1owbDEL\nMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNl\nYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgUlNBIFJv\nb3QgQ0EgMjAyMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIvC569l\nmwVnlskNJLnQDmT8zuIkGCyEf3dRywQRNrhe7Wlxp57kJQmXZ8FHws+RFjZiPTgE\n4VGC/6zStGndLuwRo0Xua2s7TL+MjaQenRG56Tj5eg4MmOIjHdFOY9TnuEFE+2uv\na9of08WRiFukiZLRgeaMOVig1mlDqa2YUlhu2wr7a89o+uOkXjpFc5gH6l8Cct4M\npbOfrqkdtx2z/IpZ525yZa31MJQjB/OCFks1mJxTuy/K5FrZx40d/JiZ+yykgmvw\nKh+OC19xXFyuQnspiYHLA6OZyoieC0AJQTPb5lh6/a6ZcMBaD9YThnEvdmn8kN3b\nLW7R8pv1GmuebxWMevBLKKAiOIAkbDakO/IwkfN4E8/BPzWr8R0RI7VDIp4BkrcY\nAuUR0YLbFQDMYTfBKnya4dC6s1BG7oKsnTH4+yPiAwBIcKMJJnkVU2DzOFytOOqB\nAGMUuTNe3QvboEUHGjMJ+E20pwKmafTCWQWIZYVWrkvL4N48fS0ayOn7H6NhStYq\nE613TBoYm5EPWNgGVMWX+Ko/IIqmhaZ39qb8HOLubpQzKoNQhArlT4b4UEV4AIHr\nW2jjJo3Me1xR9BQsQL4aYB16cmEdH2MtiKrOokWQCPxrvrNQKlr9qEgYRtaQQJKQ\nCoReaDH46+0N0x3GfZkYVVYnZS6NRcUk7M7jAgMBAAGjQjBAMA8GA1UdEwEB/wQF\nMAMBAf8wHQYDVR0OBBYEFApII6ZgpJIKM+qTW8VX6iVNvRLuMA4GA1UdDwEB/wQE\nAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAPpBIqm5iFSVmewzVjIuJndftTgfvnNAU\nX15QvWiWkKQUEapobQk1OUAJ2vQJLDSle1mESSmXdMgHHkdt8s4cUCbjnj1AUz/3\nf5Z2EMVGpdAgS1D0NTsY9FVqQRtHBmg8uwkIYtlfVUKqrFOFrJVWNlar5AWMxaja\nH6NpvVMPxP/cyuN+8kyIhkdGGvMA9YCRotxDQpSbIPDRzbLrLFPCU3hKTwSUQZqP\nJzLB5UkZv/HywouoCjkxKLR9YjYsTewfM7Z+d21+UPCfDtcRj88YxeMn/ibvBZ3P\nzzfF0HvaO7AWhAw6k9a+F9sPPg4ZeAnHqQJyIkv3N3a6dcSFA1pj1bF1BcK5vZSt\njBWZp5N99sXzqnTPBIWUmAD04vnKJGW/4GKvyMX6ssmeVkjaef2WdhW+o45WxLM0\n/L5H9MG0qPzVMIho7suuyWPEdr6sOBjhXlzPrjoiUevRi7PzKzMHVIf6tLITe7pT\nBGIBnfHAT+7hOtSLIBD6Alfm78ELt5BGnBkpjNxvoEppaZS3JGWg/6w/zgH7IS79\naPib8qXPMThcFarmlwDB31qlpzmq6YR/PFGoOtmUW4y/Twhx5duoXNTSpv4Ao8YW\nxw/ogM4cKGR0GQjTQuPOAF1/sdwTsOEFy9EgqoZ0njnnkf3/W9b3raYvAwtt41dU\n63ZTGI0RmLo=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICwzCCAkqgAwIBAgIBADAKBggqhkjOPQQDAjCBqjELMAkGA1UEBhMCR1IxDzAN\nBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJl\nc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxRDBCBgNVBAMTO0hl\nbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgRUNDIFJv\nb3RDQSAyMDE1MB4XDTE1MDcwNzEwMzcxMloXDTQwMDYzMDEwMzcxMlowgaoxCzAJ\nBgNVBAYTAkdSMQ8wDQYDVQQHEwZBdGhlbnMxRDBCBgNVBAoTO0hlbGxlbmljIEFj\nYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ2VydC4gQXV0aG9yaXR5\nMUQwQgYDVQQDEztIZWxsZW5pYyBBY2FkZW1pYyBhbmQgUmVzZWFyY2ggSW5zdGl0\ndXRpb25zIEVDQyBSb290Q0EgMjAxNTB2MBAGByqGSM49AgEGBSuBBAAiA2IABJKg\nQehLgoRc4vgxEZmGZE4JJS+dQS8KrjVPdJWyUWRrjWvmP3CV8AVER6ZyOFB2lQJa\njq4onvktTpnvLEhvTCUp6NFxW98dwXU3tNf6e3pCnGoKVlp8aQuqgAkkbH7BRqNC\nMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFLQi\nC4KZJAEOnLvkDv2/+5cgk5kqMAoGCCqGSM49BAMCA2cAMGQCMGfOFmI4oqxiRaep\nlSTAGiecMjvAwNW6qef4BENThe5SId6d9SWDPp5YSy/XZxMOIQIwBeF1Ad5o7Sof\nTUwJCA3sS61kFyjndc5FZXIhF8siQQ6ME5g4mlRtm8rifOoCWCKR\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIGCzCCA/OgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBpjELMAkGA1UEBhMCR1Ix\nDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNhZGVtaWMgYW5k\nIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkxQDA+BgNVBAMT\nN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgUm9v\ndENBIDIwMTUwHhcNMTUwNzA3MTAxMTIxWhcNNDAwNjMwMTAxMTIxWjCBpjELMAkG\nA1UEBhMCR1IxDzANBgNVBAcTBkF0aGVuczFEMEIGA1UEChM7SGVsbGVuaWMgQWNh\nZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBDZXJ0LiBBdXRob3JpdHkx\nQDA+BgNVBAMTN0hlbGxlbmljIEFjYWRlbWljIGFuZCBSZXNlYXJjaCBJbnN0aXR1\ndGlvbnMgUm9vdENBIDIwMTUwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC\nAQDC+Kk/G4n8PDwEXT2QNrCROnk8ZlrvbTkBSRq0t89/TSNTt5AA4xMqKKYx8ZEA\n4yjsriFBzh/a/X0SWwGDD7mwX5nh8hKDgE0GPt+sr+ehiGsxr/CL0BgzuNtFajT0\nAoAkKAoCFZVedioNmToUW/bLy1O8E00BiDeUJRtCvCLYjqOWXjrZMts+6PAQZe10\n4S+nfK8nNLspfZu2zwnI5dMK/IhlZXQK3HMcXM1AsRzUtoSMTFDPaI6oWa7CJ06C\nojXdFPQf/7J31Ycvqm59JCfnxssm5uX+Zwdj2EUN3TpZZTlYepKZcj2chF6IIbjV\n9Cz82XBST3i4vTwri5WY9bPRaM8gFH5MXF/ni+X1NYEZN9cRCLdmvtNKzoNXADrD\ngfgXy5I2XdGj2HUb4Ysn6npIQf1FGQatJ5lOwXBH3bWfgVMS5bGMSF0xQxfjjMZ6\nY5ZLKTBOhE5iGV48zpeQpX8B653g+IuJ3SWYPZK2fu/Z8VFRfS0myGlZYeCsargq\nNhEEelC9MoS+L9xy1dcdFkfkR2YgP/SWxa+OAXqlD3pk9Q0Yh9muiNX6hME6wGko\nLfINaFGq46V3xqSQDqE3izEjR8EJCOtu93ib14L8hCCZSRm2Ekax+0VVFqmjZayc\nBw/qa9wfLgZy7IaIEuQt218FL+TwA9MmM+eAws1CoRc0CwIDAQABo0IwQDAPBgNV\nHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUcRVnyMjJvXVd\nctA4GGqd83EkVAswDQYJKoZIhvcNAQELBQADggIBAHW7bVRLqhBYRjTyYtcWNl0I\nXtVsyIe9tC5G8jH4fOpCtZMWVdyhDBKg2mF+D1hYc2Ryx+hFjtyp8iY/xnmMsVMI\nM4GwVhO+5lFc2JsKT0ucVlMC6U/2DWDqTUJV6HwbISHTGzrMd/K4kPFox/la/vot\n9L/J9UUbzjgQKjeKeaO04wlshYaT/4mWJ3iBj2fjRnRUjtkNaeJK9E10A/+yd+2V\nZ5fkscWrv2oj6NSU4kQoYsRL4vDY4ilrGnB+JGGTe08DMiUNRSQrlrRGar9KC/ea\nj8GsGsVn82800vpzY4zvFrCopEYq+OsS7HK07/grfoxSwIuEVPkvPuNVqNxmsdnh\nX9izjFk0WaSrT2y7HxjbdavYy5LNlDhhDgcGH0tGEPEVvo2FXDtKK4F5D7Rpn0lQ\nl033DlZdwJVqwjbDG2jJ9SrcR5q+ss7FJej6A7na+RZukYT1HCjI/CbM1xyQVqdf\nbzoEvM14iQuODy+jqk+iGxI9FghAD/FGTNeqewjBCvVtJ94Cj8rDtSvK6evIIVM4\npcw72Hc3MKJP2W/R8kCtQXoXxdZKNYm3QdV8hn9VTYNKpXMgwDqvkPGaJI7ZjnHK\ne7iG2rKPmT4dEw0SEe7Uq/DpFXYC5ODfqiAeW2GFZECpkJcNrVPSWh2HagCXZWK0\nvm9qp/UsQu0yrbYhnr68\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFYDCCA0igAwIBAgIQCgFCgAAAAUUjyES1AAAAAjANBgkqhkiG9w0BAQsFADBK\nMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScwJQYDVQQDEx5JZGVu\nVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwHhcNMTQwMTE2MTgxMjIzWhcNMzQw\nMTE2MTgxMjIzWjBKMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MScw\nJQYDVQQDEx5JZGVuVHJ1c3QgQ29tbWVyY2lhbCBSb290IENBIDEwggIiMA0GCSqG\nSIb3DQEBAQUAA4ICDwAwggIKAoICAQCnUBneP5k91DNG8W9RYYKyqU+PZ4ldhNlT\n3Qwo2dfw/66VQ3KZ+bVdfIrBQuExUHTRgQ18zZshq0PirK1ehm7zCYofWjK9ouuU\n+ehcCuz/mNKvcbO0U59Oh++SvL3sTzIwiEsXXlfEU8L2ApeN2WIrvyQfYo3fw7gp\nS0l4PJNgiCL8mdo2yMKi1CxUAGc1bnO/AljwpN3lsKImesrgNqUZFvX9t++uP0D1\nbVoE/c40yiTcdCMbXTMTEl3EASX2MN0CXZ/g1Ue9tOsbobtJSdifWwLziuQkkORi\nT0/Br4sOdBeo0XKIanoBScy0RnnGF7HamB4HWfp1IYVl3ZBWzvurpWCdxJ35UrCL\nvYf5jysjCiN2O/cz4ckA82n5S6LgTrx+kzmEB/dEcH7+B1rlsazRGMzyNeVJSQjK\nVsk9+w8YfYs7wRPCTY/JTw436R+hDmrfYi7LNQZReSzIJTj0+kuniVyc0uMNOYZK\ndHzVWYfCP04MXFL0PfdSgvHqo6z9STQaKPNBiDoT7uje/5kdX7rL6B7yuVBgwDHT\nc+XvvqDtMwt0viAgxGds8AgDelWAf0ZOlqf0Hj7h9tgJ4TNkK2PXMl6f+cB7D3hv\nl7yTmvmcEpB4eoCHFddydJxVdHixuuFucAS6T6C6aMN7/zHwcz09lCqxC0EOoP5N\niGVreTO01wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB\n/zAdBgNVHQ4EFgQU7UQZwNPwBovupHu+QucmVMiONnYwDQYJKoZIhvcNAQELBQAD\nggIBAA2ukDL2pkt8RHYZYR4nKM1eVO8lvOMIkPkp165oCOGUAFjvLi5+U1KMtlwH\n6oi6mYtQlNeCgN9hCQCTrQ0U5s7B8jeUeLBfnLOic7iPBZM4zY0+sLj7wM+x8uwt\nLRvM7Kqas6pgghstO8OEPVeKlh6cdbjTMM1gCIOQ045U8U1mwF10A0Cj7oV+wh93\nnAbowacYXVKV7cndJZ5t+qntozo00Fl72u1Q8zW/7esUTTHHYPTa8Yec4kjixsU3\n+wYQ+nVZZjFHKdp2mhzpgq7vmrlR94gjmmmVYjzlVYA211QC//G5Xc7UI2/YRYRK\nW2XviQzdFKcgyxilJbQN+QHwotL0AMh0jqEqSI5l2xPE4iUXfeu+h1sXIFRRk0pT\nAwvsXcoz7WL9RccvW9xYoIA55vrX/hMUpu09lEpCdNTDd1lzzY9GvlU47/rokTLq\nl1gEIt44w8y8bckzOmoKaT+gyOpyj4xjhiO9bTyWnpXgSUyqorkqG5w2gXjtw+hG\n4iZZRHUe2XWJUc0QhJ1hYMtd+ZciTY6Y5uN/9lu7rs3KSoFrXgvzUeF0K+l+J6fZ\nmUlO+KWA2yUPHGNiiskzZ2s8EIPGrd6ozRaOjfAHN3Gf8qv8QfXBi+wAN10J5U6A\n7/qxXDgGpRtK4dw4LTzcqx+QGtVKnO7RcGzM7vRX+Bi6hG6H\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFZjCCA06gAwIBAgIQCgFCgAAAAUUjz0Z8AAAAAjANBgkqhkiG9w0BAQsFADBN\nMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0MSowKAYDVQQDEyFJZGVu\nVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwHhcNMTQwMTE2MTc1MzMyWhcN\nMzQwMTE2MTc1MzMyWjBNMQswCQYDVQQGEwJVUzESMBAGA1UEChMJSWRlblRydXN0\nMSowKAYDVQQDEyFJZGVuVHJ1c3QgUHVibGljIFNlY3RvciBSb290IENBIDEwggIi\nMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC2IpT8pEiv6EdrCvsnduTyP4o7\nekosMSqMjbCpwzFrqHd2hCa2rIFCDQjrVVi7evi8ZX3yoG2LqEfpYnYeEe4IFNGy\nRBb06tD6Hi9e28tzQa68ALBKK0CyrOE7S8ItneShm+waOh7wCLPQ5CQ1B5+ctMlS\nbdsHyo+1W/CD80/HLaXIrcuVIKQxKFdYWuSNG5qrng0M8gozOSI5Cpcu81N3uURF\n/YTLNiCBWS2ab21ISGHKTN9T0a9SvESfqy9rg3LvdYDaBjMbXcjaY8ZNzaxmMc3R\n3j6HEDbhuaR672BQssvKplbgN6+rNBM5Jeg5ZuSYeqoSmJxZZoY+rfGwyj4GD3vw\nEUs3oERte8uojHH01bWRNszwFcYr3lEXsZdMUD2xlVl8BX0tIdUAvwFnol57plzy\n9yLxkA2T26pEUWbMfXYD62qoKjgZl3YNa4ph+bz27nb9cCvdKTz4Ch5bQhyLVi9V\nGxyhLrXHFub4qjySjmm2AcG1hp2JDws4lFTo6tyePSW8Uybt1as5qsVATFSrsrTZ\n2fjXctscvG29ZV/viDUqZi/u9rNl8DONfJhBaUYPQxxp+pu10GFqzcpL2UyQRqsV\nWaFHVCkugyhfHMKiq3IXAAaOReyL4jM9f9oZRORicsPfIsbyVtTdX5Vy7W1f90gD\nW/3FKqD2cyOEEBsB5wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/\nBAUwAwEB/zAdBgNVHQ4EFgQU43HgntinQtnbcZFrlJPrw6PRFKMwDQYJKoZIhvcN\nAQELBQADggIBAEf63QqwEZE4rU1d9+UOl1QZgkiHVIyqZJnYWv6IAcVYpZmxI1Qj\nt2odIFflAWJBF9MJ23XLblSQdf4an4EKwt3X9wnQW3IV5B4Jaj0z8yGa5hV+rVHV\nDRDtfULAj+7AmgjVQdZcDiFpboBhDhXAuM/FSRJSzL46zNQuOAXeNf0fb7iAaJg9\nTaDKQGXSc3z1i9kKlT/YPyNtGtEqJBnZhbMX73huqVjRI9PHE+1yJX9dsXNw0H8G\nlwmEKYBhHfpe/3OsoOOJuBxxFcbeMX8S3OFtm6/n6J91eEyrRjuazr8FGF1NFTwW\nmhlQBJqymm9li1JfPFgEKCXAZmExfrngdbkaqIHWchezxQMxNRF4eKLg6TCMf4Df\nWN88uieW4oA0beOY02QnrEh+KHdcxiVhJfiFDGX6xDIvpZgF5PgLZxYWxoK4Mhn5\n+bl53B/N66+rDt0b20XkeucC4pVd/GnwU2lhlXV5C15V5jgclKlZM57IcXR5f1GJ\ntshquDDIajjDbp7hNxbqBWJMWxJH7ae0s1hWx0nzfxJoCTFx8G34Tkf71oXuxVhA\nGaQdp/lLQzfcaFpPz+vCZHTetBXZ9FRUGi8c15dxVJCO2SCdUyt/q4/i6jC8UDfv\n8Ue1fXwsBOxonbRJRBD0ckscZOf85muQ3Wl9af0AVqW3rLatt8o+Ae+c\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw\nTzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh\ncmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4\nWhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu\nZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY\nMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc\nh77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+\n0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U\nA5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW\nT8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH\nB5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC\nB5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv\nKBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn\nOlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn\njh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw\nqHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI\nrU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\nHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq\nhkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL\nubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ\n3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK\nNFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5\nORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur\nTkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC\njNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc\noyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq\n4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA\nmRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d\nemyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQsw\nCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2gg\nR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00\nMDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBT\nZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgyMHYw\nEAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0HttwW\n+1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9\nItgKbppbd9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T\nAQH/BAUwAwEB/zAdBgNVHQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZI\nzj0EAwMDaAAwZQIwe3lORlCEwkSHRhtFcP9Ymd70/aTSVaYgLXTWNLxBo1BfASdW\ntL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5U6VR5CmD1/iQMVtCnwr1\n/q4AaOeMSQ+2b1tbFfLn\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICDzCCAZWgAwIBAgIUbmq8WapTvpg5Z6LSa6Q75m0c1towCgYIKoZIzj0EAwMw\nRzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4xGjAY\nBgNVBAMTEXZUcnVzIEVDQyBSb290IENBMB4XDTE4MDczMTA3MjY0NFoXDTQzMDcz\nMTA3MjY0NFowRzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28u\nLEx0ZC4xGjAYBgNVBAMTEXZUcnVzIEVDQyBSb290IENBMHYwEAYHKoZIzj0CAQYF\nK4EEACIDYgAEZVBKrox5lkqqHAjDo6LN/llWQXf9JpRCux3NCNtzslt188+cToL0\nv/hhJoVs1oVbcnDS/dtitN9Ti72xRFhiQgnH+n9bEOf+QP3A2MMrMudwpremIFUd\ne4BdS49nTPEQo0IwQDAdBgNVHQ4EFgQUmDnNvtiyjPeyq+GtJK97fKHbH88wDwYD\nVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwCgYIKoZIzj0EAwMDaAAwZQIw\nV53dVvHH4+m4SVBrm2nDb+zDfSXkV5UTQJtS0zvzQBm8JsctBp61ezaf9SXUY2sA\nAjEA6dPGnlaaKsyh2j/IZivTWJwghfqrkYpwcBE4YGQLYgmRWAD5Tfs0aNoJrSEG\nGJTO\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFVjCCAz6gAwIBAgIUQ+NxE9izWRRdt86M/TX9b7wFjUUwDQYJKoZIhvcNAQEL\nBQAwQzELMAkGA1UEBhMCQ04xHDAaBgNVBAoTE2lUcnVzQ2hpbmEgQ28uLEx0ZC4x\nFjAUBgNVBAMTDXZUcnVzIFJvb3QgQ0EwHhcNMTgwNzMxMDcyNDA1WhcNNDMwNzMx\nMDcyNDA1WjBDMQswCQYDVQQGEwJDTjEcMBoGA1UEChMTaVRydXNDaGluYSBDby4s\nTHRkLjEWMBQGA1UEAxMNdlRydXMgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQAD\nggIPADCCAgoCggIBAL1VfGHTuB0EYgWgrmy3cLRB6ksDXhA/kFocizuwZotsSKYc\nIrrVQJLuM7IjWcmOvFjai57QGfIvWcaMY1q6n6MLsLOaXLoRuBLpDLvPbmyAhykU\nAyyNJJrIZIO1aqwTLDPxn9wsYTwaP3BVm60AUn/PBLn+NvqcwBauYv6WTEN+VRS+\nGrPSbcKvdmaVayqwlHeFXgQPYh1jdfdr58tbmnDsPmcF8P4HCIDPKNsFxhQnL4Z9\n8Cfe/+Z+M0jnCx5Y0ScrUw5XSmXX+6KAYPxMvDVTAWqXcoKv8R1w6Jz1717CbMdH\nflqUhSZNO7rrTOiwCcJlwp2dCZtOtZcFrPUGoPc2BX70kLJrxLT5ZOrpGgrIDajt\nJ8nU57O5q4IikCc9Kuh8kO+8T/3iCiSn3mUkpF3qwHYw03dQ+A0Em5Q2AXPKBlim\n0zvc+gRGE1WKyURHuFE5Gi7oNOJ5y1lKCn+8pu8fA2dqWSslYpPZUxlmPCdiKYZN\npGvu/9ROutW04o5IWgAZCfEF2c6Rsffr6TlP9m8EQ5pV9T4FFL2/s1m02I4zhKOQ\nUqqzApVg+QxMaPnu1RcN+HFXtSXkKe5lXa/R7jwXC1pDxaWG6iSe4gUH3DRCEpHW\nOXSuTEGC2/KmSNGzm/MzqvOmwMVO9fSddmPmAsYiS8GVP1BkLFTltvA8Kc9XAgMB\nAAGjQjBAMB0GA1UdDgQWBBRUYnBj8XWEQ1iO0RYgscasGrz2iTAPBgNVHRMBAf8E\nBTADAQH/MA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAKbqSSaet\n8PFww+SX8J+pJdVrnjT+5hpk9jprUrIQeBqfTNqK2uwcN1LgQkv7bHbKJAs5EhWd\nnxEt/Hlk3ODg9d3gV8mlsnZwUKT+twpw1aA08XXXTUm6EdGz2OyC/+sOxL9kLX1j\nbhd47F18iMjrjld22VkE+rxSH0Ws8HqA7Oxvdq6R2xCOBNyS36D25q5J08FsEhvM\nKar5CKXiNxTKsbhm7xqC5PD48acWabfbqWE8n/Uxy+QARsIvdLGx14HuqCaVvIiv\nTDUHKgLKeBRtRytAVunLKmChZwOgzoy8sHJnxDHO2zTlJQNgJXtxmOTAGytfdELS\nS8VZCAeHvsXDf+eW2eHcKJfWjwXj9ZtOyh1QRwVTsMo554WgicEFOwE30z9J4nfr\nI8iIZjs9OXYhRvHsXyO466JmdXTBQPfYaJqT4i2pLr0cox7IdMakLXogqzu4sEb9\nb91fUlV1YvCXoHzXOP0l382gmxDPi7g4Xl7FtKYCNqEeXxzP4padKar9mK5S4fNB\nUvupLnKWnyfjqnN9+BojZns7q2WwMgFLFT49ok8MKzWixtlnEjUwzXYuFrOZnk1P\nTi07NEPhmg4NpGaXutIcSkwsKouLgU9xGqndXHt7CMUADTdA43x7VF8vhV929ven\nsBxXVsFy6K2ir40zSbofitzmdHxghm+Hl3s=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIF8TCCA9mgAwIBAgIQALC3WhZIX7/hy/WL1xnmfTANBgkqhkiG9w0BAQsFADA4\nMQswCQYDVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6\nZW5wZS5jb20wHhcNMDcxMjEzMTMwODI4WhcNMzcxMjEzMDgyNzI1WjA4MQswCQYD\nVQQGEwJFUzEUMBIGA1UECgwLSVpFTlBFIFMuQS4xEzARBgNVBAMMCkl6ZW5wZS5j\nb20wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDJ03rKDx6sp4boFmVq\nscIbRTJxldn+EFvMr+eleQGPicPK8lVx93e+d5TzcqQsRNiekpsUOqHnJJAKClaO\nxdgmlOHZSOEtPtoKct2jmRXagaKH9HtuJneJWK3W6wyyQXpzbm3benhB6QiIEn6H\nLmYRY2xU+zydcsC8Lv/Ct90NduM61/e0aL6i9eOBbsFGb12N4E3GVFWJGjMxCrFX\nuaOKmMPsOzTFlUFpfnXCPCDFYbpRR6AgkJOhkEvzTnyFRVSa0QUmQbC1TR0zvsQD\nyCV8wXDbO/QJLVQnSKwv4cSsPsjLkkxTOTcj7NMB+eAJRE1NZMDhDVqHIrytG6P+\nJrUV86f8hBnp7KGItERphIPzidF0BqnMC9bC3ieFUCbKF7jJeodWLBoBHmy+E60Q\nrLUk9TiRodZL2vG70t5HtfG8gfZZa88ZU+mNFctKy6lvROUbQc/hhqfK0GqfvEyN\nBjNaooXlkDWgYlwWTvDjovoDGrQscbNYLN57C9saD+veIR8GdwYDsMnvmfzAuU8L\nhij+0rnq49qlw0dpEuDb8PYZi+17cNcC1u2HGCgsBCRMd+RIihrGO5rUD8r6ddIB\nQFqNeb+Lz0vPqhbBleStTIo+F5HUsWLlguWABKQDfo2/2n+iD5dPDNMN+9fR5XJ+\nHMh3/1uaD7euBUbl8agW7EekFwIDAQABo4H2MIHzMIGwBgNVHREEgagwgaWBD2lu\nZm9AaXplbnBlLmNvbaSBkTCBjjFHMEUGA1UECgw+SVpFTlBFIFMuQS4gLSBDSUYg\nQTAxMzM3MjYwLVJNZXJjLlZpdG9yaWEtR2FzdGVpeiBUMTA1NSBGNjIgUzgxQzBB\nBgNVBAkMOkF2ZGEgZGVsIE1lZGl0ZXJyYW5lbyBFdG9yYmlkZWEgMTQgLSAwMTAx\nMCBWaXRvcmlhLUdhc3RlaXowDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC\nAQYwHQYDVR0OBBYEFB0cZQ6o8iV7tJHP5LGx5r1VdGwFMA0GCSqGSIb3DQEBCwUA\nA4ICAQB4pgwWSp9MiDrAyw6lFn2fuUhfGI8NYjb2zRlrrKvV9pF9rnHzP7MOeIWb\nlaQnIUdCSnxIOvVFfLMMjlF4rJUT3sb9fbgakEyrkgPH7UIBzg/YsfqikuFgba56\nawmqxinuaElnMIAkejEWOVt+8Rwu3WwJrfIxwYJOubv5vr8qhT/AQKM6WfxZSzwo\nJNu0FXWuDYi6LnPAvViH5ULy617uHjAimcs30cQhbIHsvm0m5hzkQiCeR7Csg1lw\nLDXWrzY0tM07+DKo7+N4ifuNRSzanLh+QBxh5z6ikixL8s36mLYp//Pye6kfLqCT\nVyvehQP5aTfLnnhqBbTFMXiJ7HqnheG5ezzevh55hM6fcA5ZwjUukCox2eRFekGk\nLhObNA5me0mrZJfQRsN5nXJQY6aYWwa9SG3YOYNw6DXwBdGqvOPbyALqfP2C2sJb\nUjWumDqtujWTI6cfSN01RpiyEGjkpTHCClguGYEQyVB1/OpaFs4R1+7vUIgtYf8/\nQnMFlEPVjjxOAToZpR9GTnfQXeWBIiGH/pR9hNiTrdZoQ0iy2+tzJOeRf1SktoA+\nnaM8THLCV8Sg1Mw4J87VBp6iSNnpn86CcDaTmjvfliHjWbcM2pE38P1ZWrOZyGls\nQyYBNWNgVYkDOnXYukrZVP/u3oDYLdE41V4tC5h9Pmzb/CaIxw==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDcjCCAlqgAwIBAgIUPopdB+xV0jLVt+O2XwHrLdzk1uQwDQYJKoZIhvcNAQEL\nBQAwUTELMAkGA1UEBhMCUEwxKDAmBgNVBAoMH0tyYWpvd2EgSXpiYSBSb3psaWN6\nZW5pb3dhIFMuQS4xGDAWBgNVBAMMD1NaQUZJUiBST09UIENBMjAeFw0xNTEwMTkw\nNzQzMzBaFw0zNTEwMTkwNzQzMzBaMFExCzAJBgNVBAYTAlBMMSgwJgYDVQQKDB9L\ncmFqb3dhIEl6YmEgUm96bGljemVuaW93YSBTLkEuMRgwFgYDVQQDDA9TWkFGSVIg\nUk9PVCBDQTIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3vD5QqEvN\nQLXOYeeWyrSh2gwisPq1e3YAd4wLz32ohswmUeQgPYUM1ljj5/QqGJ3a0a4m7utT\n3PSQ1hNKDJA8w/Ta0o4NkjrcsbH/ON7Dui1fgLkCvUqdGw+0w8LBZwPd3BucPbOw\n3gAeqDRHu5rr/gsUvTaE2g0gv/pby6kWIK05YO4vdbbnl5z5Pv1+TW9NL++IDWr6\n3fE9biCloBK0TXC5ztdyO4mTp4CEHCdJckm1/zuVnsHMyAHs6A6KCpbns6aH5db5\nBSsNl0BwPLqsdVqc1U2dAgrSS5tmS0YHF2Wtn2yIANwiieDhZNRnvDF5YTy7ykHN\nXGoAyDw4jlivAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQD\nAgEGMB0GA1UdDgQWBBQuFqlKGLXLzPVvUPMjX/hd56zwyDANBgkqhkiG9w0BAQsF\nAAOCAQEAtXP4A9xZWx126aMqe5Aosk3AM0+qmrHUuOQn/6mWmc5G4G18TKI4pAZw\n8PRBEew/R40/cof5O/2kbytTAOD/OblqBw7rHRz2onKQy4I9EYKL0rufKq8h5mOG\nnXkZ7/e7DDWQw4rtTw/1zBLZpD67oPwglV9PJi8RI4NOdQcPv5vRtB3pEAT+ymCP\noky4rc/hkA/NrgrHXXu3UNLUYfrVFdvXn4dRVOul4+vJhaAlIDf7js4MNIThPIGy\nd05DpYhfhmehPea0XGG2Ptv+tyjFogeutcrKjSoS75ftwjCkySp6+/NNIxuZMzSg\nLvWpCz/UXeHPhJ/iGcJfitYgHuNztw==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFmDCCA4CgAwIBAgIEVRpusTANBgkqhkiG9w0BAQsFADBDMQswCQYDVQQGEwJa\nQTERMA8GA1UEChMITEFXdHJ1c3QxITAfBgNVBAMTGExBV3RydXN0IFJvb3QgQ0Ey\nICg0MDk2KTAgFw0yMzAyMTQwOTE5MzhaGA8yMDUzMDIxNDA5NDkzOFowQzELMAkG\nA1UEBhMCWkExETAPBgNVBAoTCExBV3RydXN0MSEwHwYDVQQDExhMQVd0cnVzdCBS\nb290IENBMiAoNDA5NikwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM\nF8srQ7ps+cmTimUNEkzsJxS3E3ng1NUtGFbx+eoqEBZObETHamVG85qJNdGH+DOJ\nL4gJGpIQkZDBa58Obn8mihNdGKxoAQ0QeGVw2I6PhFqXMBjQEQ5KjVIQpYErUSj1\nY8S27ECzAeWtd73lOO+8jbPdGaB7DY2022r7JTNa+pGvxHFFMPiIKXvLv9W6JwSO\n3bIA98pcmTUU6v11BhUIu8pXaPs/+7Q0c2PR1ePIOFppfWp6RAwNik7tkh0Qjzsi\nLLbf7cXG8Il5VGVeXxu9j33fubft6+TFB9FnPJU7kf5CelJAgATSOVdL9JJ9/5vv\n5Z3JCbKREjimKQg7ruvKzO1N504hAQf8bzLOaYyEUsZ36icwCt6lrzAraB+s1Owh\nrSJJds4PwvIHKvlqEoOaOwSuGXr+oYYk+kFeJXxArCe24yk2bzXiV9AZWN//ZPbD\nAUl22yu+vLlPFArVG1gh9hwuAHz4lLXLNxoU5DK5FtRg7AWqXzL6aiMSrNQQu9Ki\ngrRLDotwJ6rWB8FniPqEwwjJioTI0jdygQ+NFkrk1zVRpTgPjIRLlTbA9ded4F2P\nq5HuAAi5nVIf7PiZu3lWsUna0uXYYYtbr/CrN8V7Go6Gvn7FexUeYWjoC4eLc0mh\nF3N+KXiOyuBBL3VzdKKXOn/3LnQJuExgi0Y2GRAtnQIDAQABo4GRMIGOMA8GA1Ud\nEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMCsGA1UdEAQkMCKADzIwMjMwMjE0\nMDkxOTM4WoEPMjA1MzAyMTQwOTQ5MzhaMB8GA1UdIwQYMBaAFNfWVmJcPxeB5nNE\nKfVRBe8LYDesMB0GA1UdDgQWBBTX1lZiXD8XgeZzRCn1UQXvC2A3rDANBgkqhkiG\n9w0BAQsFAAOCAgEASZwp/j3snkV/qz48/iNvNz53p1P/eJ/8SUSAV2acbtp5/81F\nrUyTv7VZxukQt+X4jPuHxR6L2LM/ApYKu4qO79e0wIMgOJdZRWT89ncT8gnXocg4\ndAjq+UhM+h8EnLT/7G5WNnKTbJU+LF/eDwurycwVPhaPZvyyELih0bTewGMZzO9T\nqnU2IoslH7+byNfBX+ymNwmqe2K89iIt8dZY3Yy7UvQLp3apensajdytmoFiLoYF\nkHJHL6HJZ4SwDWywuJsWt9CZFC+cEpsjqI2mQx7p5S3leKcfZJRktneyqFz7Casp\n6x5tddH20MWlwx2fHvMaLbLIH+UoCm7zX/3a5iOhdpBcS5gBgizuRy0CGl9/NMVp\ntXKtPvPPnm34KegRJyvgWQsbYetKymmlpNXNURuUjnnN3/audF2xLBuGU/7RMAZB\nNAdigkz0fseHdA6wIR4JIIDBsxU9Rm3T8QaSP++glYocbncxtut4KQx77oKlT36k\nKV6eqi34jsDz/A0GhZtO3PfiCXzQFFEeerMjr/rRYSpltQHZuOMHyiR20vBKvu+G\nBIBCFXARaH7Xx7v+506bnJWlHEqkydAJjKrOSNIekpfXEentZsw33PXXG3SbpupC\nrF0y4Fj0gUf/0hLifhzcSXaWwx2fS8pcKjdbPYrROJsh2uO/RUPT4Fh3Hyg=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICQDCCAeWgAwIBAgIMAVRI7yH9l1kN9QQKMAoGCCqGSM49BAMCMHExCzAJBgNV\nBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRk\nLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25vIFJv\nb3QgQ0EgMjAxNzAeFw0xNzA4MjIxMjA3MDZaFw00MjA4MjIxMjA3MDZaMHExCzAJ\nBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMg\nTHRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25v\nIFJvb3QgQ0EgMjAxNzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJbcPYrYsHtv\nxie+RJCxs1YVe45DJH0ahFnuY2iyxl6H0BVIHqiQrb1TotreOpCmYF9oMrWGQd+H\nWyx7xf58etqjYzBhMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G\nA1UdDgQWBBSHERUI0arBeAyxr87GyZDvvzAEwDAfBgNVHSMEGDAWgBSHERUI0arB\neAyxr87GyZDvvzAEwDAKBggqhkjOPQQDAgNJADBGAiEAtVfd14pVCzbhhkT61Nlo\njbjcI4qKDdQvfepz7L9NbKgCIQDLpbQS+ue16M9+k/zzNY9vTlp8tLxOsvxyqltZ\n+efcMQ==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIECjCCAvKgAwIBAgIJAMJ+QwRORz8ZMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD\nVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFjAUBgNVBAoMDU1pY3Jvc2VjIEx0\nZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3ppZ25vIFJvb3QgQ0EgMjAwOTEfMB0G\nCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5odTAeFw0wOTA2MTYxMTMwMThaFw0y\nOTEyMzAxMTMwMThaMIGCMQswCQYDVQQGEwJIVTERMA8GA1UEBwwIQnVkYXBlc3Qx\nFjAUBgNVBAoMDU1pY3Jvc2VjIEx0ZC4xJzAlBgNVBAMMHk1pY3Jvc2VjIGUtU3pp\nZ25vIFJvb3QgQ0EgMjAwOTEfMB0GCSqGSIb3DQEJARYQaW5mb0BlLXN6aWduby5o\ndTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOn4j/NjrdqG2KfgQvvP\nkd6mJviZpWNwrZuuyjNAfW2WbqEORO7hE52UQlKavXWFdCyoDh2Tthi3jCyoz/tc\ncbna7P7ofo/kLx2yqHWH2Leh5TvPmUpG0IMZfcChEhyVbUr02MelTTMuhTlAdX4U\nfIASmFDHQWe4oIBhVKZsTh/gnQ4H6cm6M+f+wFUoLAKApxn1ntxVUwOXewdI/5n7\nN4okxFnMUBBjjqqpGrCEGob5X7uxUG6k0QrM1XF+H6cbfPVTbiJfyyvm1HxdrtbC\nxkzlBQHZ7Vf8wSN5/PrIJIOV87VqUQHQd9bpEqH5GoP7ghu5sJf0dgYzQ0mg/wu1\n+rUCAwEAAaOBgDB+MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0G\nA1UdDgQWBBTLD8bfQkPMPcu1SCOhGnqmKrs0aDAfBgNVHSMEGDAWgBTLD8bfQkPM\nPcu1SCOhGnqmKrs0aDAbBgNVHREEFDASgRBpbmZvQGUtc3ppZ25vLmh1MA0GCSqG\nSIb3DQEBCwUAA4IBAQDJ0Q5eLtXMs3w+y/w9/w0olZMEyL/azXm4Q5DwpL7v8u8h\nmLzU1F0G9u5C7DBsoKqpyvGvivo/C3NqPuouQH4frlRheesuCDfXI/OMn74dseGk\nddug4lQUsbocKaQY9hK6ohQU4zE1yED/t+AFdlfBHFny+L/k7SViXITwfn4fs775\ntyERzAMBVnCnEJIeGzSBHq2cGsMEPO0CYdYeBvNfOofyK/FFh+U9rNHHV4S9a67c\n2Pm2G2JwCz02yULyMtd6YebS2z3PyKnJm9zbWETXbzivf3jTo60adbocwTZ8jx5t\nHMN1Rq41Bab2XD0h7lbwyYIiLXpUq3DDfSJlgnCW\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICWTCCAd+gAwIBAgIQZvI9r4fei7FK6gxXMQHC7DAKBggqhkjOPQQDAzBlMQsw\nCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYD\nVQQDEy1NaWNyb3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIw\nMTcwHhcNMTkxMjE4MjMwNjQ1WhcNNDIwNzE4MjMxNjA0WjBlMQswCQYDVQQGEwJV\nUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNy\nb3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwdjAQBgcq\nhkjOPQIBBgUrgQQAIgNiAATUvD0CQnVBEyPNgASGAlEvaqiBYgtlzPbKnR5vSmZR\nogPZnZH6thaxjG7efM3beaYvzrvOcS/lpaso7GMEZpn4+vKTEAXhgShC48Zo9OYb\nhGBKia/teQ87zvH2RPUBeMCjVDBSMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8E\nBTADAQH/MB0GA1UdDgQWBBTIy5lycFIM+Oa+sgRXKSrPQhDtNTAQBgkrBgEEAYI3\nFQEEAwIBADAKBggqhkjOPQQDAwNoADBlAjBY8k3qDPlfXu5gKcs68tvWMoQZP3zV\nL8KxzJOuULsJMsbG7X7JNpQS5GiFBqIb0C8CMQCZ6Ra0DvpWSNSkMBaReNtUjGUB\niudQZsIxtzm6uBoiB078a1QWIP8rtedMDE2mT3M=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFqDCCA5CgAwIBAgIQHtOXCV/YtLNHcB6qvn9FszANBgkqhkiG9w0BAQwFADBl\nMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYw\nNAYDVQQDEy1NaWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5\nIDIwMTcwHhcNMTkxMjE4MjI1MTIyWhcNNDIwNzE4MjMwMDIzWjBlMQswCQYDVQQG\nEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1N\naWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwggIi\nMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKW76UM4wplZEWCpW9R2LBifOZ\nNt9GkMml7Xhqb0eRaPgnZ1AzHaGm++DlQ6OEAlcBXZxIQIJTELy/xztokLaCLeX0\nZdDMbRnMlfl7rEqUrQ7eS0MdhweSE5CAg2Q1OQT85elss7YfUJQ4ZVBcF0a5toW1\nHLUX6NZFndiyJrDKxHBKrmCk3bPZ7Pw71VdyvD/IybLeS2v4I2wDwAW9lcfNcztm\ngGTjGqwu+UcF8ga2m3P1eDNbx6H7JyqhtJqRjJHTOoI+dkC0zVJhUXAoP8XFWvLJ\njEm7FFtNyP9nTUwSlq31/niol4fX/V4ggNyhSyL71Imtus5Hl0dVe49FyGcohJUc\naDDv70ngNXtk55iwlNpNhTs+VcQor1fznhPbRiefHqJeRIOkpcrVE7NLP8TjwuaG\nYaRSMLl6IE9vDzhTyzMMEyuP1pq9KsgtsRx9S1HKR9FIJ3Jdh+vVReZIZZ2vUpC6\nW6IYZVcSn2i51BVrlMRpIpj0M+Dt+VGOQVDJNE92kKz8OMHY4Xu54+OU4UZpyw4K\nUGsTuqwPN1q3ErWQgR5WrlcihtnJ0tHXUeOrO8ZV/R4O03QK0dqq6mm4lyiPSMQH\n+FJDOvTKVTUssKZqwJz58oHhEmrARdlns87/I6KJClTUFLkqqNfs+avNJVgyeY+Q\nW5g5xAgGwax/Dj0ApQIDAQABo1QwUjAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/\nBAUwAwEB/zAdBgNVHQ4EFgQUCctZf4aycI8awznjwNnpv7tNsiMwEAYJKwYBBAGC\nNxUBBAMCAQAwDQYJKoZIhvcNAQEMBQADggIBAKyvPl3CEZaJjqPnktaXFbgToqZC\nLgLNFgVZJ8og6Lq46BrsTaiXVq5lQ7GPAJtSzVXNUzltYkyLDVt8LkS/gxCP81OC\ngMNPOsduET/m4xaRhPtthH80dK2Jp86519efhGSSvpWhrQlTM93uCupKUY5vVau6\ntZRGrox/2KJQJWVggEbbMwSubLWYdFQl3JPk+ONVFT24bcMKpBLBaYVu32TxU5nh\nSnUgnZUP5NbcA/FZGOhHibJXWpS2qdgXKxdJ5XbLwVaZOjex/2kskZGT4d9Mozd2\nTaGf+G0eHdP67Pv0RR0Tbc/3WeUiJ3IrhvNXuzDtJE3cfVa7o7P4NHmJweDyAmH3\npvwPuxwXC65B2Xy9J6P9LjrRk5Sxcx0ki69bIImtt2dmefU6xqaWM/5TkshGsRGR\nxpl/j8nWZjEgQRCHLQzWwa80mMpkg/sTV9HB8Dx6jKXB/ZUhoHHBk2dxEuqPiApp\nGWSZI1b7rCoucL5mxAyE7+WL85MB+GqQk2dLsmijtWKP6T+MejteD+eMuMZ87zf9\ndOLITzNy4ZQ5bb0Sr74MTnB8G2+NszKTc0QWbej09+CVgI+WXTik9KveCjCHk9hN\nAHFiRSdLOkKEW39lt2c0Ui2cFmuqqNh7o0JMcccMyj6D5KbvtwEwXlGjefVwaaZB\nRA+GsCyRxj3qrg+E\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFojCCA4qgAwIBAgIUAZQwHqIL3fXFMyqxQ0Rx+NZQTQ0wDQYJKoZIhvcNAQEM\nBQAwaTELMAkGA1UEBhMCS1IxJjAkBgNVBAoMHU5BVkVSIEJVU0lORVNTIFBMQVRG\nT1JNIENvcnAuMTIwMAYDVQQDDClOQVZFUiBHbG9iYWwgUm9vdCBDZXJ0aWZpY2F0\naW9uIEF1dGhvcml0eTAeFw0xNzA4MTgwODU4NDJaFw0zNzA4MTgyMzU5NTlaMGkx\nCzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVTUyBQTEFURk9STSBD\nb3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlvbiBB\ndXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC21PGTXLVA\niQqrDZBbUGOukJR0F0Vy1ntlWilLp1agS7gvQnXp2XskWjFlqxcX0TM62RHcQDaH\n38dq6SZeWYp34+hInDEW+j6RscrJo+KfziFTowI2MMtSAuXaMl3Dxeb57hHHi8lE\nHoSTGEq0n+USZGnQJoViAbbJAh2+g1G7XNr4rRVqmfeSVPc0W+m/6imBEtRTkZaz\nkVrd/pBzKPswRrXKCAfHcXLJZtM0l/aM9BhK4dA9WkW2aacp+yPOiNgSnABIqKYP\nszuSjXEOdMWLyEz59JuOuDxp7W87UC9Y7cSw0BwbagzivESq2M0UXZR4Yb8Obtoq\nvC8MC3GmsxY/nOb5zJ9TNeIDoKAYv7vxvvTWjIcNQvcGufFt7QSUqP620wbGQGHf\nnZ3zVHbOUzoBppJB7ASjjw2i1QnK1sua8e9DXcCrpUHPXFNwcMmIpi3Ua2FzUCaG\nYQ5fG8Ir4ozVu53BA0K6lNpfqbDKzE0K70dpAy8i+/Eozr9dUGWokG2zdLAIx6yo\n0es+nPxdGoMuK8u180SdOqcXYZaicdNwlhVNt0xz7hlcxVs+Qf6sdWA7G2POAN3a\nCJBitOUt7kinaxeZVL6HSuOpXgRM6xBtVNbv8ejyYhbLgGvtPe31HzClrkvJE+2K\nAQHJuFFYwGY6sWZLxNUxAmLpdIQM201GLQIDAQABo0IwQDAdBgNVHQ4EFgQU0p+I\n36HNLL3s9TsBAZMzJ7LrYEswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMB\nAf8wDQYJKoZIhvcNAQEMBQADggIBADLKgLOdPVQG3dLSLvCkASELZ0jKbY7gyKoN\nqo0hV4/GPnrK21HUUrPUloSlWGB/5QuOH/XcChWB5Tu2tyIvCZwTFrFsDDUIbatj\ncu3cvuzHV+YwIHHW1xDBE1UBjCpD5EHxzzp6U5LOogMFDTjfArsQLtk70pt6wKGm\n+LUx5vR1yblTmXVHIloUFcd4G7ad6Qz4G3bxhYTeodoS76TiEJd6eN4MUZeoIUCL\nhr0N8F5OSza7OyAfikJW4Qsav3vQIkMsRIz75Sq0bBwcupTgE34h5prCy8VCZLQe\nlHsIJchxzIdFV4XTnyliIoNRlwAYl3dqmJLJfGBs32x9SuRwTMKeuB330DTHD8z7\np/8Dvq1wkNoL3chtl1+afwkyQf3NosxabUzyqkn+Zvjp2DXrDige7kgvOtB5CTh8\npiKCk5XQA76+AqAF3SAi428diDRgxuYKuQl1C/AH6GmWNcf7I4GOODm4RStDeKLR\nLBT/DShycpWbXgnbiUSYqqFJu3FS8r/2/yehNq+4tneI3TqkbZs0kNwUXTC/t+sX\n5Ie3cdCh13cV1ELX8vMxmV2b3RZtP+oGI/hGoiLtk/bdmuYqh7GYVPEi92tF4+KO\ndh2ajcQGjTa3FPOdVGm3jjzVpG2Tgbet9r1ke8LJaDmgkpzNNIaRkPpkUZ3+/uul\n9XXeifdy\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIEFTCCAv2gAwIBAgIGSUEs5AAQMA0GCSqGSIb3DQEBCwUAMIGnMQswCQYDVQQG\nEwJIVTERMA8GA1UEBwwIQnVkYXBlc3QxFTATBgNVBAoMDE5ldExvY2sgS2Z0LjE3\nMDUGA1UECwwuVGFuw7pzw610dsOhbnlraWFkw7NrIChDZXJ0aWZpY2F0aW9uIFNl\ncnZpY2VzKTE1MDMGA1UEAwwsTmV0TG9jayBBcmFueSAoQ2xhc3MgR29sZCkgRsWR\ndGFuw7pzw610dsOhbnkwHhcNMDgxMjExMTUwODIxWhcNMjgxMjA2MTUwODIxWjCB\npzELMAkGA1UEBhMCSFUxETAPBgNVBAcMCEJ1ZGFwZXN0MRUwEwYDVQQKDAxOZXRM\nb2NrIEtmdC4xNzA1BgNVBAsMLlRhbsO6c8OtdHbDoW55a2lhZMOzayAoQ2VydGlm\naWNhdGlvbiBTZXJ2aWNlcykxNTAzBgNVBAMMLE5ldExvY2sgQXJhbnkgKENsYXNz\nIEdvbGQpIEbFkXRhbsO6c8OtdHbDoW55MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A\nMIIBCgKCAQEAxCRec75LbRTDofTjl5Bu0jBFHjzuZ9lk4BqKf8owyoPjIMHj9DrT\nlF8afFttvzBPhCf2nx9JvMaZCpDyD/V/Q4Q3Y1GLeqVw/HpYzY6b7cNGbIRwXdrz\nAZAj/E4wqX7hJ2Pn7WQ8oLjJM2P+FpD/sLj916jAwJRDC7bVWaaeVtAkH3B5r9s5\nVA1lddkVQZQBr17s9o3x/61k/iCa11zr/qYfCGSji3ZVrR47KGAuhyXoqq8fxmRG\nILdwfzzeSNuWU7c5d+Qa4scWhHaXWy+7GRWF+GmF9ZmnqfI0p6m2pgP8b4Y9VHx2\nBJtr+UBdADTHLpl1neWIA6pN+APSQnbAGwIDAKiLo0UwQzASBgNVHRMBAf8ECDAG\nAQH/AgEEMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUzPpnk/C2uNClwB7zU/2M\nU9+D15YwDQYJKoZIhvcNAQELBQADggEBAKt/7hwWqZw8UQCgwBEIBaeZ5m8BiFRh\nbvG5GK1Krf6BQCOUL/t1fC8oS2IkgYIL9WHxHG64YTjrgfpioTtaYtOUZcTh5m2C\n+C8lcLIhJsFyUR+MLMOEkMNaj7rP9KdlpeuY0fsFskZ1FSNqb4VjMIDw1Z4fKRzC\nbLBQWV2QWzuoDTDPv31/zvGdg73JRm4gpvlhUbohL3u+pRVjodSVh/GeufOJ8z2F\nuLjbvrW5KfnaNwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2\nXjG4Kvte9nHfRCaexOYNkbQudZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCB\nijELMAkGA1UEBhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHly\naWdodCAoYykgMjAwNTEiMCAGA1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNl\nZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwgUm9vdCBHQSBDQTAeFw0w\nNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYDVQQGEwJDSDEQMA4G\nA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIwIAYD\nVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBX\nSVNlS2V5IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A\nMIIBCgKCAQEAy0+zAJs9Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxR\nVVuuk+g3/ytr6dTqvirdqFEr12bDYVxgAsj1znJ7O7jyTmUIms2kahnBAbtzptf2\nw93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbDd50kc3vkDIzh2TbhmYsF\nmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ/yxViJGg\n4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t9\n4B3RLoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYw\nDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQw\nEAYJKwYBBAGCNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOx\nSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vImMMkQyh2I+3QZH4VFvbBsUfk2\nftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4+vg1YFkCExh8\nvPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa\nhNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZi\nFj4A4xylNoEYokxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ\n/L7fCg0=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDtTCCAp2gAwIBAgIQdrEgUnTwhYdGs/gjGvbCwDANBgkqhkiG9w0BAQsFADBt\nMQswCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUg\nRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9i\nYWwgUm9vdCBHQiBDQTAeFw0xNDEyMDExNTAwMzJaFw0zOTEyMDExNTEwMzFaMG0x\nCzAJBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBG\nb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2Jh\nbCBSb290IEdCIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Be3\nHEokKtaXscriHvt9OO+Y9bI5mE4nuBFde9IllIiCFSZqGzG7qFshISvYD06fWvGx\nWuR51jIjK+FTzJlFXHtPrby/h0oLS5daqPZI7H17Dc0hBt+eFf1Biki3IPShehtX\n1F1Q/7pn2COZH8g/497/b1t3sWtuuMlk9+HKQUYOKXHQuSP8yYFfTvdv37+ErXNk\nu7dCjmn21HYdfp2nuFeKUWdy19SouJVUQHMD9ur06/4oQnc/nSMbsrY9gBQHTC5P\n99UKFg29ZkM3fiNDecNAhvVMKdqOmq0NpQSHiB6F4+lT1ZvIiwNjeOvgGUpuuy9r\nM2RYk61pv48b74JIxwIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw\nAwEB/zAdBgNVHQ4EFgQUNQ/INmNe4qPs+TtmFc5RUuORmj0wEAYJKwYBBAGCNxUB\nBAMCAQAwDQYJKoZIhvcNAQELBQADggEBAEBM+4eymYGQfp3FsLAmzYh7KzKNbrgh\ncViXfa43FK8+5/ea4n32cZiZBKpDdHij40lhPnOMTZTg+XHEthYOU3gf1qKHLwI5\ngSk8rxWYITD+KJAAjNHhy/peyP34EEY7onhCkRd0VQreUGdNZtGn//3ZwLWoo4rO\nZvUPQ82nK1d7Y0Zqqi5S2PTt4W2tKZB4SLrhI6qjiey1q5bAtEuiHZeeevJuQHHf\naPFlTc58Bd9TZaml8LGXBHAVRgOY1NK/VLSgWH1Sb9pWJmLU2NuJMW8c8CLC02Ic\nNc1MaRVUGpCY3useX8p3x8uOPUNpnJpY0CQ73xtAln41rYHHTnG6iBM=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICaTCCAe+gAwIBAgIQISpWDK7aDKtARb8roi066jAKBggqhkjOPQQDAzBtMQsw\nCQYDVQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEiMCAGA1UECxMZT0lTVEUgRm91\nbmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBHbG9iYWwg\nUm9vdCBHQyBDQTAeFw0xNzA1MDkwOTQ4MzRaFw00MjA1MDkwOTU4MzNaMG0xCzAJ\nBgNVBAYTAkNIMRAwDgYDVQQKEwdXSVNlS2V5MSIwIAYDVQQLExlPSVNURSBGb3Vu\nZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5IEdsb2JhbCBS\nb290IEdDIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAETOlQwMYPchi82PG6s4ni\neUqjFqdrVCTbUf/q9Akkwwsin8tqJ4KBDdLArzHkdIJuyiXZjHWd8dvQmqJLIX4W\np2OQ0jnUsYd4XxiWD1AbNTcPasbc2RNNpI6QN+a9WzGRo1QwUjAOBgNVHQ8BAf8E\nBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUSIcUrOPDnpBgOtfKie7T\nrYy0UGYwEAYJKwYBBAGCNxUBBAMCAQAwCgYIKoZIzj0EAwMDaAAwZQIwJsdpW9zV\n57LnyAyMjMPdeYwbY9XJUpROTYJKcx6ygISpJcBMWm1JKWB4E+J+SOtkAjEA2zQg\nMgj/mkkCtojeFK9dbJlxjRo/i9fgojaGHAeCOnZT/cKi7e97sIBPWA9LUzm9\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFYDCCA0igAwIBAgIUeFhfLq0sGUvjNwc1NBMotZbUZZMwDQYJKoZIhvcNAQEL\nBQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc\nBgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMSBHMzAeFw0xMjAxMTIxNzI3NDRaFw00\nMjAxMTIxNzI3NDRaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM\naW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDEgRzMwggIiMA0GCSqG\nSIb3DQEBAQUAA4ICDwAwggIKAoICAQCgvlAQjunybEC0BJyFuTHK3C3kEakEPBtV\nwedYMB0ktMPvhd6MLOHBPd+C5k+tR4ds7FtJwUrVu4/sh6x/gpqG7D0DmVIB0jWe\nrNrwU8lmPNSsAgHaJNM7qAJGr6Qc4/hzWHa39g6QDbXwz8z6+cZM5cOGMAqNF341\n68Xfuw6cwI2H44g4hWf6Pser4BOcBRiYz5P1sZK0/CPTz9XEJ0ngnjybCKOLXSoh\n4Pw5qlPafX7PGglTvF0FBM+hSo+LdoINofjSxxR3W5A2B4GbPgb6Ul5jxaYA/qXp\nUhtStZI5cgMJYr2wYBZupt0lwgNm3fME0UDiTouG9G/lg6AnhF4EwfWQvTA9xO+o\nabw4m6SkltFi2mnAAZauy8RRNOoMqv8hjlmPSlzkYZqn0ukqeI1RPToV7qJZjqlc\n3sX5kCLliEVx3ZGZbHqfPT2YfF72vhZooF6uCyP8Wg+qInYtyaEQHeTTRCOQiJ/G\nKubX9ZqzWB4vMIkIG1SitZgj7Ah3HJVdYdHLiZxfokqRmu8hqkkWCKi9YSgxyXSt\nhfbZxbGL0eUQMk1fiyA6PEkfM4VZDdvLCXVDaXP7a3F98N/ETH3Goy7IlXnLc6KO\nTk0k+17kBL5yG6YnLUlamXrXXAkgt3+UuU/xDRxeiEIbEbfnkduebPRq34wGmAOt\nzCjvpUfzUwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB\nBjAdBgNVHQ4EFgQUo5fW816iEOGrRZ88F2Q87gFwnMwwDQYJKoZIhvcNAQELBQAD\nggIBABj6W3X8PnrHX3fHyt/PX8MSxEBd1DKquGrX1RUVRpgjpeaQWxiZTOOtQqOC\nMTaIzen7xASWSIsBx40Bz1szBpZGZnQdT+3Btrm0DWHMY37XLneMlhwqI2hrhVd2\ncDMT/uFPpiN3GPoajOi9ZcnPP/TJF9zrx7zABC4tRi9pZsMbj/7sPtPKlL92CiUN\nqXsCHKnQO18LwIE6PWThv6ctTr1NxNgpxiIY0MWscgKCP6o6ojoilzHdCGPDdRS5\nYCgtW2jgFqlmgiNR9etT2DGbe+m3nUvriBbP+V04ikkwj+3x6xn0dxoxGE1nVGwv\nb2X52z3sIexe9PSLymBlVNFxZPT5pqOBMzYzcfCkeF9OrYMh3jRJjehZrJ3ydlo2\n8hP0r+AJx2EqbPfgna67hkooby7utHnNkDPDs3b69fBsnQGQ+p6Q9pxyz0fawx/k\nNSBT8lTR32GDpgLiJTjehTItXnOQUl1CxM49S+H5GYQd1aJQzEH7QRTDvdbJWqNj\nZgKAvQU6O0ec7AAmTPWIUb+oI38YB7AL7YsmoWTTYUrrXJ/es69nA7Mf3W1daWhp\nq1467HxpvMc7hU6eFbm0FU/DlXpY18ls6Wy58yljXrQs8C097Vpl4KlbQMJImYFt\nnh8GKjwStIsPm6Ik8KaN1nrgS7ZklmOVhMJKzRwuJIczYOXD\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFtzCCA5+gAwIBAgICBQkwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x\nGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv\nb3QgQ0EgMjAeFw0wNjExMjQxODI3MDBaFw0zMTExMjQxODIzMzNaMEUxCzAJBgNV\nBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W\nYWRpcyBSb290IENBIDIwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCa\nGMpLlA0ALa8DKYrwD4HIrkwZhR0In6spRIXzL4GtMh6QRr+jhiYaHv5+HBg6XJxg\nFyo6dIMzMH1hVBHL7avg5tKifvVrbxi3Cgst/ek+7wrGsxDp3MJGF/hd/aTa/55J\nWpzmM+Yklvc/ulsrHHo1wtZn/qtmUIttKGAr79dgw8eTvI02kfN/+NsRE8Scd3bB\nrrcCaoF6qUWD4gXmuVbBlDePSHFjIuwXZQeVikvfj8ZaCuWw419eaxGrDPmF60Tp\n+ARz8un+XJiM9XOva7R+zdRcAitMOeGylZUtQofX1bOQQ7dsE/He3fbE+Ik/0XX1\nksOR1YqI0JDs3G3eicJlcZaLDQP9nL9bFqyS2+r+eXyt66/3FsvbzSUr5R/7mp/i\nUcw6UwxI5g69ybR2BlLmEROFcmMDBOAENisgGQLodKcftslWZvB1JdxnwQ5hYIiz\nPtGo/KPaHbDRsSNU30R2be1B2MGyIrZTHN81Hdyhdyox5C315eXbyOD/5YDXC2Og\n/zOhD7osFRXql7PSorW+8oyWHhqPHWykYTe5hnMz15eWniN9gqRMgeKh0bpnX5UH\noycR7hYQe7xFSkyyBNKr79X9DFHOUGoIMfmR2gyPZFwDwzqLID9ujWc9Otb+fVuI\nyV77zGHcizN300QyNQliBJIWENieJ0f7OyHj+OsdWwIDAQABo4GwMIGtMA8GA1Ud\nEwEB/wQFMAMBAf8wCwYDVR0PBAQDAgEGMB0GA1UdDgQWBBQahGK8SEwzJQTU7tD2\nA8QZRtGUazBuBgNVHSMEZzBlgBQahGK8SEwzJQTU7tD2A8QZRtGUa6FJpEcwRTEL\nMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMT\nElF1b1ZhZGlzIFJvb3QgQ0EgMoICBQkwDQYJKoZIhvcNAQEFBQADggIBAD4KFk2f\nBluornFdLwUvZ+YTRYPENvbzwCYMDbVHZF34tHLJRqUDGCdViXh9duqWNIAXINzn\ng/iN/Ae42l9NLmeyhP3ZRPx3UIHmfLTJDQtyU/h2BwdBR5YM++CCJpNVjP4iH2Bl\nfF/nJrP3MpCYUNQ3cVX2kiF495V5+vgtJodmVjB3pjd4M1IQWK4/YY7yarHvGH5K\nWWPKjaJW1acvvFYfzznB4vsKqBUsfU16Y8Zsl0Q80m/DShcK+JDSV6IZUaUtl0Ha\nB0+pUNqQjZRG4T7wlP0QADj1O+hA4bRuVhogzG9Yje0uRY/W6ZM/57Es3zrWIozc\nhLsib9D45MY56QSIPMO661V6bYCZJPVsAfv4l7CUW+v90m/xd2gNNWQjrLhVoQPR\nTUIZ3Ph1WVaj+ahJefivDrkRoHy3au000LYmYjgahwz46P0u05B/B5EqHdZ+XIWD\nmbA4CD/pXvk1B+TJYm5Xf6dQlfe6yJvmjqIBxdZmv3lh8zwc4bmCXF2gw+nYSL0Z\nohEUGW6yhhtoPkg3Goi3XZZenMfvJ2II4pEZXNLxId26F0KCl3GBUzGpn/Z9Yr9y\n4aOTHcyKJloJONDO1w2AFrR4pTqHTI2KpdVGl/IsELm8VCLAAVBpQ570su9t+Oza\n8eOx79+Rj1QqCyXBJhnEUhAFZdWCEOrCMc0u\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFYDCCA0igAwIBAgIURFc0JFuBiZs18s64KztbpybwdSgwDQYJKoZIhvcNAQEL\nBQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc\nBgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMiBHMzAeFw0xMjAxMTIxODU5MzJaFw00\nMjAxMTIxODU5MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM\naW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDIgRzMwggIiMA0GCSqG\nSIb3DQEBAQUAA4ICDwAwggIKAoICAQChriWyARjcV4g/Ruv5r+LrI3HimtFhZiFf\nqq8nUeVuGxbULX1QsFN3vXg6YOJkApt8hpvWGo6t/x8Vf9WVHhLL5hSEBMHfNrMW\nn4rjyduYNM7YMxcoRvynyfDStNVNCXJJ+fKH46nafaF9a7I6JaltUkSs+L5u+9ym\nc5GQYaYDFCDy54ejiK2toIz/pgslUiXnFgHVy7g1gQyjO/Dh4fxaXc6AcW34Sas+\nO7q414AB+6XrW7PFXmAqMaCvN+ggOp+oMiwMzAkd056OXbxMmO7FGmh77FOm6RQ1\no9/NgJ8MSPsc9PG/Srj61YxxSscfrf5BmrODXfKEVu+lV0POKa2Mq1W/xPtbAd0j\nIaFYAI7D0GoT7RPjEiuA3GfmlbLNHiJuKvhB1PLKFAeNilUSxmn1uIZoL1NesNKq\nIcGY5jDjZ1XHm26sGahVpkUG0CM62+tlXSoREfA7T8pt9DTEceT/AFr2XK4jYIVz\n8eQQsSWu1ZK7E8EM4DnatDlXtas1qnIhO4M15zHfeiFuuDIIfR0ykRVKYnLP43eh\nvNURG3YBZwjgQQvD6xVu+KQZ2aKrr+InUlYrAoosFCT5v0ICvybIxo/gbjh9Uy3l\n7ZizlWNof/k19N+IxWA1ksB8aRxhlRbQ694Lrz4EEEVlWFA4r0jyWbYW8jwNkALG\ncC4BrTwV1wIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB\nBjAdBgNVHQ4EFgQU7edvdlq/YOxJW8ald7tyFnGbxD0wDQYJKoZIhvcNAQELBQAD\nggIBAJHfgD9DCX5xwvfrs4iP4VGyvD11+ShdyLyZm3tdquXK4Qr36LLTn91nMX66\nAarHakE7kNQIXLJgapDwyM4DYvmL7ftuKtwGTTwpD4kWilhMSA/ohGHqPHKmd+RC\nroijQ1h5fq7KpVMNqT1wvSAZYaRsOPxDMuHBR//47PERIjKWnML2W2mWeyAMQ0Ga\nW/ZZGYjeVYg3UQt4XAoeo0L9x52ID8DyeAIkVJOviYeIyUqAHerQbj5hLja7NQ4n\nlv1mNDthcnPxFlxHBlRJAHpYErAK74X9sbgzdWqTHBLmYF5vHX/JHyPLhGGfHoJE\n+V+tYlUkmlKY7VHnoX6XOuYvHxHaU4AshZ6rNRDbIl9qxV6XU/IyAgkwo1jwDQHV\ncsaxfGl7w/U2Rcxhbl5MlMVerugOXou/983g7aEOGzPuVBj+D77vfoRrQ+NwmNtd\ndbINWQeFFSM51vHfqSYP1kjHs6Yi9TM3WpVHn3u6GBVv/9YUZINJ0gpnIdsPNWNg\nKCLjsZWDzYWm3S8P52dSbrsvhXz1SnPnxT7AvSESBT/8twNJAlvIJebiVDj1eYeM\nHVOyToV7BjjHLPj4sHKNJeV3UvQDHEimUF+IIDBu8oJDqz2XhOdT+yHBTw8imoa4\nWSr2Rz0ZiC3oheGe7IUIarFsNMkd7EgrO3jtZsSOeWmD3n+M\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIGnTCCBIWgAwIBAgICBcYwDQYJKoZIhvcNAQEFBQAwRTELMAkGA1UEBhMCQk0x\nGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxGzAZBgNVBAMTElF1b1ZhZGlzIFJv\nb3QgQ0EgMzAeFw0wNjExMjQxOTExMjNaFw0zMTExMjQxOTA2NDRaMEUxCzAJBgNV\nBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMRswGQYDVQQDExJRdW9W\nYWRpcyBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDM\nV0IWVJzmmNPTTe7+7cefQzlKZbPoFog02w1ZkXTPkrgEQK0CSzGrvI2RaNggDhoB\n4hp7Thdd4oq3P5kazethq8Jlph+3t723j/z9cI8LoGe+AaJZz3HmDyl2/7FWeUUr\nH556VOijKTVopAFPD6QuN+8bv+OPEKhyq1hX51SGyMnzW9os2l2ObjyjPtr7guXd\n8lyyBTNvijbO0BNO/79KDDRMpsMhvVAEVeuxu537RR5kFd5VAYwCdrXLoT9Cabwv\nvWhDFlaJKjdhkf2mrk7AyxRllDdLkgbvBNDInIjbC3uBr7E9KsRlOni27tyAsdLT\nmZw67mtaa7ONt9XOnMK+pUsvFrGeaDsGb659n/je7Mwpp5ijJUMv7/FfJuGITfhe\nbtfZFG4ZM2mnO4SJk8RTVROhUXhA+LjJou57ulJCg54U7QVSWllWp5f8nT8KKdjc\nT5EOE7zelaTfi5m+rJsziO+1ga8bxiJTyPbH7pcUsMV8eFLI8M5ud2CEpukqdiDt\nWAEXMJPpGovgc2PZapKUSU60rUqFxKMiMPwJ7Wgic6aIDFUhWMXhOp8q3crhkODZ\nc6tsgLjoC2SToJyMGf+z0gzskSaHirOi4XCPLArlzW1oUevaPwV/izLmE1xr/l9A\n4iLItLRkT9a6fUg+qGkM17uGcclzuD87nSVL2v9A6wIDAQABo4IBlTCCAZEwDwYD\nVR0TAQH/BAUwAwEB/zCB4QYDVR0gBIHZMIHWMIHTBgkrBgEEAb5YAAMwgcUwgZMG\nCCsGAQUFBwICMIGGGoGDQW55IHVzZSBvZiB0aGlzIENlcnRpZmljYXRlIGNvbnN0\naXR1dGVzIGFjY2VwdGFuY2Ugb2YgdGhlIFF1b1ZhZGlzIFJvb3QgQ0EgMyBDZXJ0\naWZpY2F0ZSBQb2xpY3kgLyBDZXJ0aWZpY2F0aW9uIFByYWN0aWNlIFN0YXRlbWVu\ndC4wLQYIKwYBBQUHAgEWIWh0dHA6Ly93d3cucXVvdmFkaXNnbG9iYWwuY29tL2Nw\nczALBgNVHQ8EBAMCAQYwHQYDVR0OBBYEFPLAE+CCQz777i9nMpY1XNu4ywLQMG4G\nA1UdIwRnMGWAFPLAE+CCQz777i9nMpY1XNu4ywLQoUmkRzBFMQswCQYDVQQGEwJC\nTTEZMBcGA1UEChMQUXVvVmFkaXMgTGltaXRlZDEbMBkGA1UEAxMSUXVvVmFkaXMg\nUm9vdCBDQSAzggIFxjANBgkqhkiG9w0BAQUFAAOCAgEAT62gLEz6wPJv92ZVqyM0\n7ucp2sNbtrCD2dDQ4iH782CnO11gUyeim/YIIirnv6By5ZwkajGxkHon24QRiSem\nd1o417+shvzuXYO8BsbRd2sPbSQvS3pspweWyuOEn62Iix2rFo1bZhfZFvSLgNLd\n+LJ2w/w4E6oM3kJpK27zPOuAJ9v1pkQNn1pVWQvVDVJIxa6f8i+AxeoyUDUSly7B\n4f/xI4hROJ/yZlZ25w9Rl6VSDE1JUZU2Pb+iSwwQHYaZTKrzchGT5Or2m9qoXadN\nt54CrnMAyNojA+j56hl0YgCUyyIgvpSnWbWCar6ZeXqp8kokUvd0/bpO5qgdAm6x\nDYBEwa7TIzdfu4V8K5Iu6H6li92Z4b8nby1dqnuH/grdS/yO9SbkbnBCbjPsMZ57\nk8HkyWkaPcBrTiJt7qtYTcbQQcEr6k8Sh17rRdhs9ZgC06DYVYoGmRmioHfRMJ6s\nzHXug/WwYjnPbFfiTNKRCw51KBuav/0aQ/HKd/s7j2G4aSgWQgRecCocIdiP4b0j\nWy10QJLZYxkNc91pvGJHvOB0K7Lrfb5BG7XARsWhIstfTsEokt4YutUqKLsRixeT\nmJlglFwjz1onl14LBQaTNx47aTbrqZ5hHY8y2o4M1nQ+ewkk2gF3R8Q7zTSMmfXK\n4SVhM7JZG+Ju1zdXtg2pEto=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFYDCCA0igAwIBAgIULvWbAiin23r/1aOp7r0DoM8Sah0wDQYJKoZIhvcNAQEL\nBQAwSDELMAkGA1UEBhMCQk0xGTAXBgNVBAoTEFF1b1ZhZGlzIExpbWl0ZWQxHjAc\nBgNVBAMTFVF1b1ZhZGlzIFJvb3QgQ0EgMyBHMzAeFw0xMjAxMTIyMDI2MzJaFw00\nMjAxMTIyMDI2MzJaMEgxCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRpcyBM\naW1pdGVkMR4wHAYDVQQDExVRdW9WYWRpcyBSb290IENBIDMgRzMwggIiMA0GCSqG\nSIb3DQEBAQUAA4ICDwAwggIKAoICAQCzyw4QZ47qFJenMioKVjZ/aEzHs286IxSR\n/xl/pcqs7rN2nXrpixurazHb+gtTTK/FpRp5PIpM/6zfJd5O2YIyC0TeytuMrKNu\nFoM7pmRLMon7FhY4futD4tN0SsJiCnMK3UmzV9KwCoWdcTzeo8vAMvMBOSBDGzXR\nU7Ox7sWTaYI+FrUoRqHe6okJ7UO4BUaKhvVZR74bbwEhELn9qdIoyhA5CcoTNs+c\nra1AdHkrAj80//ogaX3T7mH1urPnMNA3I4ZyYUUpSFlob3emLoG+B01vr87ERROR\nFHAGjx+f+IdpsQ7vw4kZ6+ocYfx6bIrc1gMLnia6Et3UVDmrJqMz6nWB2i3ND0/k\nA9HvFZcba5DFApCTZgIhsUfei5pKgLlVj7WiL8DWM2fafsSntARE60f75li59wzw\neyuxwHApw0BiLTtIadwjPEjrewl5qW3aqDCYz4ByA4imW0aucnl8CAMhZa634Ryl\nsSqiMd5mBPfAdOhx3v89WcyWJhKLhZVXGqtrdQtEPREoPHtht+KPZ0/l7DxMYIBp\nVzgeAVuNVejH38DMdyM0SXV89pgR6y3e7UEuFAUCf+D+IOs15xGsIs5XPd7JMG0Q\nA4XN8f+MFrXBsj6IbGB/kE+V9/YtrQE5BwT6dYB9v0lQ7e/JxHwc64B+27bQ3RP+\nydOc17KXqQIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB\nBjAdBgNVHQ4EFgQUxhfQvKjqAkPyGwaZXSuQILnXnOQwDQYJKoZIhvcNAQELBQAD\nggIBADRh2Va1EodVTd2jNTFGu6QHcrxfYWLopfsLN7E8trP6KZ1/AvWkyaiTt3px\nKGmPc+FSkNrVvjrlt3ZqVoAh313m6Tqe5T72omnHKgqwGEfcIHB9UqM+WXzBusnI\nFUBhynLWcKzSt/Ac5IYp8M7vaGPQtSCKFWGafoaYtMnCdvvMujAWzKNhxnQT5Wvv\noxXqA/4Ti2Tk08HS6IT7SdEQTXlm66r99I0xHnAUrdzeZxNMgRVhvLfZkXdxGYFg\nu/BYpbWcC/ePIlUnwEsBbTuZDdQdm2NnL9DuDcpmvJRPpq3t/O5jrFc/ZSXPsoaP\n0Aj/uHYUbt7lJ+yreLVTubY/6CD50qi+YUbKh4yE8/nxoGibIh6BJpsQBJFxwAYf\n3KDTuVan45gtf4Od34wrnDKOMpTwATwiKp9Dwi7DmDkHOHv8XgBCH/MyJnmDhPbl\n8MFREsALHgQjDFSlTC9JxUrRtm5gDWv8a4uFJGS3iQ6rJUdbPM9+Sb3H6QrG2vd+\nDhcI00iX0HGS8A85PjRqHH3Y8iKuu2n0M7SmSFXRDw4m6Oy2Cy2nhTXN/VnIn9HN\nPlopNLk9hM6xZdRZkZFWdSHBd575euFgndOtBBj0fOtek49TSiIp+EgrPk2GrFt/\nywaZWWDYWGWVjUTR939+J399roD1B0y2PpxxVJkES/1Y+Zj0\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICODCCAb6gAwIBAgIJANZdm7N4gS7rMAoGCCqGSM49BAMDMGExCzAJBgNVBAYT\nAkpQMSUwIwYDVQQKExxTRUNPTSBUcnVzdCBTeXN0ZW1zIENPLixMVEQuMSswKQYD\nVQQDEyJTZWN1cml0eSBDb21tdW5pY2F0aW9uIEVDQyBSb290Q0ExMB4XDTE2MDYx\nNjA1MTUyOFoXDTM4MDExODA1MTUyOFowYTELMAkGA1UEBhMCSlAxJTAjBgNVBAoT\nHFNFQ09NIFRydXN0IFN5c3RlbXMgQ08uLExURC4xKzApBgNVBAMTIlNlY3VyaXR5\nIENvbW11bmljYXRpb24gRUNDIFJvb3RDQTEwdjAQBgcqhkjOPQIBBgUrgQQAIgNi\nAASkpW9gAwPDvTH00xecK4R1rOX9PVdu12O/5gSJko6BnOPpR27KkBLIE+Cnnfdl\ndB9sELLo5OnvbYUymUSxXv3MdhDYW72ixvnWQuRXdtyQwjWpS4g8EkdtXP9JTxpK\nULGjQjBAMB0GA1UdDgQWBBSGHOf+LaVKiwj+KBH6vqNm+GBZLzAOBgNVHQ8BAf8E\nBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjAVXUI9/Lbu\n9zuxNuie9sRGKEkz0FhDKmMpzE2xtHqiuQ04pV1IKv3LsnNdo4gIxwwCMQDAqy0O\nbe0YottT6SXbVQjgUMzfRGEWgqtJsLKB7HOHeLRMsmIbEvoWTSVLY70eN9k=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDdzCCAl+gAwIBAgIBADANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJKUDEl\nMCMGA1UEChMcU0VDT00gVHJ1c3QgU3lzdGVtcyBDTy4sTFRELjEnMCUGA1UECxMe\nU2VjdXJpdHkgQ29tbXVuaWNhdGlvbiBSb290Q0EyMB4XDTA5MDUyOTA1MDAzOVoX\nDTI5MDUyOTA1MDAzOVowXTELMAkGA1UEBhMCSlAxJTAjBgNVBAoTHFNFQ09NIFRy\ndXN0IFN5c3RlbXMgQ08uLExURC4xJzAlBgNVBAsTHlNlY3VyaXR5IENvbW11bmlj\nYXRpb24gUm9vdENBMjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANAV\nOVKxUrO6xVmCxF1SrjpDZYBLx/KWvNs2l9amZIyoXvDjChz335c9S672XewhtUGr\nzbl+dp+++T42NKA7wfYxEUV0kz1XgMX5iZnK5atq1LXaQZAQwdbWQonCv/Q4EpVM\nVAX3NuRFg3sUZdbcDE3R3n4MqzvEFb46VqZab3ZpUql6ucjrappdUtAtCms1FgkQ\nhNBqyjoGADdH5H5XTz+L62e4iKrFvlNVspHEfbmwhRkGeC7bYRr6hfVKkaHnFtWO\nojnflLhwHyg/i/xAXmODPIMqGplrz95Zajv8bxbXH/1KEOtOghY6rCcMU/Gt1SSw\nawNQwS08Ft1ENCcadfsCAwEAAaNCMEAwHQYDVR0OBBYEFAqFqXdlBZh8QIH4D5cs\nOPEK7DzPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3\nDQEBCwUAA4IBAQBMOqNErLlFsceTfsgLCkLfZOoc7llsCLqJX2rKSpWeeo8HxdpF\ncoJxDjrSzG+ntKEju/Ykn8sX/oymzsLS28yN/HH8AynBbF0zX2S2ZTuJbxh2ePXc\nokgfGT+Ok+vx+hfuzU7jBBJV1uXk3fs+BXziHV7Gp7yXT2g69ekuCkO2r1dcYmh8\nt/2jioSgrGK+KwmHNPBqAbubKVY8/gA3zyNs8U6qtnRGEmyR7jTV7JqR50S+kDFy\n1UkC9gLl9B/rfNmWVan/7Ir5mUf/NVoCqgTLiluHcSmRvaS0eg29mvVXIwAHIRc/\nSjnRBUkLp7Y3gaVdjKozXoEofKd9J+sAro03\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb\nMBkGA1UECAwSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHDAdTYWxmb3JkMRow\nGAYDVQQKDBFDb21vZG8gQ0EgTGltaXRlZDEhMB8GA1UEAwwYQUFBIENlcnRpZmlj\nYXRlIFNlcnZpY2VzMB4XDTA0MDEwMTAwMDAwMFoXDTI4MTIzMTIzNTk1OVowezEL\nMAkGA1UEBhMCR0IxGzAZBgNVBAgMEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE\nBwwHU2FsZm9yZDEaMBgGA1UECgwRQ29tb2RvIENBIExpbWl0ZWQxITAfBgNVBAMM\nGEFBQSBDZXJ0aWZpY2F0ZSBTZXJ2aWNlczCCASIwDQYJKoZIhvcNAQEBBQADggEP\nADCCAQoCggEBAL5AnfRu4ep2hxxNRUSOvkbIgwadwSr+GB+O5AL686tdUIoWMQua\nBtDFcCLNSS1UY8y2bmhGC1Pqy0wkwLxyTurxFa70VJoSCsN6sjNg4tqJVfMiWPPe\n3M/vg4aijJRPn2jymJBGhCfHdr/jzDUsi14HZGWCwEiwqJH5YZ92IFCokcdmtet4\nYgNW8IoaE+oxox6gmf049vYnMlhvB/VruPsUK6+3qszWY19zjNoFmag4qMsXeDZR\nrOme9Hg6jc8P2ULimAyrL58OAd7vn5lJ8S3frHRNG5i1R8XlKdH5kBjHYpy+g8cm\nez6KJcfA3Z3mNWgQIJ2P2N7Sw4ScDV7oL8kCAwEAAaOBwDCBvTAdBgNVHQ4EFgQU\noBEKIz6W8Qfs4q8p74Klf9AwpLQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQF\nMAMBAf8wewYDVR0fBHQwcjA4oDagNIYyaHR0cDovL2NybC5jb21vZG9jYS5jb20v\nQUFBQ2VydGlmaWNhdGVTZXJ2aWNlcy5jcmwwNqA0oDKGMGh0dHA6Ly9jcmwuY29t\nb2RvLm5ldC9BQUFDZXJ0aWZpY2F0ZVNlcnZpY2VzLmNybDANBgkqhkiG9w0BAQUF\nAAOCAQEACFb8AvCb6P+k+tZ7xkSAzk/ExfYAWMymtrwUSWgEdujm7l3sAg9g1o1Q\nGE8mTgHj5rCl7r+8dFRBv/38ErjHT1r0iWAFf2C3BUrz9vHCv8S5dIa2LX1rzNLz\nRt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2\nG9w84FoVxp7Z8VlIMCFlA2zs6SFz7JsDoeA3raAVGI/6ugLOpyypEBMs1OUIJqsi\nl2D4kF501KKaU73yqWjgom7C12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3\nsmPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIEHTCCAwWgAwIBAgIQToEtioJl4AsC7j41AkblPTANBgkqhkiG9w0BAQUFADCB\ngTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G\nA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxJzAlBgNV\nBAMTHkNPTU9ETyBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjEyMDEwMDAw\nMDBaFw0yOTEyMzEyMzU5NTlaMIGBMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl\nYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYDVQQKExFDT01P\nRE8gQ0EgTGltaXRlZDEnMCUGA1UEAxMeQ09NT0RPIENlcnRpZmljYXRpb24gQXV0\naG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0ECLi3LjkRv3\nUcEbVASY06m/weaKXTuH+7uIzg3jLz8GlvCiKVCZrts7oVewdFFxze1CkU1B/qnI\n2GqGd0S7WWaXUF601CxwRM/aN5VCaTwwxHGzUvAhTaHYujl8HJ6jJJ3ygxaYqhZ8\nQ5sVW7euNJH+1GImGEaaP+vB+fGQV+useg2L23IwambV4EajcNxo2f8ESIl33rXp\n+2dtQem8Ob0y2WIC8bGoPW43nOIv4tOiJovGuFVDiOEjPqXSJDlqR6sA1KGzqSX+\nDT+nHbrTUcELpNqsOO9VUCQFZUaTNE8tja3G1CEZ0o7KBWFxB3NH5YoZEr0ETc5O\nnKVIrLsm9wIDAQABo4GOMIGLMB0GA1UdDgQWBBQLWOWLxkwVN6RAqTCpIb5HNlpW\n/zAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zBJBgNVHR8EQjBAMD6g\nPKA6hjhodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9DZXJ0aWZpY2F0aW9u\nQXV0aG9yaXR5LmNybDANBgkqhkiG9w0BAQUFAAOCAQEAPpiem/Yb6dc5t3iuHXIY\nSdOH5EOC6z/JqvWote9VfCFSZfnVDeFs9D6Mk3ORLgLETgdxb8CPOGEIqB6BCsAv\nIC9Bi5HcSEW88cbeunZrM8gALTFGTO3nnc+IlP8zwFboJIYmuNg4ON8qa90SzMc/\nRxdMosIGlgnW2/4/PEZB31jiVg88O8EckzXZOFKs7sjsLjBOlDW0JB9LeGna8gI4\nzJVSk/BwJVmcIGfE7vmLV2H0knZ9P4SNVbfo5azV8fUZVqZa+5Acr5Pr5RzUZ5dd\nBA6+C4OmF4O5MBKgxTMVBbkN+8cFduPYSo38NBejxiEovjBFMR7HeL5YYTisO+IB\nZQ==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL\nMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE\nBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT\nIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw\nMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy\nZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N\nT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv\nbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR\nFtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J\ncfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW\nBBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/\nBAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm\nfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv\nGDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB\nhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G\nA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV\nBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5\nMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT\nEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR\nQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh\ndGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR\n6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X\npz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC\n9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV\n/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf\nZd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z\n+pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w\nqP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah\nSL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC\nu9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf\nFobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq\ncrxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E\nFgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB\n/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl\nwFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM\n4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV\n2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna\nFxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ\nCuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK\nboHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke\njkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL\nS0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb\nQOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl\n0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB\nNVOFBkpdn627G190\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICMTCCAbegAwIBAgIQbvXTp0GOoFlApzBr0kBlVjAKBggqhkjOPQQDAzBaMQsw\nCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTEwLwYDVQQDEyhT\nZWN0aWdvIFB1YmxpYyBFbWFpbCBQcm90ZWN0aW9uIFJvb3QgRTQ2MB4XDTIxMDMy\nMjAwMDAwMFoXDTQ2MDMyMTIzNTk1OVowWjELMAkGA1UEBhMCR0IxGDAWBgNVBAoT\nD1NlY3RpZ28gTGltaXRlZDExMC8GA1UEAxMoU2VjdGlnbyBQdWJsaWMgRW1haWwg\nUHJvdGVjdGlvbiBSb290IEU0NjB2MBAGByqGSM49AgEGBSuBBAAiA2IABLinUpT1\nPgWwG/YfsdN+ueQFZlSAzmylaH3kU1LbgvrEht9DePfIrRa8P3gyy2vTSdZE5bN+\nn3umxizy4rbTibCaPEvOiUvGxss6SWAPRrxtTnqcyZuFewq2sEfCiOPU0aNCMEAw\nHQYDVR0OBBYEFC1OjKfCI7JXqQZrPmsrifPDXkfOMA4GA1UdDwEB/wQEAwIBhjAP\nBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMDA2gAMGUCMQCSnRpZY0VYjhsW5H16\nbDZIMB8rcueQMzT9JKLGBoxvOzJXWvj+xkkSU5rZELKZUXICMAUlKjMh/JPmIqLM\ncFUoNVaiB8QhhCMaTEyZUJmSFMtK3Fb79dOPaiz1cTr4izsDng==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFgDCCA2igAwIBAgIQHUSeuQ2DkXSu3fLriLemozANBgkqhkiG9w0BAQwFADBa\nMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTEwLwYDVQQD\nEyhTZWN0aWdvIFB1YmxpYyBFbWFpbCBQcm90ZWN0aW9uIFJvb3QgUjQ2MB4XDTIx\nMDMyMjAwMDAwMFoXDTQ2MDMyMTIzNTk1OVowWjELMAkGA1UEBhMCR0IxGDAWBgNV\nBAoTD1NlY3RpZ28gTGltaXRlZDExMC8GA1UEAxMoU2VjdGlnbyBQdWJsaWMgRW1h\naWwgUHJvdGVjdGlvbiBSb290IFI0NjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC\nAgoCggIBAJHlG/qqbTcrdccuXxSl2yyXtixGj2nZ7JYt8x1avtMdI+ZoCf9KEXMa\nrmefdprS5+y42V8r+SZWUa92nan8F+8yCtAjPLosT0eD7J0FaEJeBuDV6CtoSJey\n+vOkcTV9NJsXi39NDdvcTwVMlGK/NfovyKccZtlxX+XmWlXKq/S4dxlFUEVOSqvb\nnmbBGbc3QshWpUAS+TPoOEU6xoSjAo4vJLDDQYUHSZzP3NHyJm/tMxwzZypFN9mF\nZSIasbUQUglrA8YfcD2RxH2QPe1m+JD/JeDtkqKLMSmtnBJmeGOdV+z7C96O3IvL\nOql39Lrl7DiMi+YTZqdpWMOCGhrN8Z/YU5JOSX2pRefxQyFatz5AzWOJz9m/x1AL\n4bzniJatntQX2l3P4JH9phDUuQOBm2ms+4SogTXrG+tobHxgPsPfybSudB1Ird1u\nEYbhKmo2Fq7IzrzbWPxAk0DYjlOXwqwiOOWIMbMuoe/s4EIN6v+TVkoGpJtMAmhk\nj1ZQwYEF/cvbxdcV8mu1dsOj+TLOyrVKqRt9Gdx/x2p+ley2uI39lUqcoytti/Fw\n5UcrAFzkuZ7U+NlYKdDL4ChibK6cYuLMvDaTQfXv/kZilbBXSnQsR1Ipnd2ioU9C\nwpLOLVBSXowKoffYncX4/TaHTlf9aKFfmYMc8LXd6JLTZUBVypaFAgMBAAGjQjBA\nMB0GA1UdDgQWBBSn15V360rDJ82TvjdMJoQhFH1dmDAOBgNVHQ8BAf8EBAMCAYYw\nDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQwFAAOCAgEANNLxFfOTAdRyi/Cr\nCB8TPHO0sKvoeNlsupqvJuwQgOUNUzHd4/qMUSIkMze4GH46+ljoNOWM4KEfCUHS\nNz/Mywk1Qojp/BHXz0KqpHC2ccFTvcV0r8QiJGPPYoJ9yctRwYiQbVtcvvuZqLq2\nhrDpZgvlG2uv6iuGp9+oI0yWP09XQhgVg0Pxhia3KgPOC53opWgejG+9heMbUY/n\nFy8r0NZ4wi3dcojUZZ76mdR+55cKkgGapamEOgwqdD0zGMiH9+ik9YZCOf1rdSn8\nAAasoqUaVI7pUEkXZq9LBC2blIClVKuMVxdEnw/WaGRytEseAcfZm5TZg5mvEgUR\no5gi0vJXyiT5ujgVEki6Yzv8i5V41nIHVszN/J0c0MVkO2M0zwSZircweXq28sbV\n2VR6hwt+TveE7BTziBYS8dWuChoJ7oat5av9rsMpeXTDAV8Rm991mcZK95uPbEns\nIS+0AlmzLdBykLoLFHR4S8/BX1VyjlQrE876WAzTuyzZqZFh+PjxtnvevKnMkgTM\nS2tfc4C2Ie1QT9d2h27O39K3vWKhfVhiaEVStj/eEtvtBGmedoiqAW3ahsdgG8NS\nrDfsUHGAciohRQpTRzwZ643SWQTeJbDrHzVvYH3Xtca7CyeN4E1U5c8dJgFuOzXI\nIBKJg/DS7Vg7NJ27MfUy/THzVho=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICOjCCAcGgAwIBAgIQQvLM2htpN0RfFf51KBC49DAKBggqhkjOPQQDAzBfMQsw\nCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1T\nZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwHhcN\nMjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5WjBfMQswCQYDVQQGEwJHQjEYMBYG\nA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1YmxpYyBT\nZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBFNDYwdjAQBgcqhkjOPQIBBgUrgQQA\nIgNiAAR2+pmpbiDt+dd34wc7qNs9Xzjoq1WmVk/WSOrsfy2qw7LFeeyZYX8QeccC\nWvkEN/U0NSt3zn8gj1KjAIns1aeibVvjS5KToID1AZTc8GgHHs3u/iVStSBDHBv+\n6xnOQ6OjQjBAMB0GA1UdDgQWBBTRItpMWfFLXyY4qp3W7usNw/upYTAOBgNVHQ8B\nAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNnADBkAjAn7qRa\nqCG76UeXlImldCBteU/IvZNeWBj7LRoAasm4PdCkT0RHlAFWovgzJQxC36oCMB3q\n4S6ILuH5px0CMk7yn2xVdOOurvulGu7t0vzCAxHrRVxgED1cf5kDW21USAGKcw==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFijCCA3KgAwIBAgIQdY39i658BwD6qSWn4cetFDANBgkqhkiG9w0BAQwFADBf\nMQswCQYDVQQGEwJHQjEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQD\nEy1TZWN0aWdvIFB1YmxpYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYw\nHhcNMjEwMzIyMDAwMDAwWhcNNDYwMzIxMjM1OTU5WjBfMQswCQYDVQQGEwJHQjEY\nMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMTYwNAYDVQQDEy1TZWN0aWdvIFB1Ymxp\nYyBTZXJ2ZXIgQXV0aGVudGljYXRpb24gUm9vdCBSNDYwggIiMA0GCSqGSIb3DQEB\nAQUAA4ICDwAwggIKAoICAQCTvtU2UnXYASOgHEdCSe5jtrch/cSV1UgrJnwUUxDa\nef0rty2k1Cz66jLdScK5vQ9IPXtamFSvnl0xdE8H/FAh3aTPaE8bEmNtJZlMKpnz\nSDBh+oF8HqcIStw+KxwfGExxqjWMrfhu6DtK2eWUAtaJhBOqbchPM8xQljeSM9xf\niOefVNlI8JhD1mb9nxc4Q8UBUQvX4yMPFF1bFOdLvt30yNoDN9HWOaEhUTCDsG3X\nME6WW5HwcCSrv0WBZEMNvSE6Lzzpng3LILVCJ8zab5vuZDCQOc2TZYEhMbUjUDM3\nIuM47fgxMMxF/mL50V0yeUKH32rMVhlATc6qu/m1dkmU8Sf4kaWD5QazYw6A3OAS\nVYCmO2a0OYctyPDQ0RTp5A1NDvZdV3LFOxxHVp3i1fuBYYzMTYCQNFu31xR13NgE\nSJ/AwSiItOkcyqex8Va3e0lMWeUgFaiEAin6OJRpmkkGj80feRQXEgyDet4fsZfu\n+Zd4KKTIRJLpfSYFplhym3kT2BFfrsU4YjRosoYwjviQYZ4ybPUHNs2iTG7sijbt\n8uaZFURww3y8nDnAtOFr94MlI1fZEoDlSfB1D++N6xybVCi0ITz8fAr/73trdf+L\nHaAZBav6+CuBQug4urv7qv094PPK306Xlynt8xhW6aWWrL3DkJiy4Pmi1KZHQ3xt\nzwIDAQABo0IwQDAdBgNVHQ4EFgQUVnNYZJX5khqwEioEYnmhQBWIIUkwDgYDVR0P\nAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAC9c\nmTz8Bl6MlC5w6tIyMY208FHVvArzZJ8HXtXBc2hkeqK5Duj5XYUtqDdFqij0lgVQ\nYKlJfp/imTYpE0RHap1VIDzYm/EDMrraQKFz6oOht0SmDpkBm+S8f74TlH7Kph52\ngDY9hAaLMyZlbcp+nv4fjFg4exqDsQ+8FxG75gbMY/qB8oFM2gsQa6H61SilzwZA\nFv97fRheORKkU55+MkIQpiGRqRxOF3yEvJ+M0ejf5lG5Nkc/kLnHvALcWxxPDkjB\nJYOcCj+esQMzEhonrPcibCTRAUH4WAP+JWgiH5paPHxsnnVI84HxZmduTILA7rpX\nDhjvLpr3Etiga+kFpaHpaPi8TD8SHkXoUsCjvxInebnMMTzD9joiFgOgyY9mpFui\nTdaBJQbpdqQACj7LzTWb4OE4y2BThihCQRxEV+ioratF4yUQvNs+ZUH7G6aXD+u5\ndHn5HrwdVw1Hr8Mvn4dGp+smWg9WY7ViYG4A++MnESLn/pmPNPW56MORcr3Ywx65\nLvKRRFHQV80MNNVIIb/bE/FmJUNS0nAiNs2fxBx1IK1jcmMGDw4nztJqDby1ORrp\n0XZ60Vzk50lJLVU3aPAaOpg+VBeHVOmmJ1CJeyAvP/+/oYtKR5j/K3tJPsMpRmAY\nQqszKbrAKbkTidOIijlBO8n9pu0f9GBj39ItVQGL\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl\neSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT\nJVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx\nMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT\nCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg\nVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm\naWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo\nI+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng\no4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G\nA1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD\nVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB\nzzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW\nRNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB\niDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl\ncnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV\nBAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw\nMjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV\nBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU\naGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy\ndGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK\nAoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B\n3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY\ntJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/\nFp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2\nVN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT\n79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6\nc0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT\nYo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l\nc6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee\nUB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE\nHg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd\nBgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G\nA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF\nUp/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO\nVWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3\nATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs\n8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR\niQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze\nSf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ\nXHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/\nqS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB\nVXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB\nL6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG\njjxDah2nGN59PRbxYvnKkKj9\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFWjCCA0KgAwIBAgIQT9Irj/VkyDOeTzRYZiNwYDANBgkqhkiG9w0BAQsFADBH\nMQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNVBAMMHFVDQSBF\neHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwHhcNMTUwMzEzMDAwMDAwWhcNMzgxMjMx\nMDAwMDAwWjBHMQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxJTAjBgNV\nBAMMHFVDQSBFeHRlbmRlZCBWYWxpZGF0aW9uIFJvb3QwggIiMA0GCSqGSIb3DQEB\nAQUAA4ICDwAwggIKAoICAQCpCQcoEwKwmeBkqh5DFnpzsZGgdT6o+uM4AHrsiWog\nD4vFsJszA1qGxliG1cGFu0/GnEBNyr7uaZa4rYEwmnySBesFK5pI0Lh2PpbIILvS\nsPGP2KxFRv+qZ2C0d35qHzwaUnoEPQc8hQ2E0B92CvdqFN9y4zR8V05WAT558aop\nO2z6+I9tTcg1367r3CTueUWnhbYFiN6IXSV8l2RnCdm/WhUFhvMJHuxYMjMR83dk\nsHYf5BA1FxvyDrFspCqjc/wJHx4yGVMR59mzLC52LqGj3n5qiAno8geK+LLNEOfi\nc0CTuwjRP+H8C5SzJe98ptfRr5//lpr1kXuYC3fUfugH0mK1lTnj8/FtDw5lhIpj\nVMWAtuCeS31HJqcBCF3RiJ7XwzJE+oJKCmhUfzhTA8ykADNkUVkLo4KRel7sFsLz\nKuZi2irbWWIQJUoqgQtHB0MGcIfS+pMRKXpITeuUx3BNr2fVUbGAIAEBtHoIppB/\nTuDvB0GHr2qlXov7z1CymlSvw4m6WC31MJixNnI5fkkE/SmnTHnkBVfblLkWU41G\nsx2VYVdWf6/wFlthWG82UBEL2KwrlRYaDh8IzTY0ZRBiZtWAXxQgXy0MoHgKaNYs\n1+lvK9JKBZP8nm9rZ/+I8U6laUpSNwXqxhaN0sSZ0YIrO7o1dfdRUVjzyAfd5LQD\nfwIDAQABo0IwQDAdBgNVHQ4EFgQU2XQ65DA9DfcS3H5aBZ8eNJr34RQwDwYDVR0T\nAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZIhvcNAQELBQADggIBADaN\nl8xCFWQpN5smLNb7rhVpLGsaGvdftvkHTFnq88nIua7Mui563MD1sC3AO6+fcAUR\nap8lTwEpcOPlDOHqWnzcSbvBHiqB9RZLcpHIojG5qtr8nR/zXUACE/xOHAbKsxSQ\nVBcZEhrxH9cMaVr2cXj0lH2RC47skFSOvG+hTKv8dGT9cZr4QQehzZHkPJrgmzI5\nc6sq1WnIeJEmMX3ixzDx/BR4dxIOE/TdFpS/S2d7cFOFyrC78zhNLJA5wA3CXWvp\n4uXViI3WLL+rG761KIcSF3Ru/H38j9CHJrAb+7lsq+KePRXBOy5nAliRn+/4Qh8s\nt2j1da3Ptfb/EX3C8CSlrdP6oDyp+l3cpaDvRKS+1ujl5BOWF3sGPjLtx7dCvHaj\n2GU4Kzg1USEODm8uNBNA4StnDG1KQTAYI1oyVZnJF+A83vbsea0rWBmirSwiGpWO\nvpaQXUJXxPkUAzUrHC1RVwinOt4/5Mi0A3PCwSaAuwtCH60NryZy2sy+s6ODWA2C\nxR9GUeOcGMyNm43sSet1UNWMKFnKdDTajAshqx7qG+XH/RU+wBeq+yNuJkbL+vmx\ncmtpzyKEC2IPrNkZAJSidjzULZrtBJ4tBmIQN1IchXIbJ+XMxjHsN+xjWZsLHXbM\nfjKaiJUINlK73nZfdklJrX+9ZSCyycErdhh2n1ax\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFRjCCAy6gAwIBAgIQXd+x2lqj7V2+WmUgZQOQ7zANBgkqhkiG9w0BAQsFADA9\nMQswCQYDVQQGEwJDTjERMA8GA1UECgwIVW5pVHJ1c3QxGzAZBgNVBAMMElVDQSBH\nbG9iYWwgRzIgUm9vdDAeFw0xNjAzMTEwMDAwMDBaFw00MDEyMzEwMDAwMDBaMD0x\nCzAJBgNVBAYTAkNOMREwDwYDVQQKDAhVbmlUcnVzdDEbMBkGA1UEAwwSVUNBIEds\nb2JhbCBHMiBSb290MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxeYr\nb3zvJgUno4Ek2m/LAfmZmqkywiKHYUGRO8vDaBsGxUypK8FnFyIdK+35KYmToni9\nkmugow2ifsqTs6bRjDXVdfkX9s9FxeV67HeToI8jrg4aA3++1NDtLnurRiNb/yzm\nVHqUwCoV8MmNsHo7JOHXaOIxPAYzRrZUEaalLyJUKlgNAQLx+hVRZ2zA+te2G3/R\nVogvGjqNO7uCEeBHANBSh6v7hn4PJGtAnTRnvI3HLYZveT6OqTwXS3+wmeOwcWDc\nC/Vkw85DvG1xudLeJ1uK6NjGruFZfc8oLTW4lVYa8bJYS7cSN8h8s+1LgOGN+jIj\ntm+3SJUIsUROhYw6AlQgL9+/V087OpAh18EmNVQg7Mc/R+zvWr9LesGtOxdQXGLY\nD0tK3Cv6brxzks3sx1DoQZbXqX5t2Okdj4q1uViSukqSKwxW/YDrCPBeKW4bHAyv\nj5OJrdu9o54hyokZ7N+1wxrrFv54NkzWbtA+FxyQF2smuvt6L78RHBgOLXMDj6Dl\nNaBa4kx1HXHhOThTeEDMg5PXCp6dW4+K5OXgSORIskfNTip1KnvyIvbJvgmRlld6\niIis7nCs+dwp4wwcOxJORNanTrAmyPPZGpeRaOrvjUYG0lZFWJo8DA+DuAUlwznP\nO6Q0ibd5Ei9Hxeepl2n8pndntd978XplFeRhVmUCAwEAAaNCMEAwDgYDVR0PAQH/\nBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIHEjMz15DD/pQwIX4wV\nZyF0Ad/fMA0GCSqGSIb3DQEBCwUAA4ICAQATZSL1jiutROTL/7lo5sOASD0Ee/oj\nL3rtNtqyzm325p7lX1iPyzcyochltq44PTUbPrw7tgTQvPlJ9Zv3hcU2tsu8+Mg5\n1eRfB70VVJd0ysrtT7q6ZHafgbiERUlMjW+i67HM0cOU2kTC5uLqGOiiHycFutfl\n1qnN3e92mI0ADs0b+gO3joBYDic/UvuUospeZcnWhNq5NXHzJsBPd+aBJ9J3O5oU\nb3n09tDh05S60FdRvScFDcH9yBIw7m+NESsIndTUv4BFFJqIRNow6rSn4+7vW4LV\nPtateJLbXDzz2K36uGt/xDYotgIVilQsnLAXc47QN6MUPJiVAAwpBVueSUmxX8fj\ny88nZY41F7dXyDDZQVu5FLbowg+UMaeUmMxq67XhJ/UQqAHojhJi6IjMtX9Gl8Cb\nEGY4GjZGXyJoPd/JxhMnq1MGrKI8hgZlb7F+sSlEmqO6SWkoaY/X5V+tBIZkbxqg\nDMUIYs6Ao9Dz7GjevjPHF1t/gMRMTLGmhIrDO7gJzRSBuhjjVFc2/tsvfEehOjPI\n+Vg7RE+xygKJBJYoaMVLuCaJu9YzL1DV/pqJuhgyklTGW+Cd+V7lDSKb9triyCGy\nYiGqhkCyLmTTX8jjfhFnRR8F/uOi77Oos/N9j/gMHyIfLXC0uAE0djAA5SN4p1bX\nUB+K+wb1whnw0A==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICQDCCAcagAwIBAgIQdvhIHq7wPHAf4D8lVAGD1TAKBggqhkjOPQQDAzBRMQsw\nCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSgwJgYDVQQDDB9T\nU0wuY29tIENsaWVudCBFQ0MgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzAzMloX\nDTQ2MDgxOTE2MzAzMVowUTELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jw\nb3JhdGlvbjEoMCYGA1UEAwwfU1NMLmNvbSBDbGllbnQgRUNDIFJvb3QgQ0EgMjAy\nMjB2MBAGByqGSM49AgEGBSuBBAAiA2IABC1Tfp+LPrM2ulDizOvcuiaK04wGP2cP\n7/UX5dSumkYqQQEHaedncfHCAzbG8CtSjs8UkmikPnBREmmNeKKCyikUwOSUIrJE\nkmBvyASkZ9Wi0PPQ1+qOPA+60kBHkDTufaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAf\nBgNVHSMEGDAWgBS3/i1ixYFTzVIaL11goMNd+7IcHDAdBgNVHQ4EFgQUt/4tYsWB\nU81SGi9dYKDDXfuyHBwwDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2gAMGUC\nME0HES0R+7kmwyHdcuEX/MHPFOpJznGHjtZT3BHNXVSKr9kt9IxR6rxmR+J/lYNg\nZQIxAIwhTE+75bBQ35BiSebMkdv4P11xkQiOT5LJf6Zc6hN+7W3E6MMqb1wR4aXz\nalqaTQ==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFjzCCA3egAwIBAgIQdq/uiJMVRbZQU5uAnKTfmjANBgkqhkiG9w0BAQsFADBR\nMQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSgwJgYDVQQD\nDB9TU0wuY29tIENsaWVudCBSU0EgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzEw\nN1oXDTQ2MDgxOTE2MzEwNlowUTELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBD\nb3Jwb3JhdGlvbjEoMCYGA1UEAwwfU1NMLmNvbSBDbGllbnQgUlNBIFJvb3QgQ0Eg\nMjAyMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALhY20Yw+8k/48jw\nATM04tpIqBjpIG6a1wHh1SmPMLQjauTLYrC+4p8gvT5UoDlox4Y3ZnQGBu90K9rc\nn4SpUi+Q0u5+fPulIq1vcEZnlj0p1KO7VnsUBFnBIWNEHrIfElyQh2UNiPYeiCLi\nY1S78zb41n/c2v8pNanGbg5pWz/YvoKHFXBdsMdcEg9jpjjNz3O5ww6JJjcbP2Ic\nMmnRm9n/VZAx3rFj3c/FdHf874ghU78AMRomLAAwpV9s4+T2AIrKmIecdAN6i2bs\nfv2jjzUlXHils6T7PW2pivBsiIKL/UrQb+TXo7SONEk4vs5F5dIcyl7CNxSLzWZW\nMzed5WvsQ5JkoELadW/AFez5ab00uYp7+hb7Vf5SIOgEBFZWZfU3RJjIikbpt6y4\n6L5ijlQ2W/c7cL9d7i26X95CGYbwf4vrCMvYvuoOQkKgNnNXF+0y6tCN6Acbm5no\nxJpiBA5I9zwSuvdYwZqM6cewIzZWNB3LbNq6B4Qd/dGsn+bCie/DuWwYs2mHV1+1\nDDhbpyEkKjunNJGetFTqKE/TwaOL5OYr1fKdv5thACLd1ktEHz9dVv7enHjMmVuq\n5L2620NLrUwmTKNNNIpsdDYT22L8m7IFgf+uPwzN9hui9DnnyvVMXPtUdzWAWsAS\noRMBM2c9nYGhqfWFJFiIeOf042hVAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8w\nHwYDVR0jBBgwFoAU8DhClDSpPAB/Uu45pfdLDbxqfSMwHQYDVR0OBBYEFPA4QpQ0\nqTwAf1LuOaX3Sw28an0jMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOC\nAgEAmU/b8OrWEfoq/cirbeQOc2LSQp8V/nxwUj9kh4IxP0VALuEinwZmKfyW0y2N\ntjjH2fMnwVkpoIz2cyQPKCLXTmHdE93bnzJSk/tPzOo4PJhqA6sWryHRQq59RSvq\nxM+KWZ+CcHY6+GImyRCXWEAkpC25LymAJ+GJa3LKSQhxN1MF8YDO00IC0vzC0ZQG\n7gfi9oPif5/nu1bDW7/dlZMJHiTBzybNraSuwrRp56q17TeU6d3RY4VrmnpKVnbc\nGYUo1OTGpNi4lkF30LRZ8UYFh4cCH2m5ghjQQ9km2hpnqNZ1durybQ5C/4gmom6E\n/n5iG/DGPe3AHGrHkda4ADdJm7mEBaHNbjHWROpTi7pTmB2hkIrphfgb8pNYw8jc\nmiZPPiDPT0PzEIx/EGF6NsqqC33Mn0dEWa6llcaZU+MHaz1JELAY/10OhUMUS+dr\n00q1smBh3GlJAiNd6JJxw5yfRWd5HtwyhrqqVTxkbzK1EEAV3nJAeOBucLtu6wno\nOdmsupJ13UPKugGVrRqBKzrw48UvDBhNEMauwO3+BVJ/GQXLqa81CAw4IuT+VuVT\nPr/k1rPZCMM91TMygSTFqeFlEbgyMzBxGEkdGkXGmhSKWDkobvPLUblJJmR4A8eR\nEYOpuZA0tm+qBZ6FKFeZvn8nBkliTaH8CeErRglMFJtWj0U=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIClDCCAhqgAwIBAgIILCmcWxbtBZUwCgYIKoZIzj0EAwIwfzELMAkGA1UEBhMC\nVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T\nU0wgQ29ycG9yYXRpb24xNDAyBgNVBAMMK1NTTC5jb20gRVYgUm9vdCBDZXJ0aWZp\nY2F0aW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNTIzWhcNNDEwMjEyMTgx\nNTIzWjB/MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv\ndXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjE0MDIGA1UEAwwrU1NMLmNv\nbSBFViBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49\nAgEGBSuBBAAiA2IABKoSR5CYG/vvw0AHgyBO8TCCogbR8pKGYfL2IWjKAMTH6kMA\nVIbc/R/fALhBYlzccBYy3h+Z1MzFB8gIH2EWB1E9fVwHU+M1OIzfzZ/ZLg1Kthku\nWnBaBu2+8KGwytAJKaNjMGEwHQYDVR0OBBYEFFvKXuXe0oGqzagtZFG22XKbl+ZP\nMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUW8pe5d7SgarNqC1kUbbZcpuX\n5k8wDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2gAMGUCMQCK5kCJN+vp1RPZ\nytRrJPOwPYdGWBrssd9v+1a6cGvHOMzosYxPD/fxZ3YOg9AeUY8CMD32IygmTMZg\nh5Mmm7I1HrrW9zzRHM76JTymGoEVW/MSD2zuZYrJh6j5B+BimoxcSg==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIF6zCCA9OgAwIBAgIIVrYpzTS8ePYwDQYJKoZIhvcNAQELBQAwgYIxCzAJBgNV\nBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4GA1UEBwwHSG91c3RvbjEYMBYGA1UE\nCgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQDDC5TU0wuY29tIEVWIFJvb3QgQ2Vy\ndGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIyMB4XDTE3MDUzMTE4MTQzN1oXDTQy\nMDUzMDE4MTQzN1owgYIxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G\nA1UEBwwHSG91c3RvbjEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMTcwNQYDVQQD\nDC5TU0wuY29tIEVWIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgUlNBIFIy\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAjzZlQOHWTcDXtOlG2mvq\nM0fNTPl9fb69LT3w23jhhqXZuglXaO1XPqDQCEGD5yhBJB/jchXQARr7XnAjssuf\nOePPxU7Gkm0mxnu7s9onnQqG6YE3Bf7wcXHswxzpY6IXFJ3vG2fThVUCAtZJycxa\n4bH3bzKfydQ7iEGonL3Lq9ttewkfokxykNorCPzPPFTOZw+oz12WGQvE43LrrdF9\nHSfvkusQv1vrO6/PgN3B0pYEW3p+pKk8OHakYo6gOV7qd89dAFmPZiw+B6KjBSYR\naZfqhbcPlgtLyEDhULouisv3D5oi53+aNxPN8k0TayHRwMwi8qFG9kRpnMphNQcA\nb9ZhCBHqurj26bNg5U257J8UZslXWNvNh2n4ioYSA0e/ZhN2rHd9NCSFg83XqpyQ\nGp8hLH94t2S42Oim9HizVcuE0jLEeK6jj2HdzghTreyI/BXkmg3mnxp3zkyPuBQV\nPWKchjgGAGYS5Fl2WlPAApiiECtoRHuOec4zSnaqW4EWG7WK2NAAe15itAnWhmMO\npgWVSbooi4iTsjQc2KRVbrcc0N6ZVTsj9CLg+SlmJuwgUHfbSguPvuUCYHBBXtSu\nUDkiFCbLsjtzdFVHB3mBOagwE0TlBIqulhMlQg+5U8Sb/M3kHN48+qvWBkofZ6aY\nMBzdLNvcGJVXZsb/XItW9XcCAwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNV\nHSMEGDAWgBT5YLvU49U09rj1BoAlp3PbRmmonjAdBgNVHQ4EFgQU+WC71OPVNPa4\n9QaAJadz20ZpqJ4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3DQEBCwUAA4ICAQBW\ns47LCp1Jjr+kxJG7ZhcFUZh1++VQLHqe8RT6q9OKPv+RKY9ji9i0qVQBDb6Thi/5\nSm3HXvVX+cpVHBK+Rw82xd9qt9t1wkclf7nxY/hoLVUE0fKNsKTPvDxeH3jnpaAg\ncLAExbf3cqfeIg29MyVGjGSSJuM+LmOW2puMPfgYCdcDzH2GguDKBAdRUNf/ktUM\n79qGn5nX67evaOI5JpS6aLe/g9Pqemc9YmeuJeVy6OLk7K4S9ksrPJ/psEDzOFSz\n/bdoyNrGj1E8svuR3Bznm53htw1yj+KkxKl4+esUrMZDBcJlOSgYAsOCsp0FvmXt\nll9ldDz7CTUue5wT/RsPXcdtgTpWD8w74a8CLyKsRspGPKAcTNZEtF4uXBVmCeEm\nKf7GUmG6sXP/wwyc5WxqlD8UykAWlYTzWamsX0xhk23RO8yilQwipmdnRC652dKK\nQbNmC1r7fSOl8hqw/96bg5Qu0T/fkreRrwU7ZcegbLHNYhLDkBvjJc40vG93drEQ\nw/cFGsDWr3RiSBd3kmmQYRzelYB0VI8YHMPzA9C/pEN1hlMYegouCRw2n5H9gooi\nS9EOUCXdywMMF8mDAAhONU2Ki+3wApRmLER/y5UnlhetCTCstnEXbosX9hwJ1C07\nmKVx01QT2WDz9UtmT/rx7iASjbSsV7FFY6GsdqnC+w==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICjTCCAhSgAwIBAgIIdebfy8FoW6gwCgYIKoZIzj0EAwIwfDELMAkGA1UEBhMC\nVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQKDA9T\nU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZpY2F0\naW9uIEF1dGhvcml0eSBFQ0MwHhcNMTYwMjEyMTgxNDAzWhcNNDEwMjEyMTgxNDAz\nWjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hvdXN0\nb24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNvbSBS\nb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IEVDQzB2MBAGByqGSM49AgEGBSuB\nBAAiA2IABEVuqVDEpiM2nl8ojRfLliJkP9x6jh3MCLOicSS6jkm5BBtHllirLZXI\n7Z4INcgn64mMU1jrYor+8FsPazFSY0E7ic3s7LaNGdM0B9y7xgZ/wkWV7Mt/qCPg\nCemB+vNH06NjMGEwHQYDVR0OBBYEFILRhXMw5zUE044CkvvlpNHEIejNMA8GA1Ud\nEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUgtGFczDnNQTTjgKS++Wk0cQh6M0wDgYD\nVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMCA2cAMGQCMG/n61kRpGDPYbCWe+0F+S8T\nkdzt5fxQaxFGRrMcIQBiu77D5+jNB5n5DQtdcj7EqgIwH7y6C+IwJPt8bYBVCpk+\ngA0z5Wajs6O7pdWLjwkspl1+4vAHCGht0nxpbl/f5Wpl\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIF3TCCA8WgAwIBAgIIeyyb0xaAMpkwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UE\nBhMCVVMxDjAMBgNVBAgMBVRleGFzMRAwDgYDVQQHDAdIb3VzdG9uMRgwFgYDVQQK\nDA9TU0wgQ29ycG9yYXRpb24xMTAvBgNVBAMMKFNTTC5jb20gUm9vdCBDZXJ0aWZp\nY2F0aW9uIEF1dGhvcml0eSBSU0EwHhcNMTYwMjEyMTczOTM5WhcNNDEwMjEyMTcz\nOTM5WjB8MQswCQYDVQQGEwJVUzEOMAwGA1UECAwFVGV4YXMxEDAOBgNVBAcMB0hv\ndXN0b24xGDAWBgNVBAoMD1NTTCBDb3Jwb3JhdGlvbjExMC8GA1UEAwwoU1NMLmNv\nbSBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IFJTQTCCAiIwDQYJKoZIhvcN\nAQEBBQADggIPADCCAgoCggIBAPkP3aMrfcvQKv7sZ4Wm5y4bunfh4/WvpOz6Sl2R\nxFdHaxh3a3by/ZPkPQ/CFp4LZsNWlJ4Xg4XOVu/yFv0AYvUiCVToZRdOQbngT0aX\nqhvIuG5iXmmxX9sqAn78bMrzQdjt0Oj8P2FI7bADFB0QDksZ4LtO7IZl/zbzXmcC\nC52GVWH9ejjt/uIZALdvoVBidXQ8oPrIJZK0bnoix/geoeOy3ZExqysdBP+lSgQ3\n6YWkMyv94tZVNHwZpEpox7Ko07fKoZOI68GXvIz5HdkihCR0xwQ9aqkpk8zruFvh\n/l8lqjRYyMEjVJ0bmBHDOJx+PYZspQ9AhnwC9FwCTyjLrnGfDzrIM/4RJTXq/LrF\nYD3ZfBjVsqnTdXgDciLKOsMf7yzlLqn6niy2UUb9rwPW6mBo6oUWNmuF6R7As93E\nJNyAKoFBbZQ+yODJgUEAnl6/f8UImKIYLEJAs/lvOCdLToD0PYFH4Ih86hzOtXVc\nUS4cK38acijnALXRdMbX5J+tB5O2UzU1/Dfkw/ZdFr4hc96SCvigY2q8lpJqPvi8\nZVWb3vUNiSYE/CUapiVpy8JtynziWV+XrOvvLsi81xtZPCvM8hnIk2snYxnP/Okm\n+Mpxm3+T/jRnhE6Z6/yzeAkzcLpmpnbtG3PrGqUNxCITIJRWCk4sbE6x/c+cCbqi\nM+2HAgMBAAGjYzBhMB0GA1UdDgQWBBTdBAkHovV6fVJTEpKV7jiAJQ2mWTAPBgNV\nHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFN0ECQei9Xp9UlMSkpXuOIAlDaZZMA4G\nA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAIBgRlCn7Jp0cHh5wYfGV\ncpNxJK1ok1iOMq8bs3AD/CUrdIWQPXhq9LmLpZc7tRiRux6n+UBbkflVma8eEdBc\nHadm47GUBwwyOabqG7B52B2ccETjit3E+ZUfijhDPwGFpUenPUayvOUiaPd7nNgs\nPgohyC0zrL/FgZkxdMF1ccW+sfAjRfSda/wZY52jvATGGAslu1OJD7OAUN5F7kR/\nq5R4ZJjT9ijdh9hwZXT7DrkT66cPYakylszeu+1jTBi7qUD3oFRuIIhxdRjqerQ0\ncuAjJ3dctpDqhiVAq+8zD8ufgr6iIPv2tS0a5sKFsXQP+8hlAqRSAUfdSSLBv9jr\na6x+3uxjMxW3IwiPxg+NQVrdjsW5j+VFP3jbutIbQLH+cU0/4IGiul607BXgk90I\nH37hVZkLId6Tngr75qNJvTYw/ud3sqB1l7UtgYgXZSD32pAAn8lSzDLKNXz1PQ/Y\nK9f1JmzJBjSWFupwWRoyeXkLtoh/D1JIPb9s2KJELtFOt3JY04kTlf5Eq/jXixtu\nnLwsoFvVagCvXzfh1foQC5ichucmj87w7G6KVwuA406ywKBjYZC6VWg3dGq2ktuf\noYYitmUnDuy2n0Jg5GfCtdpBC8TTi2EbvPofkSvXRAdeuims2cXp71NIWuuA8ShY\nIc2wBlX7Jz9TkHCpBB5XJ7k=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICOjCCAcCgAwIBAgIQFAP1q/s3ixdAW+JDsqXRxDAKBggqhkjOPQQDAzBOMQsw\nCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQDDBxT\nU0wuY29tIFRMUyBFQ0MgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzM0OFoXDTQ2\nMDgxOTE2MzM0N1owTjELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jwb3Jh\ndGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgRUNDIFJvb3QgQ0EgMjAyMjB2MBAG\nByqGSM49AgEGBSuBBAAiA2IABEUpNXP6wrgjzhR9qLFNoFs27iosU8NgCTWyJGYm\nacCzldZdkkAZDsalE3D07xJRKF3nzL35PIXBz5SQySvOkkJYWWf9lCcQZIxPBLFN\nSeR7T5v15wj4A4j3p8OSSxlUgaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSME\nGDAWgBSJjy+j6CugFFR781a4Jl9nOAuc0DAdBgNVHQ4EFgQUiY8vo+groBRUe/NW\nuCZfZzgLnNAwDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2gAMGUCMFXjIlbp\n15IkWE8elDIPDAI2wv2sdDJO4fscgIijzPvX6yv/N33w7deedWo1dlJF4AIxAMeN\nb0Igj762TVntd00pxCAgRWSGOlDGxK0tk/UYfXLtqc/ErFc2KAhl3zx5Zn6g6g==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFiTCCA3GgAwIBAgIQb77arXO9CEDii02+1PdbkTANBgkqhkiG9w0BAQsFADBO\nMQswCQYDVQQGEwJVUzEYMBYGA1UECgwPU1NMIENvcnBvcmF0aW9uMSUwIwYDVQQD\nDBxTU0wuY29tIFRMUyBSU0EgUm9vdCBDQSAyMDIyMB4XDTIyMDgyNTE2MzQyMloX\nDTQ2MDgxOTE2MzQyMVowTjELMAkGA1UEBhMCVVMxGDAWBgNVBAoMD1NTTCBDb3Jw\nb3JhdGlvbjElMCMGA1UEAwwcU1NMLmNvbSBUTFMgUlNBIFJvb3QgQ0EgMjAyMjCC\nAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANCkCXJPQIgSYT41I57u9nTP\nL3tYPc48DRAokC+X94xI2KDYJbFMsBFMF3NQ0CJKY7uB0ylu1bUJPiYYf7ISf5OY\nt6/wNr/y7hienDtSxUcZXXTzZGbVXcdotL8bHAajvI9AI7YexoS9UcQbOcGV0ins\nS657Lb85/bRi3pZ7QcacoOAGcvvwB5cJOYF0r/c0WRFXCsJbwST0MXMwgsadugL3\nPnxEX4MN8/HdIGkWCVDi1FW24IBydm5MR7d1VVm0U3TZlMZBrViKMWYPHqIbKUBO\nL9975hYsLfy/7PO0+r4Y9ptJ1O4Fbtk085zx7AGL0SDGD6C1vBdOSHtRwvzpXGk3\nR2azaPgVKPC506QVzFpPulJwoxJF3ca6TvvC0PeoUidtbnm1jPx7jMEWTO6Af77w\ndr5BUxIzrlo4QqvXDz5BjXYHMtWrifZOZ9mxQnUjbvPNQrL8VfVThxc7wDNY8VLS\n+YCk8OjwO4s4zKTGkH8PnP2L0aPP2oOnaclQNtVcBdIKQXTbYxE3waWglksejBYS\nd66UNHsef8JmAOSqg+qKkK3ONkRN0VHpvB/zagX9wHQfJRlAUW7qglFA35u5CCoG\nAtUjHBPW6dvbxrB6y3snm/vg1UYk7RBLY0ulBY+6uB0rpvqR4pJSvezrZ5dtmi2f\ngTIFZzL7SAg/2SW4BCUvAgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0j\nBBgwFoAU+y437uOEeicuzRk1sTN8/9REQrkwHQYDVR0OBBYEFPsuN+7jhHonLs0Z\nNbEzfP/UREK5MA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsFAAOCAgEAjYlt\nhEUY8U+zoO9opMAdrDC8Z2awms22qyIZZtM7QbUQnRC6cm4pJCAcAZli05bg4vsM\nQtfhWsSWTVTNj8pDU/0quOr4ZcoBwq1gaAafORpR2eCNJvkLTqVTJXojpBzOCBvf\nR4iyrT7gJ4eLSYwfqUdYe5byiB0YrrPRpgqU+tvT5TgKa3kSM/tKWTcWQA673vWJ\nDPFs0/dRa1419dvAJuoSc06pkZCmF8NsLzjUo3KUQyxi4U5cMj29TH0ZR6LDSeeW\nP4+a0zvkEdiLA9z2tmBVGKaBUfPhqBVq6+AL8BQx1rmMRTqoENjwuSfr98t67wVy\nlrXEj5ZzxOhWc5y8aVFjvO9nHEMaX3cZHxj4HCUp+UmZKbaSPaKDN7EgkaibMOlq\nbLQjk2UEqxHzDh1TJElTHaE/nUiSEeJ9DU/1172iWD54nR4fK/4huxoTtrEoZP2w\nAgDHbICivRZQIA9ygV/MlP+7mea6kMvq+cYMwq7FGc4zoWtcu358NFcXrfA/rs3q\nr5nsLFR+jM4uElZI7xc7P0peYNLcdDa8pUNjyw9bowJWCZ4kLOGGgYz+qxcs+sji\nMho6/4UIyYOf8kpIEFR3N+2ivEC+5BB09+Rbu7nzifmPQdjH5FCQNYA+HLhNkNPU\n98OwoX6EyneSMSy4kLGCenROmxMmtNVQZlR4rmA=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFujCCA6KgAwIBAgIJALtAHEP1Xk+wMA0GCSqGSIb3DQEBBQUAMEUxCzAJBgNV\nBAYTAkNIMRUwEwYDVQQKEwxTd2lzc1NpZ24gQUcxHzAdBgNVBAMTFlN3aXNzU2ln\nbiBHb2xkIENBIC0gRzIwHhcNMDYxMDI1MDgzMDM1WhcNMzYxMDI1MDgzMDM1WjBF\nMQswCQYDVQQGEwJDSDEVMBMGA1UEChMMU3dpc3NTaWduIEFHMR8wHQYDVQQDExZT\nd2lzc1NpZ24gR29sZCBDQSAtIEcyMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC\nCgKCAgEAr+TufoskDhJuqVAtFkQ7kpJcyrhdhJJCEyq8ZVeCQD5XJM1QiyUqt2/8\n76LQwB8CJEoTlo8jE+YoWACjR8cGp4QjK7u9lit/VcyLwVcfDmJlD909Vopz2q5+\nbbqBHH5CjCA12UNNhPqE21Is8w4ndwtrvxEvcnifLtg+5hg3Wipy+dpikJKVyh+c\n6bM8K8vzARO/Ws/BtQpgvd21mWRTuKCWs2/iJneRjOBiEAKfNA+k1ZIzUd6+jbqE\nemA8atufK+ze3gE/bk3lUIbLtK/tREDFylqM2tIrfKjuvqblCqoOpd8FUrdVxyJd\nMmqXl2MT28nbeTZ7hTpKxVKJ+STnnXepgv9VHKVxaSvRAiTysybUa9oEVeXBCsdt\nMDeQKuSeFDNeFhdVxVu1yzSJkvGdJo+hB9TGsnhQ2wwMC3wLjEHXuendjIj3o02y\nMszYF9rNt85mndT9Xv+9lz4pded+p2JYryU0pUHHPbwNUMoDAw8IWh+Vc3hiv69y\nFGkOpeUDDniOJihC8AcLYiAQZzlG+qkDzAQ4embvIIO1jEpWjpEA/I5cgt6IoMPi\naG59je883WX0XaxR7ySArqpWl2/5rX3aYT+YdzylkbYcjCbaZaIJbcHiVOO5ykxM\ngI93e2CaHt+28kgeDrpOVG2Y4OGiGqJ3UM/EY5LsRxmd6+ZrzsECAwEAAaOBrDCB\nqTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUWyV7\nlqRlUX64OfPAeGZe6Drn8O4wHwYDVR0jBBgwFoAUWyV7lqRlUX64OfPAeGZe6Drn\n8O4wRgYDVR0gBD8wPTA7BglghXQBWQECAQEwLjAsBggrBgEFBQcCARYgaHR0cDov\nL3JlcG9zaXRvcnkuc3dpc3NzaWduLmNvbS8wDQYJKoZIhvcNAQEFBQADggIBACe6\n45R88a7A3hfm5djV9VSwg/S7zV4Fe0+fdWavPOhWfvxyeDgD2StiGwC5+OlgzczO\nUYrHUDFu4Up+GC9pWbY9ZIEr44OE5iKHjn3g7gKZYbge9LgriBIWhMIxkziWMaa5\nO1M/wySTVltpkuzFwbs4AOPsF6m43Md8AYOfMke6UiI0HTJ6CVanfCU2qT1L2sCC\nbwq7EsiHSycR+R4tx5M/nttfJmtS2S6K8RTGRI0Vqbe/vd6mGu6uLftIdxf+u+yv\nGPUqUfA5hJeVbG4bwyvEdGB5JbAKJ9/fXtI5z0V9QkvfsywexcZdylU6oJxpmo/a\n77KwPJ+HbBIrZXAVUjEaJM9vMSNQH4xPjyPDdEFjHFWoFN0+4FFQz/EbMFYOkrCC\nhdiDyyJkvC24JdVUorgG6q2SpCSgwYa1ShNqR88uC1aVVMvOmttqtKay20EIhid3\n92qgQmwLOM7XdVAyksLfKzAiSNDVQTglXaTpXZ/GlHXQRf0wl0OPkKsKx4ZzYEpp\nLd6leNcG2mqeSz53OiATIgHQv2ieY2BrNU0LbbqhPcCT4H8js1WtciVORvnSFu+w\nZMEBnunKoGqYDs/YYPIvSbjkQuE4NRb0yG5P94FW6LqjviOvrv1vA+ACOzB2+htt\nQc8Bsem4yWb02ybzOqR08kkkW8mw0FfB+j564ZfJ\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFlzCCA3+gAwIBAgIURg7UAXGQoBqDLEpCECgV0mEbrTIwDQYJKoZIhvcNAQEL\nBQAwUzELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzEtMCsGA1UE\nAxMkU3dpc3NTaWduIFJTQSBTTUlNRSBSb290IENBIDIwMjIgLSAxMB4XDTIyMDYw\nODEwNTMxM1oXDTQ3MDYwODEwNTMxM1owUzELMAkGA1UEBhMCQ0gxFTATBgNVBAoT\nDFN3aXNzU2lnbiBBRzEtMCsGA1UEAxMkU3dpc3NTaWduIFJTQSBTTUlNRSBSb290\nIENBIDIwMjIgLSAxMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1Pv6\nP4aimXAJOsnWoU4Bzka1LSRIDUXprMka1zKApObTytbyKTfsmizWgc7mG52xD0Hf\nWNNfqqB5WQuMrfnF+Rz7w+k1QHTDwQzLZ/ucXgwj+dAv+kyCRRy19R/4GW7ak7dO\naIN+Yi0djJUfcNnOWowhXai+CKlWbdn3uZCZxzvXvZ4uyWdXLiHO8DKD+wQB+beC\nRA2yy3oJoUg+T8ALahsb7M8dnn8GkKwoBQuo5lQ7oqcsOROZqPs06/XwvQHYiBHI\nrroZAkkC3IostL1hYOydeFxqiy8Xhl7yT5MAa13FsqmlGOrmbX5XBfsH/Lx8oUOx\nZhyoZ/urN/aqqrh6Qfc51YyfrnI2J+RixkOZ8aFB6f+Jnw9Jr8kUBhcnZDkNpbQq\nW+w8+5/FX8Y7XSYZ8oQpuJVECVL9bDDQYo8opYGWK5QvJnXkCYwK3zjzfl04joKa\njNyers4SQjoi8jWNT9IayEkzC/o2P/8sa2ogcUzNrRA/aTKEjlzuU4hE4t3MAzCS\nhnmQKkt1+1JixPRvTffbI6EY3UVTF5pjJEiJIs1+mwEcgCgDj1sr+h/jfBm95o+x\nQHag8sc3sjKUEDLNpxOX8TssejQie3Q6QOKvgvjBwXj8X+Q1f8D0TPBMsuqHA3Il\nWYMqCKRR3s/uqOfoQD+I8DarCU7YoKh/8+EJ27kCAwEAAaNjMGEwDwYDVR0TAQH/\nBAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHwYDVR0jBBgwFoAUzC6tiYyD40CjJWml\n6pJ90jc6x8YwHQYDVR0OBBYEFMwurYmMg+NAoyVppeqSfdI3OsfGMA0GCSqGSIb3\nDQEBCwUAA4ICAQAAB2YWpe3Hub+8yJGtWO1eEgWz9kabe+SEEC8HsVpeMm5tAPBe\nx5piOYdN5Dzzvva6alNshG0H1GHKZ2a+mz5FMJ1R0tdaQq6dkg4jq9AVlD6omsqb\n7cHCXyGjmYD8uaZhDlCAgCfH6H2g1JR6mAPn7kKL81JQXO++sHZaHAmhv4PAHnZl\n0CVBW2mRk3f5jEvwLNubBgAXg/palLSGie+8CgsS+AZN0nPikThduWpLT6ev2iYl\nkiMafB8nDZGE7xdy9kbrazs3qdTVmmO6XnmMKrWbojS1zJYn+XkIPH9t4P983MUm\nr8OhemkW3Yc1c8ZrMWtWAS1PmdnuyuHQg962hecW+NGuM0j7Gs9dX4qEYXQHbxmw\nUSGyoQSxe1OP76JFrR+Y3flqBGyqNsWvjOopSUrn/1ezxjwRSRgX5maF4egj8osO\nPJPEP3ZOfmKiKcsWMN4saa+Rp+JX5TNMv9iOB6J/oTVGaUqoICn/694glVmxrk0w\na9iatAMfwjjkINUO1howTGicjODtoQ+OQl3rgCoSeaYXF7SVKo40kae90ayoGkMh\ni97v4KxGJWUKxiuhmz4i6Bg4tSb2LMoIIN4w0a1U/dxIFZ/Np0HXNziFME8SiEM0\ng9cqTdQAV1zlyvDd4ZIoKxh1vUekQhPpVlqNSl7ODnU1gHMZDywpi7uVuA==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFkzCCA3ugAwIBAgIUQ/oMX04bgBhE79G0TzUfRPSA7cswDQYJKoZIhvcNAQEL\nBQAwUTELMAkGA1UEBhMCQ0gxFTATBgNVBAoTDFN3aXNzU2lnbiBBRzErMCkGA1UE\nAxMiU3dpc3NTaWduIFJTQSBUTFMgUm9vdCBDQSAyMDIyIC0gMTAeFw0yMjA2MDgx\nMTA4MjJaFw00NzA2MDgxMTA4MjJaMFExCzAJBgNVBAYTAkNIMRUwEwYDVQQKEwxT\nd2lzc1NpZ24gQUcxKzApBgNVBAMTIlN3aXNzU2lnbiBSU0EgVExTIFJvb3QgQ0Eg\nMjAyMiAtIDEwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDLKmjiC8NX\nvDVjvHClO/OMPE5Xlm7DTjak9gLKHqquuN6orx122ro10JFwB9+zBvKK8i5VUXu7\nLCTLf5ImgKO0lPaCoaTo+nUdWfMHamFk4saMla+ju45vVs9xzF6BYQ1t8qsCLqSX\n5XH8irCRIFucdFJtrhUnWXjyCcplDn/L9Ovn3KlMd/YrFgSVrpxxpT8q2kFC5zyE\nEPThPYxr4iuRR1VPuFa+Rd4iUU1OKNlfGUEGjw5NBuBwQCMBauTLE5tzrE0USJIt\n/m2n+IdreXXhvhCxqohAWVTXz8TQm0SzOGlkjIHRI36qOTw7D59Ke4LKa2/KIj4x\n0LDQKhySio/YGZxH5D4MucLNvkEM+KRHBdvBFzA4OmnczcNpI/2aDwLOEGrOyvi5\nKaM2iYauC8BPY7kGWUleDsFpswrzd34unYyzJ5jSmY0lpx+Gs6ZUcDj8fV3oT4MM\n0ZPlEuRU2j7yrTrePjxF8CgPBrnh25d7mUWe3f6VWQQvdT/TromZhqwUtKiE+shd\nOxtYk8EXlFXIC+OCeYSf8wCENO7cMdWP8vpPlkwGqnj73mSiI80fPsWMvDdUDrta\nclXvyFu1cvh43zcgTFeRc5JzrBh3Q4IgaezprClG5QtO+DdziZaKHG29777YtvTK\nwP1H8K4LWCDFyB02rpeNUIMmJCn3nTsPBQIDAQABo2MwYTAPBgNVHRMBAf8EBTAD\nAQH/MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBRvjmKLk0Ow4UD2p8P98Q+4\nDxU4pTAdBgNVHQ4EFgQUb45ii5NDsOFA9qfD/fEPuA8VOKUwDQYJKoZIhvcNAQEL\nBQADggIBAKwsKUF9+lz1GpUYvyypiqkkVHX1uECry6gkUSsYP2OprphWKwVDIqO3\n10aewCoSPY6WlkDfDDOLazeROpW7OSltwAJsipQLBwJNGD77+3v1dj2b9l4wBlgz\nHqp41eZUBDqyggmNzhYzWUUo8aWjlw5DI/0LIICQ/+Mmz7hkkeUFjxOgdg3XNwwQ\niJb0Pr6VvfHDffCjw3lHC1ySFWPtUnWK50Zpy1FVCypM9fJkT6lc/2cyjlUtMoIc\ngC9qkfjLvH4YoiaoLqNTKIftV+Vlek4ASltOU8liNr3CjlvrzG4ngRhZi0Rjn9UM\nZfQpZX+RLOV/fuiJz48gy20HQhFRJjKKLjpHE7iNvUcNCfAWpO2Whi4Z2L6MOuhF\nLhG6rlrnub+xzI/goP+4s9GFe3lmozm1O2bYQL7Pt2eLSMkZJVX8vY3PXtpOpvJp\nzv1/THfQwUY1mFwjmwJFQ5Ra3bxHrSL+ul4vkSkphnsh3m5kt8sNjzdbowhq6/Td\nAo9QAwKxuDdollDruF/UKIqlIgyKhPBZLtU30WHlQnNYKoH3dtvi4k0NX/a3vgW0\nrk4N3hY9A4GzJl5LuEsAz/+MF7psYC0nhzck5npgL7XTgwSqT0N1osGDsieYK7EO\ngLrAhV5Cud+xYJHT6xh+cHiudoO+cVrQkOPKwRYlZ0rwtnu64ZzZ\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFjTCCA3WgAwIBAgIQQAE0jMIAAAAAAAAAATzyxjANBgkqhkiG9w0BAQwFADBQ\nMQswCQYDVQQGEwJUVzESMBAGA1UEChMJVEFJV0FOLUNBMRAwDgYDVQQLEwdSb290\nIENBMRswGQYDVQQDExJUV0NBIENZQkVSIFJvb3QgQ0EwHhcNMjIxMTIyMDY1NDI5\nWhcNNDcxMTIyMTU1OTU5WjBQMQswCQYDVQQGEwJUVzESMBAGA1UEChMJVEFJV0FO\nLUNBMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJUV0NBIENZQkVSIFJvb3Qg\nQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDG+Moe2Qkgfh1sTs6P\n40czRJzHyWmqOlt47nDSkvgEs1JSHWdyKKHfi12VCv7qze33Kc7wb3+szT3vsxxF\navcokPFhV8UMxKNQXd7UtcsZyoC5dc4pztKFIuwCY8xEMCDa6pFbVuYdHNWdZsc/\n34bKS1PE2Y2yHer43CdTo0fhYcx9tbD47nORxc5zb87uEB8aBs/pJ2DFTxnk684i\nJkXXYJndzk834H/nY62wuFm40AZoNWDTNq5xQwTxaWV4fPMf88oon1oglWa0zbfu\nj3ikRRjpJi+NmykosaS3Om251Bw4ckVYsV7r8Cibt4LK/c/WMw+f+5eesRycnupf\nXtuq3VTpMCEobY5583WSjCb+3MX2w7DfRFlDo7YDKPYIMKoNM+HvnKkHIuNZW0CP\n2oi3aQiotyMuRAlZN1vH4xfyIutuOVLF3lSnmMlLIJXcRolftBL5hSmO68gnFSDA\nS9TMfAxsNAwmmyYxpjyn9tnQS6Jk/zuZQXLB4HCX8SS7K8R0IrGsayIyJNN4KsDA\noS/xUgXJP+92ZuJF2A09rZXIx4kmyA+upwMu+8Ff+iDhcK2wZSA3M2Cw1a/XDBzC\nkHDXShi8fgGwsOsVHkQGzaRP6AzRwyAQ4VRlnrZR0Bp2a0JaWHY06rc3Ga4udfmW\n5cFZ95RXKSWNOkyrTZpB0F8mAwIDAQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYD\nVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBSdhWEUfMFib5do5E83QOGt4A1WNzAd\nBgNVHQ4EFgQUnYVhFHzBYm+XaORPN0DhreANVjcwDQYJKoZIhvcNAQEMBQADggIB\nAGSPesRiDrWIzLjHhg6hShbNcAu3p4ULs3a2D6f/CIsLJc+o1IN1KriWiLb73y0t\ntGlTITVX1olNc79pj3CjYcya2x6a4CD4bLubIp1dhDGaLIrdaqHXKGnK/nZVekZn\n68xDiBaiA9a5F/gZbG0jAn/xX9AKKSM70aoK7akXJlQKTcKlTfjF/biBzysseKNn\nTKkHmvPfXvt89YnNdJdhEGoHK4Fa0o635yDRIG4kqIQnoVesqlVYL9zZyvpoBJ7t\nRCT5dEA7IzOrg1oYJkK2bVS1FmAwbLGg+LhBoF1JSdJlBTrq/p1hvIbZv97Tujqx\nf36SNI7JAG7cmL3c7IAFrQI932XtCwP39xaEBDG6k5TY8hL4iuO/Qq+n1M0RFxbI\nQh0UqEL20kCGoE8jypZFVmAGzbdVAaYBlGX+bgUJurSkquLvWL69J1bY73NxW0Qz\n8ppy6rBePm6pUlvscG21h483XjyMnM7k8M4MZ0HMzvaAq07MTFb1wWFZk7Q+ptq4\nNxKfKjLji7gh7MMrZQzvIt6IKTtM1/r+t+FHvpw+PoP7UV31aPcuIYXcv/Fa4nzX\nxeSDwWrruoBa3lwtcHb4yOWHh8qgnaHlIhInD0Q9HWzq1MKLL295q39QpsQZp6F6\nt5b5wR9iWqJDB0BeJsas7a5wFsWqynKKTbDPAYsDP27X\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFQTCCAymgAwIBAgICDL4wDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCVFcx\nEjAQBgNVBAoTCVRBSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEcMBoGA1UEAxMT\nVFdDQSBHbG9iYWwgUm9vdCBDQTAeFw0xMjA2MjcwNjI4MzNaFw0zMDEyMzExNTU5\nNTlaMFExCzAJBgNVBAYTAlRXMRIwEAYDVQQKEwlUQUlXQU4tQ0ExEDAOBgNVBAsT\nB1Jvb3QgQ0ExHDAaBgNVBAMTE1RXQ0EgR2xvYmFsIFJvb3QgQ0EwggIiMA0GCSqG\nSIb3DQEBAQUAA4ICDwAwggIKAoICAQCwBdvI64zEbooh745NnHEKH1Jw7W2CnJfF\n10xORUnLQEK1EjRsGcJ0pDFfhQKX7EMzClPSnIyOt7h52yvVavKOZsTuKwEHktSz\n0ALfUPZVr2YOy+BHYC8rMjk1Ujoog/h7FsYYuGLWRyWRzvAZEk2tY/XTP3VfKfCh\nMBwqoJimFb3u/Rk28OKRQ4/6ytYQJ0lM793B8YVwm8rqqFpD/G2Gb3PpN0Wp8DbH\nzIh1HrtsBv+baz4X7GGqcXzGHaL3SekVtTzWoWH1EfcFbx39Eb7QMAfCKbAJTibc\n46KokWofwpFFiFzlmLhxpRUZyXx1EcxwdE8tmx2RRP1WKKD+u4ZqyPpcC1jcxkt2\nyKsi2XMPpfRaAok/T54igu6idFMqPVMnaR1sjjIsZAAmY2E2TqNGtz99sy2sbZCi\nlaLOz9qC5wc0GZbpuCGqKX6mOL6OKUohZnkfs8O1CWfe1tQHRvMq2uYiN2DLgbYP\noA/pyJV/v1WRBXrPPRXAb94JlAGD1zQbzECl8LibZ9WYkTunhHiVJqRaCPgrdLQA\nBDzfuBSO6N+pjWxnkjMdwLfS7JLIvgm/LCkFbwJrnu+8vyq8W8BQj0FwcYeyTbcE\nqYSjMq+u7msXi7Kx/mzhkIyIqJdIzshNy/MGz19qCkKxHh53L46g5pIOBvwFItIm\n4TFRfTLcDwIDAQABoyMwITAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB\n/zANBgkqhkiG9w0BAQsFAAOCAgEAXzSBdu+WHdXltdkCY4QWwa6gcFGn90xHNcgL\n1yg9iXHZqjNB6hQbbCEAwGxCGX6faVsgQt+i0trEfJdLjbDorMjupWkEmQqSpqsn\nLhpNgb+E1HAerUf+/UqdM+DyucRFCCEK2mlpc3INvjT+lIutwx4116KD7+U4x6WF\nH6vPNOw/KP4M8VeGTslV9xzU2KV9Bnpv1d8Q34FOIWWxtuEXeZVFBs5fzNxGiWNo\nRI2T9GRwoD2dKAXDOXC4Ynsg/eTb6QihuJ49CcdP+yz4k3ZB3lLg4VfSnQO8d57+\nnile98FRYB/e2guyLXW3Q0iT5/Z5xoRdgFlglPx4mI88k1HtQJAH32RjJMtOcQWh\n15QaiDLxInQirqWm2BJpTGCjAu4r7NRjkgtevi92a6O2JryPA9gK8kxkRr05YuWW\n6zRjESjMlfGt7+/cgFhI6Uu46mWs6fyAtbXIRfmswZ/ZuepiiI7E8UuDEq3mi4TW\nnsLrgxifarsbJGAzcMzs9zLzXNl5fe+epP7JI8Mk7hWSsT2RTyaGvWZzJBPqpK5j\nwa19hAM8EHiGG3njxPPyBJUgriOCxLM6AGK/5jYk4Ve6xx6QddVfP5VhK8E7zeWz\naGHQRiapIVJpLesux+t3zqY6tQMzT3bR51xUAV3LePTJDL/PEo4XLSNolOer/qmy\nKwbQBM0=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFlTCCA32gAwIBAgIQQAE0jMIAAAAAAAAAAZdY9DANBgkqhkiG9w0BAQwFADBU\nMQswCQYDVQQGEwJUVzESMBAGA1UEChMJVEFJV0FOLUNBMRAwDgYDVQQLEwdSb290\nIENBMR8wHQYDVQQDExZUV0NBIEdsb2JhbCBSb290IENBIEcyMB4XDTIyMTEyMjA2\nNDIyMVoXDTQ3MTEyMjE1NTk1OVowVDELMAkGA1UEBhMCVFcxEjAQBgNVBAoTCVRB\nSVdBTi1DQTEQMA4GA1UECxMHUm9vdCBDQTEfMB0GA1UEAxMWVFdDQSBHbG9iYWwg\nUm9vdCBDQSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAKoO1SCS\nAa2C+QwIkTRrihbQRhb/A7jYjeqTNPv/K739bqrcm/KGgVX1iRzEjXVqWHiREx4C\nE3A9774K5wCPuDHldMUwvv991pnlwkKjzyHWswh/kdVh5qKVEA3vXpcLSTjVIrDX\ni1lvnzWbf9KRzHp/u6Cf3lUz9kuNCup9CcB53L1E4v4c52QhKM8ESuK0v4Z5KrsO\nk8mPXqwwOVKQB7nqnCZCFMRnRv7RGmihPlAZoyYKJymQwva063OaeB7hmPRlDDUh\nBvgL3mLlTcGzXdm5+mGXKuPqx0RVJJL+Eqc/xHfgLQKBB9X7feYQnjq0qO/s+1Dq\nNc/MfrtCuURsUum/KnIfP96bcOncWsU7u7/wWYWvL8GwFHkFrHWfJfURJwZgIcdt\nZb6oiZzlrEbf+F1EA41gvfexDcwv70FUL+5rlblOfDTfO/l3nX3NBz0cBjMSgOxy\nnPItgtrVO8TH+QTDZAJ89TVgp7RGKS4b76VYgC56iVE4Njz9oXe4gDDQit6NpzQm\n7CO7GFUYNkXu7QEGqk2/ZAzKmJcaMQJm+HhoW4jfCajnm/o0bXAcIa0Ii/Khtqx2\nar/xgCUAvjweTa65PLaVY71rfkcSkFVFEY3sFx/BvieBk1djaQAmd4vDWeV70Q1E\n8qjw94WaBffCLnCak4XYlZAxkFSm7AufN0UPAgMBAAGjYzBhMA4GA1UdDwEB/wQE\nAwIBBjAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFJKM1DbRW0dTxHENhN1k\nKvU2ZEDnMB0GA1UdDgQWBBSSjNQ20VtHU8RxDYTdZCr1NmRA5zANBgkqhkiG9w0B\nAQwFAAOCAgEAJfxL2pC02nXnQTqB0ab+oGrzGHFiaiQIi6l6TclVzs8QKC4EGZYF\nz10CICo7s1U/Ac1CzbJ37f9183x325alz4xnBvSkm3L2IUkJmKMyXndaYwnvYkOX\nAji16jwYUGj8WVvZedTx5FZIE1bY03ELXniUOBFF+gUX9Q51HmJSYUa6LhmthrSI\nD7FQ5kAANBqVnZPgUfnUVUbplTwlhi6X1wExGETsHGDpfWmvMviXQCUkto0aVTzF\nt/e8BlI7cTBwPnEXfvFmBF5dvIoxQ6aSHXtU0qU2i2+N1l7a1MMuHd85VWCCMJ4n\n/46A3WNMplU12NAzqYBtPl6dzKhngGb6mVcMUsoZdbA4NVUqgcWMHlbXX5DyINja\n4GZx6bJ4q2e5JG5rNnL8b439f3I5KGdSkQUfV2XSo6cNYfqh59U1RpXJBof2MOwy\nUamsVsAhTqMUdAU6vOO/bT1OP16lpG0pv4RRdVOOhhr1UXAqDRxOQOH9o+OlK2eQ\nksdsroW/OpsXFcqcKpPUTTkNvCAIo42IbAkNjK5EIU3JcezYJtcXni0RGDyjIn24\nJ1S/aMg7QsyPXk7n3MLF+mpED41WiHrfiYRsoLM+PfFlAAmI6irrQM6zXawyF67B\nm+nQwfVJlN2nznxaB+uuIJwXMJJpk3Lzmltxm/5q33owaY6zLtsPLN0=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDezCCAmOgAwIBAgIBATANBgkqhkiG9w0BAQUFADBfMQswCQYDVQQGEwJUVzES\nMBAGA1UECgwJVEFJV0FOLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFU\nV0NBIFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwODI4MDcyNDMz\nWhcNMzAxMjMxMTU1OTU5WjBfMQswCQYDVQQGEwJUVzESMBAGA1UECgwJVEFJV0FO\nLUNBMRAwDgYDVQQLDAdSb290IENBMSowKAYDVQQDDCFUV0NBIFJvb3QgQ2VydGlm\naWNhdGlvbiBBdXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB\nAQCwfnK4pAOU5qfeCTiRShFAh6d8WWQUe7UREN3+v9XAu1bihSX0NXIP+FPQQeFE\nAcK0HMMxQhZHhTMidrIKbw/lJVBPhYa+v5guEGcevhEFhgWQxFnQfHgQsIBct+HH\nK3XLfJ+utdGdIzdjp9xCoi2SBBtQwXu4PhvJVgSLL1KbralW6cH/ralYhzC2gfeX\nRfwZVzsrb+RH9JlF/h3x+JejiB03HFyP4HYlmlD4oFT/RJB2I9IyxsOrBr/8+7/z\nrX2SYgJbKdM1o5OaQ2RgXbL6Mv87BK9NQGr5x+PvI/1ry+UPizgN7gr8/g+YnzAx\n3WxSZfmLgb4i4RxYA7qRG4kHAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV\nHRMBAf8EBTADAQH/MB0GA1UdDgQWBBRqOFsmjd6LWvJPelSDGRjjCDWmujANBgkq\nhkiG9w0BAQUFAAOCAQEAPNV3PdrfibqHDAhUaiBQkr6wQT25JmSDCi/oQMCXKCeC\nMErJk/9q56YAf4lCmtYR5VPOL8zy2gXE/uJQxDqGfczafhAJO5I1KlOy/usrBdls\nXebQ79NqZp4VKIV66IIArB6nCWlWQtNoURi+VJq/REG6Sb4gumlc7rh3zc5sH62D\nlhh9DrUUOYTxKOkto557HnpyWoOzeW/vtPzQCqVYT0bf+215WfKEIlKuD8z7fDvn\naspHYcN6+NOSBB+4IIThNlQWx0DeO4pz3N/GCUzf7Nr/1FNCocnyYh0igzyXxfkZ\nYiesZSLX0zzG5Y6yU8xJzrww/nsOM5D77dIUkR8Hrw==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFdDCCA1ygAwIBAgIPAWdfJ9b+euPkrL4JWwWeMA0GCSqGSIb3DQEBCwUAMEQx\nCzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZMBcGA1UE\nAwwQVGVsaWEgUm9vdCBDQSB2MjAeFw0xODExMjkxMTU1NTRaFw00MzExMjkxMTU1\nNTRaMEQxCzAJBgNVBAYTAkZJMRowGAYDVQQKDBFUZWxpYSBGaW5sYW5kIE95ajEZ\nMBcGA1UEAwwQVGVsaWEgUm9vdCBDQSB2MjCCAiIwDQYJKoZIhvcNAQEBBQADggIP\nADCCAgoCggIBALLQPwe84nvQa5n44ndp586dpAO8gm2h/oFlH0wnrI4AuhZ76zBq\nAMCzdGh+sq/H1WKzej9Qyow2RCRj0jbpDIX2Q3bVTKFgcmfiKDOlyzG4OiIjNLh9\nvVYiQJ3q9HsDrWj8soFPmNB06o3lfc1jw6P23pLCWBnglrvFxKk9pXSW/q/5iaq9\nlRdU2HhE8Qx3FZLgmEKnpNaqIJLNwaCzlrI6hEKNfdWV5Nbb6WLEWLN5xYzTNTOD\nn3WhUidhOPFZPY5Q4L15POdslv5e2QJltI5c0BE0312/UqeBAMN/mUWZFdUXyApT\n7GPzmX3MaRKGwhfwAZ6/hLzRUssbkmbOpFPlob/E2wnW5olWK8jjfN7j/4nlNW4o\n6GwLI1GpJQXrSPjdscr6bAhR77cYbETKJuFzxokGgeWKrLDiKca5JLNrRBH0pUPC\nTEPlcDaMtjNXepUugqD0XBCzYYP2AgWGLnwtbNwDRm41k9V6lS/eINhbfpSQBGq6\nWT0EBXWdN6IOLj3rwaRSg/7Qa9RmjtzG6RJOHSpXqhC8fF6CfaamyfItufUXJ63R\nDolUK5X6wK0dmBR4M0KGCqlztft0DbcbMBnEWg4cJ7faGND/isgFuvGqHKI3t+ZI\npEYslOqodmJHixBTB0hXbOKSTbauBcvcwUpej6w9GU7C7WB1K9vBykLVAgMBAAGj\nYzBhMB8GA1UdIwQYMBaAFHKs5DN5qkWH9v2sHZ7Wxy+G2CQ5MB0GA1UdDgQWBBRy\nrOQzeapFh/b9rB2e1scvhtgkOTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUw\nAwEB/zANBgkqhkiG9w0BAQsFAAOCAgEAoDtZpwmUPjaE0n4vOaWWl/oRrfxn83EJ\n8rKJhGdEr7nv7ZbsnGTbMjBvZ5qsfl+yqwE2foH65IRe0qw24GtixX1LDoJt0nZi\n0f6X+J8wfBj5tFJ3gh1229MdqfDBmgC9bXXYfef6xzijnHDoRnkDry5023X4blMM\nA8iZGok1GTzTyVR8qPAs5m4HeW9q4ebqkYJpCh3DflminmtGFZhb069GHWLIzoBS\nSRE/yQQSwxN8PzuKlts8oB4KtItUsiRnDe+Cy748fdHif64W1lZYudogsYMVoe+K\nTTJvQS8TUoKU1xrBeKJR3Stwbbca+few4GeXVtt8YVMJAygCQMez2P2ccGrGKMOF\n6eLtGpOg3kuYooQ+BXcBlj37tCAPnHICehIv1aO6UXivKitEZU61/Qrowc15h2Er\n3oBXRb9n8ZuRXqWk7FlIEA04x7D6w0RtBPV4UBySllva9bguulvP5fBqnUsvWHMt\nTy3EHD70sz+rFQ47GUGKpMFXEmZxTPpT41frYpUJnlTd0cI8Vzy9OK2YZLe4A5pT\nVmBds9hCG1xLEooc6+t9xnppxyd/pPiL8uSUZodL6ZQHCRJ5irLrdATczvREWeAW\nysUsWNc8e89ihmpQfTU2Zqf7N+cox9jQraVplI/owd8k+BsHMYeB2F326CjYSlKA\nrBPuUBQemMc=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFODCCAyCgAwIBAgIRAJW+FqD3LkbxezmCcvqLzZYwDQYJKoZIhvcNAQEFBQAw\nNzEUMBIGA1UECgwLVGVsaWFTb25lcmExHzAdBgNVBAMMFlRlbGlhU29uZXJhIFJv\nb3QgQ0EgdjEwHhcNMDcxMDE4MTIwMDUwWhcNMzIxMDE4MTIwMDUwWjA3MRQwEgYD\nVQQKDAtUZWxpYVNvbmVyYTEfMB0GA1UEAwwWVGVsaWFTb25lcmEgUm9vdCBDQSB2\nMTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMK+6yfwIaPzaSZVfp3F\nVRaRXP3vIb9TgHot0pGMYzHw7CTww6XScnwQbfQ3t+XmfHnqjLWCi65ItqwA3GV1\n7CpNX8GH9SBlK4GoRz6JI5UwFpB/6FcHSOcZrr9FZ7E3GwYq/t75rH2D+1665I+X\nZ75Ljo1kB1c4VWk0Nj0TSO9P4tNmHqTPGrdeNjPUtAa9GAH9d4RQAEX1jF3oI7x+\n/jXh7VB7qTCNGdMJjmhnXb88lxhTuylixcpecsHHltTbLaC0H2kD7OriUPEMPPCs\n81Mt8Bz17Ww5OXOAFshSsCPN4D7c3TxHoLs1iuKYaIu+5b9y7tL6pe0S7fyYGKkm\ndtwoSxAgHNN/Fnct7W+A90m7UwW7XWjH1Mh1Fj+JWov3F0fUTPHSiXk+TT2YqGHe\nOh7S+F4D4MHJHIzTjU3TlTazN19jY5szFPAtJmtTfImMMsJu7D0hADnJoWjiUIMu\nsDor8zagrC/kb2HCUQk5PotTubtn2txTuXZZNp1D5SDgPTJghSJRt8czu90VL6R4\npgd7gUY2BIbdeTXHlSw7sKMXNeVzH7RcWe/a6hBle3rQf5+ztCo3O3CLm1u5K7fs\nslESl1MpWtTwEhDcTwK7EpIvYtQ/aUN8Ddb8WHUBiJ1YFkveupD/RwGJBmr2X7KQ\narMCpgKIv7NHfirZ1fpoeDVNAgMBAAGjPzA9MA8GA1UdEwEB/wQFMAMBAf8wCwYD\nVR0PBAQDAgEGMB0GA1UdDgQWBBTwj1k4ALP1j5qWDNXr+nuqF+gTEjANBgkqhkiG\n9w0BAQUFAAOCAgEAvuRcYk4k9AwI//DTDGjkk0kiP0Qnb7tt3oNmzqjMDfz1mgbl\ndxSR651Be5kqhOX//CHBXfDkH1e3damhXwIm/9fH907eT/j3HEbAek9ALCI18Bmx\n0GtnLLCo4MBANzX2hFxc469CeP6nyQ1Q6g2EdvZR74NTxnr/DlZJLo961gzmJ1Tj\nTQpgcmLNkQfWpb/ImWvtxBnmq0wROMVvMeJuScg/doAmAyYp4Db29iBT4xdwNBed\nY2gea+zDTYa4EzAvXUYNR0PVG6pZDrlcjQZIrXSHX8f8MVRBE+LHIQ6e4B4N4cB7\nQ4WQxYpYxmUKeFfyxiMPAdkgS94P+5KFdSpcc41teyWRyu5FrgZLAMzTsVlQ2jqI\nOylDRl6XK1TOU2+NSueW+r9xDkKLfP0ooNBIytrEgUy7onOTJsjrDNYmiLbAJM+7\nvVvrdX3pCI6GMyx5dwlppYn8s3CQh3aP0yK7Qs69cwsgJirQmz1wHiRszYd2qReW\nt88NkvuOGKmYSdGe/mBEciG5Ge3C9THxOUiIkCR1VBatzvT4aRRkOfujuLpwQMcn\nHL/EVlP6Y2XQ8xwOFvVrhlhNGNTkDY6lnVuR3HYkUD/GKvvZt5y11ubQ2egZixVx\nSK236thZiNSQvxaz2emsWWFUyBy6ysHK4bkgTI86k4mloMy/0/Z1pHWWbVY=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFpTCCA42gAwIBAgIUZPYOZXdhaqs7tOqFhLuxibhxkw8wDQYJKoZIhvcNAQEM\nBQAwWjELMAkGA1UEBhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dp\nZXMsIEluYy4xJDAiBgNVBAMMG1RydXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHMzAe\nFw0yMTA1MjAwMjEwMTlaFw00NjA1MTkwMjEwMTlaMFoxCzAJBgNVBAYTAkNOMSUw\nIwYDVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQwIgYDVQQDDBtU\ncnVzdEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzMwggIiMA0GCSqGSIb3DQEBAQUAA4IC\nDwAwggIKAoICAQDAMYJhkuSUGwoqZdC+BqmHO1ES6nBBruL7dOoKjbmzTNyPtxNS\nT1QY4SxzlZHFZjtqz6xjbYdT8PfxObegQ2OwxANdV6nnRM7EoYNl9lA+sX4WuDqK\nAtCWHwDNBSHvBm3dIZwZQ0WhxeiAysKtQGIXBsaqvPPW5vxQfmZCHzyLpnl5hkA1\nnyDvP+uLRx+PjsXUjrYsyUQE49RDdT/VP68czH5GX6zfZBCK70bwkPAPLfSIC7Ep\nqq+FqklYqL9joDiR5rPmd2jE+SoZhLsO4fWvieylL1AgdB4SQXMeJNnKziyhWTXA\nyB1GJ2Faj/lN03J5Zh6fFZAhLf3ti1ZwA0pJPn9pMRJpxx5cynoTi+jm9WAPzJMs\nhH/x/Gr8m0ed262IPfN2dTPXS6TIi/n1Q1hPy8gDVI+lhXgEGvNz8teHHUGf59gX\nzhqcD0r83ERoVGjiQTz+LISGNzzNPy+i2+f3VANfWdP3kXjHi3dqFuVJhZBFcnAv\nkV34PmVACxmZySYgWmjBNb9Pp1Hx2BErW+Canig7CjoKH8GB5S7wprlppYiU5msT\nf9FkPz2ccEblooV7WIQn3MSAPmeamseaMQ4w7OYXQJXZRe0Blqq/DPNL0WP3E1jA\nuPP6Z92bfW1K/zJMtSU7/xxnD4UiWQWRkUF3gdCFTIcQcf+eQxuulXUtgQIDAQAB\no2MwYTAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFEDk5PIj7zjKsK5Xf/Ih\nMBY027ySMB0GA1UdDgQWBBRA5OTyI+84yrCuV3/yITAWNNu8kjAOBgNVHQ8BAf8E\nBAMCAQYwDQYJKoZIhvcNAQEMBQADggIBACY7UeFNOPMyGLS0XuFlXsSUT9SnYaP4\nwM8zAQLpw6o1D/GUE3d3NZ4tVlFEbuHGLige/9rsR82XRBf34EzC4Xx8MnpmyFq2\nXFNFV1pF1AWZLy4jVe5jaN/TG3inEpQGAHUNcoTpLrxaatXeL1nHo+zSh2bbt1S1\nJKv0Q3jbSwTEb93mPmY+KfJLaHEih6D4sTNjduMNhXJEIlU/HHzp/LgV6FL6qj6j\nITk1dImmasI5+njPtqzn59ZW/yOSLlALqbUHM/Q4X6RJpstlcHboCoWASzY9M/eV\nVHUl2qzEc4Jl6VL1XP04lQJqaTDFHApXB64ipCz5xUG3uOyfT0gA+QEEVcys+TIx\nxHWVBqB/0Y0n3bOppHKH/lmLmnp0Ft0WpWIp6zqW3IunaFnT63eROfjXy9mPX1on\nAX1daBli2MjN9LdyR75bl87yraKZk62Uy5P2EgmVtqvXO9A/EcswFi55gORngS1d\n7XB4tmBZrOFdRWOPyN9yaFvqHbgB8X7754qz41SgOAngPN5C8sLtLpvzHzW2Ntjj\ngKGLzZlkD8Kqq7HK9W+eQ42EVJmzbsASZthwEPEGNTNDqJwuuhQxzhB/HIbjj9LV\n+Hfsm6vxL2PZQl/gZ4FkkfGXL/xuJvYz+NO1+MRiqzFRJQJ6+N1rZdVtTTDIZbpo\nFGWsJwt0ivKH\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICVTCCAdygAwIBAgIUTyNkuI6XY57GU4HBdk7LKnQV1tcwCgYIKoZIzj0EAwMw\nWjELMAkGA1UEBhMCQ04xJTAjBgNVBAoMHFRydXN0QXNpYSBUZWNobm9sb2dpZXMs\nIEluYy4xJDAiBgNVBAMMG1RydXN0QXNpYSBHbG9iYWwgUm9vdCBDQSBHNDAeFw0y\nMTA1MjAwMjEwMjJaFw00NjA1MTkwMjEwMjJaMFoxCzAJBgNVBAYTAkNOMSUwIwYD\nVQQKDBxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQwIgYDVQQDDBtUcnVz\ndEFzaWEgR2xvYmFsIFJvb3QgQ0EgRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATx\ns8045CVD5d4ZCbuBeaIVXxVjAd7Cq92zphtnS4CDr5nLrBfbK5bKfFJV4hrhPVbw\nLxYI+hW8m7tH5j/uqOFMjPXTNvk4XatwmkcN4oFBButJ+bAp3TPsUKV/eSm4IJij\nYzBhMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgwFoAUpbtKl86zK3+kMd6Xg1mD\npm9xy94wHQYDVR0OBBYEFKW7SpfOsyt/pDHel4NZg6ZvccveMA4GA1UdDwEB/wQE\nAwIBBjAKBggqhkjOPQQDAwNnADBkAjBe8usGzEkxn0AAbbd+NvBNEU/zy4k6LHiR\nUKNbwMp1JvK/kF0LgoxgKJ/GcJpo5PECMFxYDlZ2z1jD1xCMuo6u47xkdUfFVZDj\n/bpV6wfEU6s3qe4hsiFbYI89MvHVI5TWWA==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICNjCCAbugAwIBAgIUWsL4KU/jfcVeHRhvO5MgH/97ui0wCgYIKoZIzj0EAwMw\nWjELMAkGA1UEBhMCQ04xJTAjBgNVBAoTHFRydXN0QXNpYSBUZWNobm9sb2dpZXMs\nIEluYy4xJDAiBgNVBAMTG1RydXN0QXNpYSBTTUlNRSBFQ0MgUm9vdCBDQTAeFw0y\nNDA1MTUwNTQxNTlaFw00NDA1MTUwNTQxNThaMFoxCzAJBgNVBAYTAkNOMSUwIwYD\nVQQKExxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQwIgYDVQQDExtUcnVz\ndEFzaWEgU01JTUUgRUNDIFJvb3QgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATN\n2fsnvWnshsmQQ7FwF5SnyXcjOj8jZdMcox0eQlQg69BCu1m5i6zyho1Ljh2qliIj\nOXZtkpvrIst6Q6Jz/XNLwiUPKrFpxv9F36k8lYC7qR5Kky/sHB2I9BGSN583mHKj\nQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFDFn5nKyDeYioKzPfiKnWTLj\nZiOlMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNpADBmAjEA3TpMjaTGf+29\npcZPPv0xSyjWilbfZRZ3h037ujIIgeCeM0iLn5SG7wErlOaM1tSOAjEAn4GcsCb9\nK9by9XGEnqjHiozWWBFStbgEy8xxdWPixhk42W1sGXGkFhkhk7oGRChs\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFhDCCA2ygAwIBAgIUWu5x394MV4W1uzYi17h2RgJzyv8wDQYJKoZIhvcNAQEM\nBQAwWjELMAkGA1UEBhMCQ04xJTAjBgNVBAoTHFRydXN0QXNpYSBUZWNobm9sb2dp\nZXMsIEluYy4xJDAiBgNVBAMTG1RydXN0QXNpYSBTTUlNRSBSU0EgUm9vdCBDQTAe\nFw0yNDA1MTUwNTQyMDFaFw00NDA1MTUwNTQyMDBaMFoxCzAJBgNVBAYTAkNOMSUw\nIwYDVQQKExxUcnVzdEFzaWEgVGVjaG5vbG9naWVzLCBJbmMuMSQwIgYDVQQDExtU\ncnVzdEFzaWEgU01JTUUgUlNBIFJvb3QgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4IC\nDwAwggIKAoICAQCYlZytPFlz05N2pkhUphyIckxN4YL/GhMfUN6M2ZBC0byZ0zej\n13E6yt1eG5BhQm6PQAFzfR8xutQdbgTSqpCESjMKRJ9aGR+0bi1o/K/An0oQEr8+\ngsKCsC/nkG+QZBCD7Ow2lAx8T+ACDT2HeUJNAOUwrnAfFf36z1IlNk15ILvxEJjg\nYIfJ9XgMIu0C5hFs8ZtakRF0htD+eJKWBMOY78Zwr6mQqhb2Iu3Y+kYoceLJCMBQ\nvHajui2W8hH5pL0QVvgnbStLZIjcF13PAAiKkq4azBLX3/AQKPPNOuo6Eowb52EJ\nQ2rkOOn+dDnbzQo7w09T1q5x1TiDhx/O50zzEVWH37ev9+sahhBtqO1I3TLQ26oq\nC3J3KXf9eug/eCAqaL7ebwjmtYVHgDf5cZaLpZhWl3wRZRaO1M7YJ9T5WsWnjbvR\nNw2lq2Vd2nSTiF7bdfZ/m8KasW0IAgyYSrvNMK92NQKFViNRCUAJBffwPR7CyHoa\nusVBFbkNdrS0pLhF/Y2jOz0DKs2zlX80e92hT9k6/yf1DcIBnP9ZdVoayefS/X9P\nD7X+DTzmoNb7tXZctDBNED/+4utaDrFPT1B+CDMCkVcySYmnQBBQF2ufY7qyslaY\ndvT/cukEnNSnTE/2Oh9aVDFvy7oyrfhtr0XHe2NE38L9eOhKirB0dRbejwIDAQAB\no0IwQDAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSAGqpDwcl/ixqWRbw9u2tI\nUmxbqzAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQEMBQADggIBACp1gaGCIOp/\nVq4JMJcQePTZQBRSpO5qf/AJKNYQY+BOe8kxxwilF+uvhuKXB0+pDqKFzO2kgIEd\nWlMGPEwaqbeEhs989YUKcJnQ7TaRjed3Ls6EnCiGLSU1jEwB5n3bYV3id4TTAdFi\n3QyiCmSk/PDtOkjyOew11qF6F3Hs09LsuCb7rRVwVkrPZMC5YFv35s2gwgMr+bLl\n2rqlNxzYjdp5dCpn5KJ6xyyNpcFqgWzM9ak5aiJ9ouIIzemT27rLH3V3nveYrxTk\nO6BMp3LntV5TScz/klfxWSsJuulSk8APRQth1mxZcwvY+QEv2gNPNxz034NeC0Gg\nsXw5AKFs0Ni0kXIrGz+imtHE3yvVyJV9hM12G9zkJMY/FSI9hadCK+1+cVlhSMI9\nkWNAfCmzgBYKJfwYYA5TrQ4qzvxBOs2x5GprzDltyE1luKqTiHhuDwKL4JaOdB/Q\nfuF0t/aBauQjrI79jzUdmnEKTypVL/4YwQD3e0iKZa9vCB1D51q4H6ToA+v9TLW0\nk6gx3kOdEr3n6aTS32/8b0aj7zFOjRerG6ng+Kk0VqEO53TsqIeF2Hc1S40+bnJ8\nSMwfcrNxdNQkhrzIwON5FAHO2fqBxlyz+V0MOL7O8o6NXz0l4VE5I6jqAI4Es79y\noMK6g/vNpJd1IJq/p1Di3a0sH/Q/o8gx\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICMTCCAbegAwIBAgIUNnThTXxlE8msg1UloD5Sfi9QaMcwCgYIKoZIzj0EAwMw\nWDELMAkGA1UEBhMCQ04xJTAjBgNVBAoTHFRydXN0QXNpYSBUZWNobm9sb2dpZXMs\nIEluYy4xIjAgBgNVBAMTGVRydXN0QXNpYSBUTFMgRUNDIFJvb3QgQ0EwHhcNMjQw\nNTE1MDU0MTU2WhcNNDQwNTE1MDU0MTU1WjBYMQswCQYDVQQGEwJDTjElMCMGA1UE\nChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywgSW5jLjEiMCAGA1UEAxMZVHJ1c3RB\nc2lhIFRMUyBFQ0MgUm9vdCBDQTB2MBAGByqGSM49AgEGBSuBBAAiA2IABLh/pVs/\nAT598IhtrimY4ZtcU5nb9wj/1WrgjstEpvDBjL1P1M7UiFPoXlfXTr4sP/MSpwDp\nguMqWzJ8S5sUKZ74LYO1644xST0mYekdcouJtgq7nDM1D9rs3qlKH8kzsaNCMEAw\nDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQULIVTu7FDzTLqnqOH/qKYqKaT6RAw\nDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMDA2gAMGUCMFRH18MtYYZI9HlaVQ01\nL18N9mdsd0AaRuf4aFtOJx24mH1/k78ITcTaRTChD15KeAIxAKORh/IRM4PDwYqR\nOkwrULG9IpRdNYlzg8WbGf60oenUoWa2AaU2+dhoYSi3dOGiMQ==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIFgDCCA2igAwIBAgIUHBjYz+VTPyI1RlNUJDxsR9FcSpwwDQYJKoZIhvcNAQEM\nBQAwWDELMAkGA1UEBhMCQ04xJTAjBgNVBAoTHFRydXN0QXNpYSBUZWNobm9sb2dp\nZXMsIEluYy4xIjAgBgNVBAMTGVRydXN0QXNpYSBUTFMgUlNBIFJvb3QgQ0EwHhcN\nMjQwNTE1MDU0MTU3WhcNNDQwNTE1MDU0MTU2WjBYMQswCQYDVQQGEwJDTjElMCMG\nA1UEChMcVHJ1c3RBc2lhIFRlY2hub2xvZ2llcywgSW5jLjEiMCAGA1UEAxMZVHJ1\nc3RBc2lhIFRMUyBSU0EgUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC\nAgoCggIBAMMWuBtqpERz5dZO9LnPWwvB0ZqB9WOwj0PBuwhaGnrhB3YmH49pVr7+\nNmDQDIPNlOrnxS1cLwUWAp4KqC/lYCZUlviYQB2srp10Zy9U+5RjmOMmSoPGlbYJ\nQ1DNDX3eRA5gEk9bNb2/mThtfWza4mhzH/kxpRkQcwUqwzIZheo0qt1CHjCNP561\nHmHVb70AcnKtEj+qpklz8oYVlQwQX1Fkzv93uMltrOXVmPGZLmzjyUT5tUMnCE32\nft5EebuyjBza00tsLtbDeLdM1aTk2tyKjg7/D8OmYCYozza/+lcK7Fs/6TAWe8Tb\nxNRkoDD75f0dcZLdKY9BWN4ArTr9PXwaqLEX8E40eFgl1oUh63kd0Nyrz2I8sMeX\ni9bQn9P+PN7F4/w6g3CEIR0JwqH8uyghZVNgepBtljhb//HXeltt08lwSUq6HTrQ\nUNoyIBnkiz/r1RYmNzz7dZ6wB3C4FGB33PYPXFIKvF1tjVEK2sUYyJtt3LCDs3+j\nTnhMmCWr8n4uIF6CFabW2I+s5c0yhsj55NqJ4js+k8UTav/H9xj8Z7XvGCxUq0DT\nbE3txci3OE9kxJRMT6DNrqXGJyV1J23G2pyOsAWZ1SgRxSHUuPzHlqtKZFlhaxP8\nS8ySpg+kUb8OWJDZgoM5pl+z+m6Ss80zDoWo8SnTq1mt1tve1CuBAgMBAAGjQjBA\nMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFLgHkXlcBvRG/XtZylomkadFK/hT\nMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQwFAAOCAgEAIZtqBSBdGBanEqT3\nRz/NyjuujsCCztxIJXgXbODgcMTWltnZ9r96nBO7U5WS/8+S4PPFJzVXqDuiGev4\niqME3mmL5Dw8veWv0BIb5Ylrc5tvJQJLkIKvQMKtuppgJFqBTQUYo+IzeXoLH5Pt\n7DlK9RME7I10nYEKqG/odv6LTytpEoYKNDbdgptvT+Bz3Ul/KD7JO6NXBNiT2Twp\n2xIQaOHEibgGIOcberyxk2GaGUARtWqFVwHxtlotJnMnlvm5P1vQiJ3koP26TpUJ\ng3933FEFlJ0gcXax7PqJtZwuhfG5WyRasQmr2soaB82G39tp27RIGAAtvKLEiUUj\npQ7hRGU+isFqMB3iYPg6qocJQrmBktwliJiJ8Xw18WLK7nn4GS/+X/jbh87qqA8M\npugLoDzga5SYnH+tBuYc6kIQX+ImFTw3OffXvO645e8D7r0i+yiGNFjEWn9hongP\nXvPKnbwbPKfILfanIhHKA9jnZwqKDss1jjQ52MjqjZ9k4DewbNfFj8GQYSbbJIwe\nSsCI3zWQzj8C9GRh3sfIB5XeMhg6j6JCQCTl1jNdfK7vsU1P1FeQNWrcrgSXSYk0\nly4wBOeY99sLAZDBHwo/+ML+TvrbmnNzFrwFuHnYWa8G5z9nODmxfKuU4CkUpijy\n323imttUQ/hHWKNddBWcwauwxzQ=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDvDCCAqSgAwIBAgIQB1YipOjUiolN9BPI8PjqpTANBgkqhkiG9w0BAQUFADBK\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwHhcNMDYxMTA3MTk0MjI4WhcNMjkx\nMjMxMTk1MjA2WjBKMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3Qg\nQ29ycG9yYXRpb24xGTAXBgNVBAMTEFNlY3VyZSBHbG9iYWwgQ0EwggEiMA0GCSqG\nSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCvNS7YrGxVaQZx5RNoJLNP2MwhR/jxYDiJ\niQPpvepeRlMJ3Fz1Wuj3RSoC6zFh1ykzTM7HfAo3fg+6MpjhHZevj8fcyTiW89sa\n/FHtaMbQbqR8JNGuQsiWUGMu4P51/pinX0kuleM5M2SOHqRfkNJnPLLZ/kG5VacJ\njnIFHovdRIWCQtBJwB1g8NEXLJXr9qXBkqPFwqcIYA1gBBCWeZ4WNOaptvolRTnI\nHmX5k/Wq8VLcmZg9pYYaDDUz+kulBAYVHDGA76oYa8J719rO+TMg1fW9ajMtgQT7\nsFzUnKPiXB3jqUJ1XnvUd+85VLrJChgbEplJL4hL/VBi0XPnj3pDAgMBAAGjgZ0w\ngZowEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0PBAQDAgGGMA8GA1UdEwEB/wQF\nMAMBAf8wHQYDVR0OBBYEFK9EBMJBfkiD2045AuzshHrmzsmkMDQGA1UdHwQtMCsw\nKaAnoCWGI2h0dHA6Ly9jcmwuc2VjdXJldHJ1c3QuY29tL1NHQ0EuY3JsMBAGCSsG\nAQQBgjcVAQQDAgEAMA0GCSqGSIb3DQEBBQUAA4IBAQBjGghAfaReUw132HquHw0L\nURYD7xh8yOOvaliTFGCRsoTciE6+OYo68+aCiV0BN7OrJKQVDpI1WkpEXk5X+nXO\nH0jOZvQ8QCaSmGwb7iRGDBezUqXbpZGRzzfTb+cnCDpOGR86p1hcF895P4vkp9Mm\nI50mD1hp/Ed+stCNi5O/KU9DaXR2Z0vPB4zmAve14bRDtUstFJ/53CYNv6ZHdAbY\niNE6KTCEztI5gGIbqMdXSbxqVVFnFUq+NQfk1XWYN3kwFNspnWzFacxHVaIw98xc\nf8LDmBxrThaA63p4ZUWiABqvDA1VZDRIuJK58bRQKfJPIx/abKwfROHdI3hRW8cW\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIDuDCCAqCgAwIBAgIQDPCOXAgWpa1Cf/DrJxhZ0DANBgkqhkiG9w0BAQUFADBI\nMQswCQYDVQQGEwJVUzEgMB4GA1UEChMXU2VjdXJlVHJ1c3QgQ29ycG9yYXRpb24x\nFzAVBgNVBAMTDlNlY3VyZVRydXN0IENBMB4XDTA2MTEwNzE5MzExOFoXDTI5MTIz\nMTE5NDA1NVowSDELMAkGA1UEBhMCVVMxIDAeBgNVBAoTF1NlY3VyZVRydXN0IENv\ncnBvcmF0aW9uMRcwFQYDVQQDEw5TZWN1cmVUcnVzdCBDQTCCASIwDQYJKoZIhvcN\nAQEBBQADggEPADCCAQoCggEBAKukgeWVzfX2FI7CT8rU4niVWJxB4Q2ZQCQXOZEz\nZum+4YOvYlyJ0fwkW2Gz4BERQRwdbvC4u/jep4G6pkjGnx29vo6pQT64lO0pGtSO\n0gMdA+9tDWccV9cGrcrI9f4Or2YlSASWC12juhbDCE/RRvgUXPLIXgGZbf2IzIao\nwW8xQmxSPmjL8xk037uHGFaAJsTQ3MBv396gwpEWoGQRS0S8Hvbn+mPeZqx2pHGj\n7DaUaHp3pLHnDi+BeuK1cobvomuL8A/b01k/unK8RCSc43Oz969XL0Imnal0ugBS\n8kvNU3xHCzaFDmapCJcWNFfBZveA4+1wVMeT4C4oFVmHursCAwEAAaOBnTCBmjAT\nBgkrBgEEAYI3FAIEBh4EAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB\n/zAdBgNVHQ4EFgQUQjK2FvoE/f5dS3rD/fdMQB1aQ68wNAYDVR0fBC0wKzApoCeg\nJYYjaHR0cDovL2NybC5zZWN1cmV0cnVzdC5jb20vU1RDQS5jcmwwEAYJKwYBBAGC\nNxUBBAMCAQAwDQYJKoZIhvcNAQEFBQADggEBADDtT0rhWDpSclu1pqNlGKa7UTt3\n6Z3q059c4EVlew3KW+JwULKUBRSuSceNQQcSc5R+DCMh/bwQf2AQWnL1mA6s7Ll/\n3XpvXdMc9P+IBWlCqQVxyLesJugutIxq/3HcuLHfmbx8IVQr5Fiiu1cprp6poxkm\nD5kuCLDv/WnPmRoJjeOnnyvJNjR7JLN4TJUXpAYmHrZkUjZfYGfZnMUFdAvnZyPS\nCPyI6a6Lf+Ew9Dd+/cYy2i2eRDAwbO4H3tI0/NL/QPZL9GZGBlSm8jIKYyYwa5vR\n3ItHuuG51WLQoqD0ZwV4KWMabwTW+MZMo5qxN7SN5ShLHZ4swrhovO0C7jE=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIF2jCCA8KgAwIBAgIMBfcOhtpJ80Y1LrqyMA0GCSqGSIb3DQEBCwUAMIGIMQsw\nCQYDVQQGEwJVUzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28x\nITAfBgNVBAoMGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1\nc3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMx\nOTM0MTJaFw00MjA4MjMxOTM0MTJaMIGIMQswCQYDVQQGEwJVUzERMA8GA1UECAwI\nSWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2ZSBI\nb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZp\nY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB\nALldUShLPDeS0YLOvR29zd24q88KPuFd5dyqCblXAj7mY2Hf8g+CY66j96xz0Xzn\nswuvCAAJWX/NKSqIk4cXGIDtiLK0thAfLdZfVaITXdHG6wZWiYj+rDKd/VzDBcdu\n7oaJuogDnXIhhpCujwOl3J+IKMujkkkP7NAP4m1ET4BqstTnoApTAbqOl5F2brz8\n1Ws25kCI1nsvXwXoLG0R8+eyvpJETNKXpP7ScoFDB5zpET71ixpZfR9oWN0EACyW\n80OzfpgZdNmcc9kYvkHHNHnZ9GLCQ7mzJ7Aiy/k9UscwR7PJPrhq4ufogXBeQotP\nJqX+OsIgbrv4Fo7NDKm0G2x2EOFYeUY+VM6AqFcJNykbmROPDMjWLBz7BegIlT1l\nRtzuzWniTY+HKE40Cz7PFNm73bZQmq131BnW2hqIyE4bJ3XYsgjxroMwuREOzYfw\nhI0Vcnyh78zyiGG69Gm7DIwLdVcEuE4qFC49DxweMqZiNu5m4iK4BUBjECLzMx10\ncoos9TkpoNPnG4CELcU9402x/RpvumUHO1jsQkUm+9jaJXLE9gCxInm943xZYkqc\nBW89zubWR2OZxiRvchLIrH+QtAuRcOi35hYQcRfO3gZPSEF9NUqjifLJS3tBEW1n\ntwiYTOURGa5CgNz7kAXU+FDKvuStx8KU1xad5hePrzb7AgMBAAGjQjBAMA8GA1Ud\nEwEB/wQFMAMBAf8wHQYDVR0OBBYEFJngGWcNYtt2s9o9uFvo/ULSMQ6HMA4GA1Ud\nDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAmHNw4rDT7TnsTGDZqRKGFx6W\n0OhUKDtkLSGm+J1WE2pIPU/HPinbbViDVD2HfSMF1OQc3Og4ZYbFdada2zUFvXfe\nuyk3QAUHw5RSn8pk3fEbK9xGChACMf1KaA0HZJDmHvUqoai7PF35owgLEQzxPy0Q\nlG/+4jSHg9bP5Rs1bdID4bANqKCqRieCNqcVtgimQlRXtpla4gt5kNdXElE1GYhB\naCXUNxeEFfsBctyV3lImIJgm4nb1J2/6ADtKYdkNy1GTKv0WBpanI5ojSP5RvbbE\nsLFUzt5sQa0WZ37b/TjNuThOssFgy50X31ieemKyJo90lZvkWx3SD92YHJtZuSPT\nMaCm/zjdzyBP6VhWOmfD0faZmZ26NraAL4hHT4a/RDqA5Dccprrql5gR0IRiR2Qe\nqu5AvzSxnI9O4fKSTx+O856X3vOmeWqJcU9LJxdI/uz0UA9PSX3MReO9ekDFQdxh\nVicGaeVyQYHTtgGJoC86cnn+OjC/QezHYj6RS8fZMXZC+fc8Y+wmjHMMfRod6qh8\nh6jCJ3zhM0EPz8/8AKAigJ5Kp28AsEFFtyLKaEjFQqKu3R3y4G5OBVixwJAWKqQ9\nEEC+j2Jjg6mcgn0tAumDMHzLJ8n9HmYAsC7TIS+OMxZsmO0QqAfWzJPP29FpHOTK\nyeC2nOnOcXHebD8WpHk=\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYD\nVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf\nBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3\nYXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x\nNzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYDVQQGEwJVUzERMA8G\nA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0\nd2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF\nQ0MgUDI1NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqG\nSM49AwEHA0IABH77bOYj43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoN\nFWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqmP62jQzBBMA8GA1UdEwEB/wQFMAMBAf8w\nDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt0UrrdaVKEJmzsaGLSvcw\nCgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjzRM4q3wgh\nDDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYD\nVQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAf\nBgNVBAoTGFRydXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3\nYXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0x\nNzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYDVQQGEwJVUzERMA8G\nA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0\nd2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBF\nQ0MgUDM4NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuB\nBAAiA2IABGvaDXU1CDFHBa5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJ\nj9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr/TklZvFe/oyujUF5nQlgziip04pt89ZF\n1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNVHQ8BAf8EBQMDBwYAMB0G\nA1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNnADBkAjA3\nAZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsC\nMGclCrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVu\nSw==\n-----END CERTIFICATE-----","-----BEGIN CERTIFICATE-----\nMIIEMDCCAxigAwIBAgIQUJRs7Bjq1ZxN1ZfvdY+grTANBgkqhkiG9w0BAQUFADCB\ngjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3dy54cmFtcHNlY3VyaXR5LmNvbTEk\nMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2VydmljZXMgSW5jMS0wKwYDVQQDEyRY\nUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDQxMTAxMTcx\nNDA0WhcNMzUwMTAxMDUzNzE5WjCBgjELMAkGA1UEBhMCVVMxHjAcBgNVBAsTFXd3\ndy54cmFtcHNlY3VyaXR5LmNvbTEkMCIGA1UEChMbWFJhbXAgU2VjdXJpdHkgU2Vy\ndmljZXMgSW5jMS0wKwYDVQQDEyRYUmFtcCBHbG9iYWwgQ2VydGlmaWNhdGlvbiBB\ndXRob3JpdHkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCYJB69FbS6\n38eMpSe2OAtp87ZOqCwuIR1cRN8hXX4jdP5efrRKt6atH67gBhbim1vZZ3RrXYCP\nKZ2GG9mcDZhtdhAoWORlsH9KmHmf4MMxfoArtYzAQDsRhtDLooY2YKTVMIJt2W7Q\nDxIEM5dfT2Fa8OT5kavnHTu86M/0ay00fOJIYRyO82FEzG+gSqmUsE3a56k0enI4\nqEHMPJQRfevIpoy3hsvKMzvZPTeL+3o+hiznc9cKV6xkmxnr9A8ECIqsAxcZZPRa\nJSKNNCyy9mgdEm3Tih4U2sSPpuIjhdV6Db1q4Ons7Be7QhtnqiXtRYMh/MHJfNVi\nPvryxS3T/dRlAgMBAAGjgZ8wgZwwEwYJKwYBBAGCNxQCBAYeBABDAEEwCwYDVR0P\nBAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFMZPoj0GY4QJnM5i5ASs\njVy16bYbMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwueHJhbXBzZWN1cml0\neS5jb20vWEdDQS5jcmwwEAYJKwYBBAGCNxUBBAMCAQEwDQYJKoZIhvcNAQEFBQAD\nggEBAJEVOQMBG2f7Shz5CmBbodpNl2L5JFMn14JkTpAuw0kbK5rc/Kh4ZzXxHfAR\nvbdI4xD2Dd8/0sm2qlWkSLoC295ZLhVbO50WfUfXN+pfTXYSNrsf16GBBEYgoyxt\nqZ4Bfj8pzgCT3/3JknOJiWSe5yvkHJEs0rnOfc5vMZnT5r7SHpDwCRR5XCOrTdLa\nIR9NmXmd4c8nnxCbHIgNsIpkQTG4DmyQJKSbXHGPurt+HBvbaoAPIbzp26a3QPSy\ni6mx5O+aGtA9aZnuqCij4Tyz8LIRnM98QObd50N9otg6tamN8jSZxNQQ4Qb9CYQQ\nO+7ETPTsJ3xCwnR8gooJybQDJbw=\n-----END CERTIFICATE-----"];s(8630);var Zt=s(152);function $t(t,e){let n=0;if(1===t.length)return t[0];for(let r=t.length-1;r>=0;r--)n+=t[t.length-1-r]*Math.pow(2,e*r);return n}function te(t,e,n=-1){const r=n;let i=t,o=0,s=Math.pow(2,e);for(let n=1;n<8;n++){if(t<s){let t;if(r<0)t=new ArrayBuffer(n),o=n;else{if(r<n)return new ArrayBuffer(0);t=new ArrayBuffer(r),o=r}const s=new Uint8Array(t);for(let t=n-1;t>=0;t--){const n=Math.pow(2,t*e);s[o-t-1]=Math.floor(i/n),i-=s[o-t-1]*n}return t}s*=Math.pow(2,e)}return new ArrayBuffer(0)}function ee(...t){let e=0,n=0;for(const n of t)e+=n.length;const r=new ArrayBuffer(e),i=new Uint8Array(r);for(const e of t)i.set(e,n),n+=e.length;return i}function ne(){const t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){const e=255===t[0]&&128&t[1],n=0===t[0]&&!(128&t[1]);(e||n)&&this.warnings.push("Needlessly long format")}const e=new ArrayBuffer(this.valueHex.byteLength),n=new Uint8Array(e);for(let t=0;t<this.valueHex.byteLength;t++)n[t]=0;n[0]=128&t[0];const r=$t(n,8),i=new ArrayBuffer(this.valueHex.byteLength),o=new Uint8Array(i);for(let e=0;e<this.valueHex.byteLength;e++)o[e]=t[e];o[0]&=127;return $t(o,8)-r}function re(t,e){const n=t.toString(10);if(e<n.length)return"";const r=e-n.length,i=new Array(r);for(let t=0;t<r;t++)i[t]="0";return i.join("").concat(n)}Math.log(2);
35
- /*!
36
- * Copyright (c) 2014, GMO GlobalSign
37
- * Copyright (c) 2015-2022, Peculiar Ventures
38
- * All rights reserved.
39
- *
40
- * Author 2014-2019, Yury Strozhevsky
41
- *
42
- * Redistribution and use in source and binary forms, with or without modification,
43
- * are permitted provided that the following conditions are met:
44
- *
45
- * * Redistributions of source code must retain the above copyright notice, this
46
- * list of conditions and the following disclaimer.
47
- *
48
- * * Redistributions in binary form must reproduce the above copyright notice, this
49
- * list of conditions and the following disclaimer in the documentation and/or
50
- * other materials provided with the distribution.
51
- *
52
- * * Neither the name of the copyright holder nor the names of its
53
- * contributors may be used to endorse or promote products derived from
54
- * this software without specific prior written permission.
55
- *
56
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
57
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
58
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
59
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
60
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
61
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
62
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
63
- * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
64
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
65
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
66
- *
67
- */
68
- function ie(){if("undefined"==typeof BigInt)throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function oe(t){let e=0,n=0;for(let n=0;n<t.length;n++){e+=t[n].byteLength}const r=new Uint8Array(e);for(let e=0;e<t.length;e++){const i=t[e];r.set(new Uint8Array(i),n),n+=i.byteLength}return r.buffer}function se(t,e,n,r){return e instanceof Uint8Array?e.byteLength?n<0?(t.error="Wrong parameter: inputOffset less than zero",!1):r<0?(t.error="Wrong parameter: inputLength less than zero",!1):!(e.byteLength-n-r<0)||(t.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):(t.error="Wrong parameter: inputBuffer has zero length",!1):(t.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}class ae{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return oe(this.items)}}const ce=[new Uint8Array([1])],le="0123456789",ue="name",he="valueHexView",de="isHexOnly",pe="idBlock",fe="tagClass",Ae="tagNumber",ge="isConstructed",Ee="fromBER",me="toBER",we="local",ye="",Ie=new ArrayBuffer(0),Ce=new Uint8Array(0),Be="EndOfContent",Te="OCTET STRING",De="BIT STRING";function be(t){var e;return(e=class extends t{get valueHex(){return this.valueHexView.slice().buffer}set valueHex(t){this.valueHexView=new Uint8Array(t)}constructor(...t){var e;super(...t);const n=t[0]||{};this.isHexOnly=null!==(e=n.isHexOnly)&&void 0!==e&&e,this.valueHexView=n.valueHex?Zt._H.toUint8Array(n.valueHex):Ce}fromBER(t,e,n){const r=t instanceof ArrayBuffer?new Uint8Array(t):t;if(!se(this,r,e,n))return-1;const i=e+n;return this.valueHexView=r.subarray(e,i),this.valueHexView.length?(this.blockLength=n,i):(this.warnings.push("Zero buffer length"),e)}toBER(t=!1){return this.isHexOnly?t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Ie)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:Zt.U$.ToHex(this.valueHexView)}}}).NAME="hexBlock",e}class Me{static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}constructor({blockLength:t=0,error:e=ye,warnings:n=[],valueBeforeDecode:r=Ce}={}){this.blockLength=t,this.error=e,this.warnings=n,this.valueBeforeDecodeView=Zt._H.toUint8Array(r)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:Zt.U$.ToHex(this.valueBeforeDecodeView)}}}Me.NAME="baseBlock";class Ne extends Me{fromBER(t,e,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}Ne.NAME="valueBlock";class ve extends(be(Me)){constructor({idBlock:t={}}={}){var e,n,r,i;super(),t?(this.isHexOnly=null!==(e=t.isHexOnly)&&void 0!==e&&e,this.valueHexView=t.valueHex?Zt._H.toUint8Array(t.valueHex):Ce,this.tagClass=null!==(n=t.tagClass)&&void 0!==n?n:-1,this.tagNumber=null!==(r=t.tagNumber)&&void 0!==r?r:-1,this.isConstructed=null!==(i=t.isConstructed)&&void 0!==i&&i):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",Ie}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){const n=new Uint8Array(1);if(!t){let t=this.tagNumber;t&=31,e|=t,n[0]=e}return n.buffer}if(!this.isHexOnly){const n=te(this.tagNumber,7),r=new Uint8Array(n),i=n.byteLength,o=new Uint8Array(i+1);if(o[0]=31|e,!t){for(let t=0;t<i-1;t++)o[t+1]=128|r[t];o[i]=r[i-1]}return o.buffer}const n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=31|e,!t){const t=this.valueHexView;for(let e=0;e<t.length-1;e++)n[e+1]=128|t[e];n[this.valueHexView.byteLength]=t[t.length-1]}return n.buffer}fromBER(t,e,n){const r=Zt._H.toUint8Array(t);if(!se(this,r,e,n))return-1;const i=r.subarray(e,e+n);if(0===i.length)return this.error="Zero buffer length",-1;switch(192&i[0]){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=!(32&~i[0]),this.isHexOnly=!1;const o=31&i[0];if(31!==o)this.tagNumber=o,this.blockLength=1;else{let t=1,e=this.valueHexView=new Uint8Array(255),n=255;for(;128&i[t];){if(e[t-1]=127&i[t],t++,t>=i.length)return this.error="End of input reached before message was fully decoded",-1;if(t===n){n+=255;const t=new Uint8Array(n);for(let n=0;n<e.length;n++)t[n]=e[n];e=this.valueHexView=new Uint8Array(n)}}this.blockLength=t+1,e[t-1]=127&i[t];const r=new Uint8Array(t);for(let n=0;n<t;n++)r[n]=e[n];e=this.valueHexView=new Uint8Array(t),e.set(r),this.blockLength<=9?this.tagNumber=$t(e,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(1===this.tagClass&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}}ve.NAME="identificationBlock";class Se extends Me{constructor({lenBlock:t={}}={}){var e,n,r;super(),this.isIndefiniteForm=null!==(e=t.isIndefiniteForm)&&void 0!==e&&e,this.longFormUsed=null!==(n=t.longFormUsed)&&void 0!==n&&n,this.length=null!==(r=t.length)&&void 0!==r?r:0}fromBER(t,e,n){const r=Zt._H.toUint8Array(t);if(!se(this,r,e,n))return-1;const i=r.subarray(e,e+n);if(0===i.length)return this.error="Zero buffer length",-1;if(255===i[0])return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=128===i[0],this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(128&i[0]),!1===this.longFormUsed)return this.length=i[0],this.blockLength=1,e+this.blockLength;const o=127&i[0];if(o>8)return this.error="Too big integer",-1;if(o+1>i.length)return this.error="End of input reached before message was fully decoded",-1;const s=e+1,a=r.subarray(s,s+o);return 0===a[o-1]&&this.warnings.push("Needlessly long encoded length"),this.length=$t(a,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=o+1,e+this.blockLength}toBER(t=!1){let e,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),!1===t&&(n=new Uint8Array(e),n[0]=128),e;if(this.longFormUsed){const r=te(this.length,8);if(r.byteLength>127)return this.error="Too big length",Ie;if(e=new ArrayBuffer(r.byteLength+1),t)return e;const i=new Uint8Array(r);n=new Uint8Array(e),n[0]=128|r.byteLength;for(let t=0;t<r.byteLength;t++)n[t+1]=i[t];return e}return e=new ArrayBuffer(1),!1===t&&(n=new Uint8Array(e),n[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}Se.NAME="lengthBlock";const _e={};class Le extends Me{constructor({name:t=ye,optional:e=!1,primitiveSchema:n,...r}={},i){super(r),this.name=t,this.optional=e,n&&(this.primitiveSchema=n),this.idBlock=new ve(r),this.lenBlock=new Se(r),this.valueBlock=i?new i(r):new Ne(r)}fromBER(t,e,n){const r=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),r)}toBER(t,e){const n=e||new ae;e||xe(this);const r=this.idBlock.toBER(t);if(n.write(r),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,n),n.write(new ArrayBuffer(2));else{const e=this.valueBlock.toBER(t);this.lenBlock.length=e.byteLength;const r=this.lenBlock.toBER(t);n.write(r),n.write(e)}return e?Ie:n.final()}toJSON(){const t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return"ascii"===t?this.onAsciiEncoding():Zt.U$.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${Zt.U$.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(t){if(this===t)return!0;if(!(t instanceof this.constructor))return!1;return function(t,e){if(t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let t=0;t<n.length;t++)if(n[t]!==r[t])return!1;return!0}(this.toBER(),t.toBER())}}function xe(t){var e;if(t instanceof _e.Constructed)for(const e of t.valueBlock.value)xe(e)&&(t.lenBlock.isIndefiniteForm=!0);return!!(null===(e=t.lenBlock)||void 0===e?void 0:e.isIndefiniteForm)}Le.NAME="BaseBlock";class Re extends Le{getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}constructor({value:t=ye,...e}={},n){super(e,n),t&&this.fromString(t)}fromBER(t,e,n){const r=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),r)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}Re.NAME="BaseStringBlock";class Fe extends(be(Ne)){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}}var Oe,Qe,ke,Ue,Pe,Ge,Ve,He,je,Ye,ze,Je,We,qe,Ke,Xe,Ze,$e,tn,en,nn,rn,on,sn,an,cn,ln,un,hn,dn,pn,fn,An,gn,En;Fe.NAME="PrimitiveValueBlock";class mn extends Le{constructor(t={}){super(t,Fe),this.idBlock.isConstructed=!1}}function wn(t,e=0,n=t.length){const r=e;let i=new Le({},Ne);const o=new Me;if(!se(o,t,e,n))return i.error=o.error,{offset:-1,result:i};if(!t.subarray(e,e+n).length)return i.error="Zero buffer length",{offset:-1,result:i};let s=i.idBlock.fromBER(t,e,n);if(i.idBlock.warnings.length&&i.warnings.concat(i.idBlock.warnings),-1===s)return i.error=i.idBlock.error,{offset:-1,result:i};if(e=s,n-=i.idBlock.blockLength,s=i.lenBlock.fromBER(t,e,n),i.lenBlock.warnings.length&&i.warnings.concat(i.lenBlock.warnings),-1===s)return i.error=i.lenBlock.error,{offset:-1,result:i};if(e=s,n-=i.lenBlock.blockLength,!i.idBlock.isConstructed&&i.lenBlock.isIndefiniteForm)return i.error="Indefinite length form used for primitive encoding form",{offset:-1,result:i};let a=Le;if(1===i.idBlock.tagClass){if(i.idBlock.tagNumber>=37&&!1===i.idBlock.isHexOnly)return i.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:i};switch(i.idBlock.tagNumber){case 0:if(i.idBlock.isConstructed&&i.lenBlock.length>0)return i.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:i};a=_e.EndOfContent;break;case 1:a=_e.Boolean;break;case 2:a=_e.Integer;break;case 3:a=_e.BitString;break;case 4:a=_e.OctetString;break;case 5:a=_e.Null;break;case 6:a=_e.ObjectIdentifier;break;case 10:a=_e.Enumerated;break;case 12:a=_e.Utf8String;break;case 13:a=_e.RelativeObjectIdentifier;break;case 14:a=_e.TIME;break;case 15:return i.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:i};case 16:a=_e.Sequence;break;case 17:a=_e.Set;break;case 18:a=_e.NumericString;break;case 19:a=_e.PrintableString;break;case 20:a=_e.TeletexString;break;case 21:a=_e.VideotexString;break;case 22:a=_e.IA5String;break;case 23:a=_e.UTCTime;break;case 24:a=_e.GeneralizedTime;break;case 25:a=_e.GraphicString;break;case 26:a=_e.VisibleString;break;case 27:a=_e.GeneralString;break;case 28:a=_e.UniversalString;break;case 29:a=_e.CharacterString;break;case 30:a=_e.BmpString;break;case 31:a=_e.DATE;break;case 32:a=_e.TimeOfDay;break;case 33:a=_e.DateTime;break;case 34:a=_e.Duration;break;default:{const t=i.idBlock.isConstructed?new _e.Constructed:new _e.Primitive;t.idBlock=i.idBlock,t.lenBlock=i.lenBlock,t.warnings=i.warnings,i=t}}}else a=i.idBlock.isConstructed?_e.Constructed:_e.Primitive;return i=function(t,e){if(t instanceof e)return t;const n=new e;return n.idBlock=t.idBlock,n.lenBlock=t.lenBlock,n.warnings=t.warnings,n.valueBeforeDecodeView=t.valueBeforeDecodeView,n}(i,a),s=i.fromBER(t,e,i.lenBlock.isIndefiniteForm?n:i.lenBlock.length),i.valueBeforeDecodeView=t.subarray(r,r+i.blockLength),{offset:s,result:i}}function yn(t){if(!t.byteLength){const t=new Le({},Ne);return t.error="Input buffer has zero length",{offset:-1,result:t}}return wn(Zt._H.toUint8Array(t).slice(),0,t.byteLength)}function In(t,e){return t?1:e}Oe=mn,_e.Primitive=Oe,mn.NAME="PRIMITIVE";class Cn extends Ne{constructor({value:t=[],isIndefiniteForm:e=!1,...n}={}){super(n),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,n){const r=Zt._H.toUint8Array(t);if(!se(this,r,e,n))return-1;if(this.valueBeforeDecodeView=r.subarray(e,e+n),0===this.valueBeforeDecodeView.length)return this.warnings.push("Zero buffer length"),e;let i=e;for(;In(this.isIndefiniteForm,n)>0;){const t=wn(r,i,n);if(-1===t.offset)return this.error=t.result.error,this.warnings.concat(t.result.warnings),-1;if(i=t.offset,this.blockLength+=t.result.blockLength,n-=t.result.blockLength,this.value.push(t.result),this.isIndefiniteForm&&t.result.constructor.NAME===Be)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Be?this.value.pop():this.warnings.push("No EndOfContent block encoded")),i}toBER(t,e){const n=e||new ae;for(let e=0;e<this.value.length;e++)this.value[e].toBER(t,n);return e?Ie:n.final()}toJSON(){const t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const e of this.value)t.value.push(e.toJSON());return t}}Cn.NAME="ConstructedValueBlock";class Bn extends Le{constructor(t={}){super(t,Cn),this.idBlock.isConstructed=!0}fromBER(t,e,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const r=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return-1===r?(this.error=this.valueBlock.error,r):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),r)}onAsciiEncoding(){const t=[];for(const e of this.valueBlock.value)t.push(e.toString("ascii").split("\n").map(t=>` ${t}`).join("\n"));const e=3===this.idBlock.tagClass?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return t.length?`${e} :\n${t.join("\n")}`:`${e} :`}}Qe=Bn,_e.Constructed=Qe,Bn.NAME="CONSTRUCTED";class Tn extends Ne{fromBER(t,e,n){return e}toBER(t){return Ie}}Tn.override="EndOfContentValueBlock";class Dn extends Le{constructor(t={}){super(t,Tn),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}ke=Dn,_e.EndOfContent=ke,Dn.NAME=Be;class bn extends Le{constructor(t={}){super(t,Ne),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,n){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=n,e+n>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+n}toBER(t,e){const n=new ArrayBuffer(2);if(!t){const t=new Uint8Array(n);t[0]=5,t[1]=0}return e&&e.write(n),n}onAsciiEncoding(){return`${this.constructor.NAME}`}}Ue=bn,_e.Null=Ue,bn.NAME="NULL";class Mn extends(be(Ne)){get value(){for(const t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=Zt._H.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}fromBER(t,e,n){const r=Zt._H.toUint8Array(t);return se(this,r,e,n)?(this.valueHexView=r.subarray(e,e+n),n>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,ne.call(this),this.blockLength=n,e+n):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}}Mn.NAME="BooleanValueBlock";class Nn extends Le{getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}constructor(t={}){super(t,Mn),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}}Pe=Nn,_e.Boolean=Pe,Nn.NAME="BOOLEAN";class vn extends(be(Cn)){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,n){let r=0;if(this.isConstructed){if(this.isHexOnly=!1,r=Cn.prototype.fromBER.call(this,t,e,n),-1===r)return r;for(let t=0;t<this.value.length;t++){const e=this.value[t].constructor.NAME;if(e===Be){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(e!==Te)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,r=super.fromBER(t,e,n),this.blockLength=n;return r}toBER(t,e){return this.isConstructed?Cn.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}vn.NAME="OctetStringValueBlock";class Sn extends Le{constructor({idBlock:t={},lenBlock:e={},...n}={}){var r,i;null!==(r=n.isConstructed)&&void 0!==r||(n.isConstructed=!!(null===(i=n.value)||void 0===i?void 0:i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},vn),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,n){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,0===n)return 0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){const r=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+n);try{if(r.byteLength){const t=wn(r,0,r.byteLength);-1!==t.offset&&t.offset===n&&(this.valueBlock.value=[t.result])}}catch{}}return super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Bn.prototype.onAsciiEncoding.call(this);return`${this.constructor.NAME} : ${Zt.U$.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;const t=[];for(const e of this.valueBlock.value)e instanceof Ge&&t.push(e.valueBlock.valueHexView);return Zt._H.concat(t)}}Ge=Sn,_e.OctetString=Ge,Sn.NAME=Te;class _n extends(be(Cn)){constructor({unusedBits:t=0,isConstructed:e=!1,...n}={}){super(n),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,n){if(!n)return e;let r=-1;if(this.isConstructed){if(r=Cn.prototype.fromBER.call(this,t,e,n),-1===r)return r;for(const t of this.value){const e=t.constructor.NAME;if(e===Be){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(e!==De)return this.error="BIT STRING may consists of BIT STRINGs only",-1;const n=t.valueBlock;if(this.unusedBits>0&&n.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=n.unusedBits}return r}const i=Zt._H.toUint8Array(t);if(!se(this,i,e,n))return-1;const o=i.subarray(e,e+n);if(this.unusedBits=o[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){const t=o.subarray(1);try{if(t.byteLength){const e=wn(t,0,t.byteLength);-1!==e.offset&&e.offset===n-1&&(this.value=[e.result])}}catch{}}return this.valueHexView=o.subarray(1),this.blockLength=o.length,e+n}toBER(t,e){if(this.isConstructed)return Cn.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Ie;const n=new Uint8Array(this.valueHexView.length+1);return n[0]=this.unusedBits,n.set(this.valueHexView,1),n.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}}_n.NAME="BitStringValueBlock";class Ln extends Le{constructor({idBlock:t={},lenBlock:e={},...n}={}){var r,i;null!==(r=n.isConstructed)&&void 0!==r||(n.isConstructed=!!(null===(i=n.value)||void 0===i?void 0:i.length)),super({idBlock:{isConstructed:n.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!n.isIndefiniteForm},...n},_n),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,n){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,n)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Bn.prototype.onAsciiEncoding.call(this);{const t=[],e=this.valueBlock.valueHexView;for(const n of e)t.push(n.toString(2).padStart(8,"0"));const n=t.join("");return`${this.constructor.NAME} : ${n.substring(0,n.length-this.valueBlock.unusedBits)}`}}}function xn(t,e){const n=new Uint8Array([0]),r=new Uint8Array(t),i=new Uint8Array(e);let o=r.slice(0);const s=o.length-1,a=i.slice(0),c=a.length-1;let l=0;let u=0;for(let t=c<s?s:c;t>=0;t--,u++){if(!0==u<a.length)l=o[s-u]+a[c-u]+n[0];else l=o[s-u]+n[0];if(n[0]=l/10,!0==u>=o.length)o=ee(new Uint8Array([l%10]),o);else o[s-u]=l%10}return n[0]>0&&(o=ee(n,o)),o}function Rn(t){if(t>=ce.length)for(let e=ce.length;e<=t;e++){const t=new Uint8Array([0]);let n=ce[e-1].slice(0);for(let e=n.length-1;e>=0;e--){const r=new Uint8Array([(n[e]<<1)+t[0]]);t[0]=r[0]/10,n[e]=r[0]%10}t[0]>0&&(n=ee(t,n)),ce.push(n)}return ce[t]}function Fn(t,e){let n=0;const r=new Uint8Array(t),i=new Uint8Array(e),o=r.slice(0),s=o.length-1,a=i.slice(0),c=a.length-1;let l,u=0;for(let t=c;t>=0;t--,u++)if(l=o[s-u]-a[c-u]-n,!0==l<0)n=1,o[s-u]=l+10;else n=0,o[s-u]=l;if(n>0)for(let t=s-c+1;t>=0;t--,u++){if(l=o[s-u]-n,!(l<0)){n=0,o[s-u]=l;break}n=1,o[s-u]=l+10}return o.slice()}Ve=Ln,_e.BitString=Ve,Ln.NAME=De;class On extends(be(Ne)){setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=ne.call(this)))}constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),void 0!==t&&(this.valueDec=t)}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(function(t){const e=t<0?-1*t:t;let n=128;for(let r=1;r<8;r++){if(e<=n){if(t<0){const t=te(n-e,8,r);return new Uint8Array(t)[0]|=128,t}let i=te(e,8,r),o=new Uint8Array(i);if(128&o[0]){const t=i.slice(0),e=new Uint8Array(t);i=new ArrayBuffer(i.byteLength+1),o=new Uint8Array(i);for(let n=0;n<t.byteLength;n++)o[n+1]=e[n];o[0]=0}return i}n*=Math.pow(2,8)}return new ArrayBuffer(0)}(t))}get valueDec(){return this._valueDec}fromDER(t,e,n,r=0){const i=this.fromBER(t,e,n);if(-1===i)return i;const o=this.valueHexView;return 0===o[0]&&128&o[1]?this.valueHexView=o.subarray(1):0!==r&&o.length<r&&(r-o.length>1&&(r=o.length+1),this.valueHexView=o.subarray(r-o.length)),i}toDER(t=!1){const e=this.valueHexView;switch(!0){case!!(128&e[0]):{const t=new Uint8Array(this.valueHexView.length+1);t[0]=0,t.set(e,1),this.valueHexView=t}break;case 0===e[0]&&!(128&e[1]):this.valueHexView=this.valueHexView.subarray(1)}return this.toBER(t)}fromBER(t,e,n){const r=super.fromBER(t,e,n);return-1===r||this.setValueHex(),r}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){const t=8*this.valueHexView.length-1;let e,n=new Uint8Array(8*this.valueHexView.length/3),r=0;const i=this.valueHexView;let o="",s=!1;for(let s=i.byteLength-1;s>=0;s--){e=i[s];for(let i=0;i<8;i++){if(!(1&~e))if(r===t)n=Fn(Rn(r),n),o="-";else n=xn(n,Rn(r));r++,e>>=1}}for(let t=0;t<n.length;t++)n[t]&&(s=!0),s&&(o+=le.charAt(n[t]));return!1===s&&(o+=le.charAt(0)),o}}He=On,On.NAME="IntegerValueBlock",Object.defineProperty(He.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});class Qn extends Le{constructor(t={}){super(t,On),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return ie(),BigInt(this.valueBlock.toString())}static fromBigInt(t){ie();const e=BigInt(t),n=new ae,r=e.toString(16).replace(/^-/,""),i=new Uint8Array(Zt.U$.FromHex(r));if(e<0){const t=new Uint8Array(i.length+(128&i[0]?1:0));t[0]|=128;const r=BigInt(`0x${Zt.U$.ToHex(t)}`)+e,o=Zt._H.toUint8Array(Zt.U$.FromHex(r.toString(16)));o[0]|=128,n.write(o)}else 128&i[0]&&n.write(new Uint8Array([0])),n.write(i);return new je({valueHex:n.final()})}convertToDER(){const t=new je({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new je({valueHex:0===this.valueBlock.valueHexView[0]?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}je=Qn,_e.Integer=je,Qn.NAME="INTEGER";class kn extends Qn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}Ye=kn,_e.Enumerated=Ye,kn.NAME="ENUMERATED";class Un extends(be(Ne)){constructor({valueDec:t=-1,isFirstSid:e=!1,...n}={}){super(n),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,n){if(!n)return e;const r=Zt._H.toUint8Array(t);if(!se(this,r,e,n))return-1;const i=r.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let t=0;t<n&&(this.valueHexView[t]=127&i[t],this.blockLength++,128&i[t]);t++);const o=new Uint8Array(this.blockLength);for(let t=0;t<this.blockLength;t++)o[t]=this.valueHexView[t];return this.valueHexView=o,128&i[this.blockLength-1]?(this.error="End of input reached before message was fully decoded",-1):(0===this.valueHexView[0]&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=$t(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){ie();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;const n=new Uint8Array(e.length/7);for(let t=0;t<n.length;t++)n[t]=parseInt(e.slice(7*t,7*t+7),2)+(t+1<n.length?128:0);this.fromBER(n.buffer,0,n.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);const e=this.valueHexView,n=new Uint8Array(this.blockLength);for(let t=0;t<this.blockLength-1;t++)n[t]=128|e[t];return n[this.blockLength-1]=e[this.blockLength-1],n.buffer}const e=te(this.valueDec,7);if(0===e.byteLength)return this.error="Error during encoding SID value",Ie;const n=new Uint8Array(e.byteLength);if(!t){const t=new Uint8Array(e),r=e.byteLength-1;for(let e=0;e<r;e++)n[e]=128|t[e];n[r]=t[r]}return n}toString(){let t="";if(this.isHexOnly)t=Zt.U$.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}}Un.NAME="sidBlock";class Pn extends Ne{constructor({value:t=ye,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let r=e;for(;n>0;){const e=new Un;if(r=e.fromBER(t,r,n),-1===r)return this.blockLength=0,this.error=e.error,r;0===this.value.length&&(e.isFirstSid=!0),this.blockLength+=e.blockLength,n-=e.blockLength,this.value.push(e)}return r}toBER(t){const e=[];for(let n=0;n<this.value.length;n++){const r=this.value[n].toBER(t);if(0===r.byteLength)return this.error=this.value[n].error,Ie;e.push(r)}return oe(e)}fromString(t){this.value=[];let e=0,n=0,r="",i=!1;do{if(n=t.indexOf(".",e),r=-1===n?t.substring(e):t.substring(e,n),e=n+1,i){const t=this.value[0];let e=0;switch(t.valueDec){case 0:break;case 1:e=40;break;case 2:e=80;break;default:return void(this.value=[])}const n=parseInt(r,10);if(isNaN(n))return;t.valueDec=n+e,i=!1}else{const t=new Un;if(r>Number.MAX_SAFE_INTEGER){ie();const e=BigInt(r);t.valueBigInt=e}else if(t.valueDec=parseInt(r,10),isNaN(t.valueDec))return;this.value.length||(t.isFirstSid=!0,i=!0),this.value.push(t)}}while(-1!==n)}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let r=this.value[n].toString();0!==n&&(t=`${t}.`),e?(r=`{${r}}`,this.value[n].isFirstSid?t=`2.{${r} - 80}`:t+=r):t+=r}return t}toJSON(){const t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}}Pn.NAME="ObjectIdentifierValueBlock";class Gn extends Le{getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}constructor(t={}){super(t,Pn),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}ze=Gn,_e.ObjectIdentifier=ze,Gn.NAME="OBJECT IDENTIFIER";class Vn extends(be(Me)){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,n){if(0===n)return e;const r=Zt._H.toUint8Array(t);if(!se(this,r,e,n))return-1;const i=r.subarray(e,e+n);this.valueHexView=new Uint8Array(n);for(let t=0;t<n&&(this.valueHexView[t]=127&i[t],this.blockLength++,128&i[t]);t++);const o=new Uint8Array(this.blockLength);for(let t=0;t<this.blockLength;t++)o[t]=this.valueHexView[t];return this.valueHexView=o,128&i[this.blockLength-1]?(this.error="End of input reached before message was fully decoded",-1):(0===this.valueHexView[0]&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=$t(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);const e=this.valueHexView,n=new Uint8Array(this.blockLength);for(let t=0;t<this.blockLength-1;t++)n[t]=128|e[t];return n[this.blockLength-1]=e[this.blockLength-1],n.buffer}const e=te(this.valueDec,7);if(0===e.byteLength)return this.error="Error during encoding SID value",Ie;const n=new Uint8Array(e.byteLength);if(!t){const t=new Uint8Array(e),r=e.byteLength-1;for(let e=0;e<r;e++)n[e]=128|t[e];n[r]=t[r]}return n.buffer}toString(){let t="";return t=this.isHexOnly?Zt.U$.ToHex(this.valueHexView):this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}}Vn.NAME="relativeSidBlock";class Hn extends Ne{constructor({value:t=ye,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,n){let r=e;for(;n>0;){const e=new Vn;if(r=e.fromBER(t,r,n),-1===r)return this.blockLength=0,this.error=e.error,r;this.blockLength+=e.blockLength,n-=e.blockLength,this.value.push(e)}return r}toBER(t,e){const n=[];for(let e=0;e<this.value.length;e++){const r=this.value[e].toBER(t);if(0===r.byteLength)return this.error=this.value[e].error,Ie;n.push(r)}return oe(n)}fromString(t){this.value=[];let e=0,n=0,r="";do{n=t.indexOf(".",e),r=-1===n?t.substring(e):t.substring(e,n),e=n+1;const i=new Vn;if(i.valueDec=parseInt(r,10),isNaN(i.valueDec))return!0;this.value.push(i)}while(-1!==n);return!0}toString(){let t="",e=!1;for(let n=0;n<this.value.length;n++){e=this.value[n].isHexOnly;let r=this.value[n].toString();0!==n&&(t=`${t}.`),e?(r=`{${r}}`,t+=r):t+=r}return t}toJSON(){const t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}}Hn.NAME="RelativeObjectIdentifierValueBlock";class jn extends Le{getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}constructor(t={}){super(t,Hn),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}Je=jn,_e.RelativeObjectIdentifier=Je,jn.NAME="RelativeObjectIdentifier";class Yn extends Bn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}We=Yn,_e.Sequence=We,Yn.NAME="SEQUENCE";class zn extends Bn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}}qe=zn,_e.Set=qe,zn.NAME="SET";class Jn extends(be(Ne)){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=ye}toJSON(){return{...super.toJSON(),value:this.value}}}Jn.NAME="StringValueBlock";class Wn extends Jn{}Wn.NAME="SimpleStringValueBlock";class qn extends Re{constructor({...t}={}){super(t,Wn)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,Zt._H.toUint8Array(t))}fromString(t){const e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(e);for(let r=0;r<e;r++)n[r]=t.charCodeAt(r);this.valueBlock.value=t}}qn.NAME="SIMPLE STRING";class Kn extends qn{fromBuffer(t){this.valueBlock.valueHexView=Zt._H.toUint8Array(t);try{this.valueBlock.value=Zt.U$.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=Zt.U$.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(Zt.U$.FromUtf8String(t)),this.valueBlock.value=t}}Kn.NAME="Utf8StringValueBlock";class Xn extends Kn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}Ke=Xn,_e.Utf8String=Ke,Xn.NAME="UTF8String";class Zn extends qn{fromBuffer(t){this.valueBlock.value=Zt.U$.ToUtf16String(t),this.valueBlock.valueHexView=Zt._H.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(Zt.U$.FromUtf16String(t))}}Zn.NAME="BmpStringValueBlock";class $n extends Zn{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}Xe=$n,_e.BmpString=Xe,$n.NAME="BMPString";class tr extends qn{fromBuffer(t){const e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),n=new Uint8Array(e);for(let t=0;t<n.length;t+=4)n[t]=n[t+3],n[t+1]=n[t+2],n[t+2]=0,n[t+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){const e=t.length,n=this.valueBlock.valueHexView=new Uint8Array(4*e);for(let r=0;r<e;r++){const e=te(t.charCodeAt(r),8),i=new Uint8Array(e);if(i.length>4)continue;const o=4-i.length;for(let t=i.length-1;t>=0;t--)n[4*r+t+o]=i[t]}this.valueBlock.value=t}}tr.NAME="UniversalStringValueBlock";class er extends tr{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}Ze=er,_e.UniversalString=Ze,er.NAME="UniversalString";class nr extends qn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}$e=nr,_e.NumericString=$e,nr.NAME="NumericString";class rr extends qn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}tn=rr,_e.PrintableString=tn,rr.NAME="PrintableString";class ir extends qn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}en=ir,_e.TeletexString=en,ir.NAME="TeletexString";class or extends qn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}nn=or,_e.VideotexString=nn,or.NAME="VideotexString";class sr extends qn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}rn=sr,_e.IA5String=rn,sr.NAME="IA5String";class ar extends qn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}on=ar,_e.GraphicString=on,ar.NAME="GraphicString";class cr extends qn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}sn=cr,_e.VisibleString=sn,cr.NAME="VisibleString";class lr extends qn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}an=lr,_e.GeneralString=an,lr.NAME="GeneralString";class ur extends qn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}cn=ur,_e.CharacterString=cn,ur.NAME="CharacterString";class hr extends cr{constructor({value:t,valueDate:e,...n}={}){if(super(n),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let e=0;e<t.length;e++)this.valueBlock.valueHexView[e]=t.charCodeAt(e)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,Zt._H.toUint8Array(t)))}toBuffer(){const t=this.toString(),e=new ArrayBuffer(t.length),n=new Uint8Array(e);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){const e=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/gi.exec(t);if(null===e)return void(this.error="Wrong input string for conversion");const n=parseInt(e[1],10);this.year=n>=50?1900+n:2e3+n,this.month=parseInt(e[2],10),this.day=parseInt(e[3],10),this.hour=parseInt(e[4],10),this.minute=parseInt(e[5],10),this.second=parseInt(e[6],10)}toString(t="iso"){if("iso"===t){const t=new Array(7);return t[0]=re(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=re(this.month,2),t[2]=re(this.day,2),t[3]=re(this.hour,2),t[4]=re(this.minute,2),t[5]=re(this.second,2),t[6]="Z",t.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}}ln=hr,_e.UTCTime=ln,hr.NAME="UTCTime";class dr extends hr{constructor(t={}){var e;super(t),null!==(e=this.millisecond)&&void 0!==e||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){const t=Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond);return new Date(t)}fromString(t){let e,n=!1,r="",i="",o=0,s=0,a=0;if("Z"===t[t.length-1])r=t.substring(0,t.length-1),n=!0;else{const e=new Number(t[t.length-1]);if(isNaN(e.valueOf()))throw new Error("Wrong input string for conversion");r=t}if(n){if(-1!==r.indexOf("+"))throw new Error("Wrong input string for conversion");if(-1!==r.indexOf("-"))throw new Error("Wrong input string for conversion")}else{let t=1,e=r.indexOf("+"),n="";if(-1===e&&(e=r.indexOf("-"),t=-1),-1!==e){if(n=r.substring(e+1),r=r.substring(0,e),2!==n.length&&4!==n.length)throw new Error("Wrong input string for conversion");let i=parseInt(n.substring(0,2),10);if(isNaN(i.valueOf()))throw new Error("Wrong input string for conversion");if(s=t*i,4===n.length){if(i=parseInt(n.substring(2,4),10),isNaN(i.valueOf()))throw new Error("Wrong input string for conversion");a=t*i}}}let c=r.indexOf(".");if(-1===c&&(c=r.indexOf(",")),-1!==c){const t=new Number(`0${r.substring(c)}`);if(isNaN(t.valueOf()))throw new Error("Wrong input string for conversion");o=t.valueOf(),i=r.substring(0,c)}else i=r;switch(!0){case 8===i.length:if(e=/(\d{4})(\d{2})(\d{2})/gi,-1!==c)throw new Error("Wrong input string for conversion");break;case 10===i.length:if(e=/(\d{4})(\d{2})(\d{2})(\d{2})/gi,-1!==c){let t=60*o;this.minute=Math.floor(t),t=60*(t-this.minute),this.second=Math.floor(t),t=1e3*(t-this.second),this.millisecond=Math.floor(t)}break;case 12===i.length:if(e=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/gi,-1!==c){let t=60*o;this.second=Math.floor(t),t=1e3*(t-this.second),this.millisecond=Math.floor(t)}break;case 14===i.length:if(e=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/gi,-1!==c){const t=1e3*o;this.millisecond=Math.floor(t)}break;default:throw new Error("Wrong input string for conversion")}const l=e.exec(i);if(null===l)throw new Error("Wrong input string for conversion");for(let t=1;t<l.length;t++)switch(t){case 1:this.year=parseInt(l[t],10);break;case 2:this.month=parseInt(l[t],10);break;case 3:this.day=parseInt(l[t],10);break;case 4:this.hour=parseInt(l[t],10)+s;break;case 5:this.minute=parseInt(l[t],10)+a;break;case 6:this.second=parseInt(l[t],10);break;default:throw new Error("Wrong input string for conversion")}if(!1===n){const t=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=t.getUTCFullYear(),this.month=t.getUTCMonth(),this.day=t.getUTCDay(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds(),this.millisecond=t.getUTCMilliseconds()}}toString(t="iso"){if("iso"===t){const t=[];return t.push(re(this.year,4)),t.push(re(this.month,2)),t.push(re(this.day,2)),t.push(re(this.hour,2)),t.push(re(this.minute,2)),t.push(re(this.second,2)),0!==this.millisecond&&(t.push("."),t.push(re(this.millisecond,3))),t.push("Z"),t.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}}un=dr,_e.GeneralizedTime=un,dr.NAME="GeneralizedTime";class pr extends Xn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}hn=pr,_e.DATE=hn,pr.NAME="DATE";class fr extends Xn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}dn=fr,_e.TimeOfDay=dn,fr.NAME="TimeOfDay";class Ar extends Xn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}pn=Ar,_e.DateTime=pn,Ar.NAME="DateTime";class gr extends Xn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}fn=gr,_e.Duration=fn,gr.NAME="Duration";class Er extends Xn{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}An=Er,_e.TIME=An,Er.NAME="TIME";class mr{constructor({name:t=ye,optional:e=!1}={}){this.name=t,this.optional=e}}class wr extends mr{constructor({value:t=[],...e}={}){super(e),this.value=t}}class yr extends mr{constructor({value:t=new mr,local:e=!1,...n}={}){super(n),this.value=t,this.local=e}}class Ir{get data(){return this.dataView.slice().buffer}set data(t){this.dataView=Zt._H.toUint8Array(t)}constructor({data:t=Ce}={}){this.dataView=Zt._H.toUint8Array(t)}fromBER(t,e,n){const r=e+n;return this.dataView=Zt._H.toUint8Array(t).subarray(e,r),r}toBER(t){return this.dataView.slice().buffer}}function Cr(t,e,n){if(n instanceof wr){for(const r of n.value){if(Cr(t,e,r).verified)return{verified:!0,result:t}}{const t={verified:!1,result:{error:"Wrong values for Choice type"}};return n.hasOwnProperty(ue)&&(t.name=n.name),t}}if(n instanceof mr)return n.hasOwnProperty(ue)&&(t[n.name]=e),{verified:!0,result:t};if(t instanceof Object==!1)return{verified:!1,result:{error:"Wrong root object"}};if(e instanceof Object==!1)return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(n instanceof Object==!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(pe in n==!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(Ee in n.idBlock==!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(me in n.idBlock==!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const r=n.idBlock.toBER(!1);if(0===r.byteLength)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(-1===n.idBlock.fromBER(r,0,r.byteLength))return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(!1===n.idBlock.hasOwnProperty(fe))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.tagClass!==e.idBlock.tagClass)return{verified:!1,result:t};if(!1===n.idBlock.hasOwnProperty(Ae))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.tagNumber!==e.idBlock.tagNumber)return{verified:!1,result:t};if(!1===n.idBlock.hasOwnProperty(ge))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:t};if(!(de in n.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(n.idBlock.isHexOnly!==e.idBlock.isHexOnly)return{verified:!1,result:t};if(n.idBlock.isHexOnly){if(he in n.idBlock==!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const r=n.idBlock.valueHexView,i=e.idBlock.valueHexView;if(r.length!==i.length)return{verified:!1,result:t};for(let e=0;e<r.length;e++)if(r[e]!==i[1])return{verified:!1,result:t}}if(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,ye),n.name&&(t[n.name]=e)),n instanceof _e.Constructed){let r=0,i={verified:!1,result:{error:"Unknown error"}},o=n.valueBlock.value.length;if(o>0&&n.valueBlock.value[0]instanceof yr&&(o=e.valueBlock.value.length),0===o)return{verified:!0,result:t};if(0===e.valueBlock.value.length&&0!==n.valueBlock.value.length){let e=!0;for(let t=0;t<n.valueBlock.value.length;t++)e=e&&(n.valueBlock.value[t].optional||!1);return e?{verified:!0,result:t}:(n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,ye),n.name&&delete t[n.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let s=0;s<o;s++)if(s-r>=e.valueBlock.value.length){if(!1===n.valueBlock.value[s].optional){const e={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,ye),n.name&&(delete t[n.name],e.name=n.name)),e}}else if(n.valueBlock.value[0]instanceof yr){if(i=Cr(t,e.valueBlock.value[s],n.valueBlock.value[0].value),!1===i.verified){if(!n.valueBlock.value[0].optional)return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,ye),n.name&&delete t[n.name]),i;r++}if(ue in n.valueBlock.value[0]&&n.valueBlock.value[0].name.length>0){let r={};r=we in n.valueBlock.value[0]&&n.valueBlock.value[0].local?e:t,void 0===r[n.valueBlock.value[0].name]&&(r[n.valueBlock.value[0].name]=[]),r[n.valueBlock.value[0].name].push(e.valueBlock.value[s])}}else if(i=Cr(t,e.valueBlock.value[s-r],n.valueBlock.value[s]),!1===i.verified){if(!n.valueBlock.value[s].optional)return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,ye),n.name&&delete t[n.name]),i;r++}if(!1===i.verified){const e={verified:!1,result:t};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,ye),n.name&&(delete t[n.name],e.name=n.name)),e}return{verified:!0,result:t}}if(n.primitiveSchema&&he in e.valueBlock){const r=wn(e.valueBlock.valueHexView);if(-1===r.offset){const e={verified:!1,result:r.result};return n.name&&(n.name=n.name.replace(/^\s+|\s+$/g,ye),n.name&&(delete t[n.name],e.name=n.name)),e}return Cr(t,r.result,n.primitiveSchema)}return{verified:!0,result:t}}function Br(t,e){if(e instanceof Object==!1)return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const n=wn(Zt._H.toUint8Array(t));return-1===n.offset?{verified:!1,result:n.result}:Cr(n.result,n.result,e)}!function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"}(gn||(gn={})),function(t){t[t.Any=1]="Any",t[t.Boolean=2]="Boolean",t[t.OctetString=3]="OctetString",t[t.BitString=4]="BitString",t[t.Integer=5]="Integer",t[t.Enumerated=6]="Enumerated",t[t.ObjectIdentifier=7]="ObjectIdentifier",t[t.Utf8String=8]="Utf8String",t[t.BmpString=9]="BmpString",t[t.UniversalString=10]="UniversalString",t[t.NumericString=11]="NumericString",t[t.PrintableString=12]="PrintableString",t[t.TeletexString=13]="TeletexString",t[t.VideotexString=14]="VideotexString",t[t.IA5String=15]="IA5String",t[t.GraphicString=16]="GraphicString",t[t.VisibleString=17]="VisibleString",t[t.GeneralString=18]="GeneralString",t[t.CharacterString=19]="CharacterString",t[t.UTCTime=20]="UTCTime",t[t.GeneralizedTime=21]="GeneralizedTime",t[t.DATE=22]="DATE",t[t.TimeOfDay=23]="TimeOfDay",t[t.DateTime=24]="DateTime",t[t.Duration=25]="Duration",t[t.TIME=26]="TIME",t[t.Null=27]="Null"}(En||(En={}));class Tr{constructor(t,e=0){if(this.unusedBits=0,this.value=new ArrayBuffer(0),t)if("number"==typeof t)this.fromNumber(t);else{if(!Zt._H.isBufferSource(t))throw TypeError("Unsupported type of 'params' argument for BitString");this.unusedBits=e,this.value=Zt._H.toArrayBuffer(t)}}fromASN(t){if(!(t instanceof Ln))throw new TypeError("Argument 'asn' is not instance of ASN.1 BitString");return this.unusedBits=t.valueBlock.unusedBits,this.value=t.valueBlock.valueHex,this}toASN(){return new Ln({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(t){return new Ln({name:t})}toNumber(){let t="";const e=new Uint8Array(this.value);for(const n of e)t+=n.toString(2).padStart(8,"0");return t=t.split("").reverse().join(""),this.unusedBits&&(t=t.slice(this.unusedBits).padStart(this.unusedBits,"0")),parseInt(t,2)}fromNumber(t){let e=t.toString(2);const n=e.length+7>>3;this.unusedBits=(n<<3)-e.length;const r=new Uint8Array(n);e=e.padStart(n<<3,"0").split("").reverse().join("");let i=0;for(;i<n;)r[i]=parseInt(e.slice(i<<3,8+(i<<3)),2),i++;this.value=r.buffer}}class Dr{get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}constructor(t){"number"==typeof t?this.buffer=new ArrayBuffer(t):Zt._H.isBufferSource(t)?this.buffer=Zt._H.toArrayBuffer(t):Array.isArray(t)?this.buffer=new Uint8Array(t):this.buffer=new ArrayBuffer(0)}fromASN(t){if(!(t instanceof Sn))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=t.valueBlock.valueHex,this}toASN(){return new Sn({valueHex:this.buffer})}toSchema(t){return new Sn({name:t})}}const br={fromASN:t=>t instanceof bn?null:t.valueBeforeDecodeView,toASN:t=>{if(null===t)return new bn;const e=yn(t);if(e.result.error)throw new Error(e.result.error);return e.result}},Mr={fromASN:t=>t.valueBlock.valueHexView.byteLength>=4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new Qn({value:+t})},Nr={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new kn({value:t})},vr={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new Qn({valueHex:t})},Sr={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new Ln({valueHex:t})},_r={fromASN:t=>t.valueBlock.toString(),toASN:t=>new Gn({value:t})},Lr={fromASN:t=>t.valueBlock.value,toASN:t=>new Nn({value:t})},xr={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new Sn({valueHex:t})},Rr={fromASN:t=>new Dr(t.getValue()),toASN:t=>t.toASN()};function Fr(t){return{fromASN:t=>t.valueBlock.value,toASN:e=>new t({value:e})}}const Or=Fr(Xn),Qr=Fr($n),kr=Fr(er),Ur=Fr(nr),Pr=Fr(rr),Gr=Fr(ir),Vr=Fr(or),Hr=Fr(sr),jr=Fr(ar),Yr=Fr(cr),zr=Fr(lr),Jr=Fr(ur),Wr={fromASN:t=>t.toDate(),toASN:t=>new hr({valueDate:t})},qr={fromASN:t=>t.toDate(),toASN:t=>new dr({valueDate:t})},Kr={fromASN:()=>null,toASN:()=>new bn};function Xr(t){switch(t){case En.Any:return br;case En.BitString:return Sr;case En.BmpString:return Qr;case En.Boolean:return Lr;case En.CharacterString:return Jr;case En.Enumerated:return Nr;case En.GeneralString:return zr;case En.GeneralizedTime:return qr;case En.GraphicString:return jr;case En.IA5String:return Hr;case En.Integer:return Mr;case En.Null:return Kr;case En.NumericString:return Ur;case En.ObjectIdentifier:return _r;case En.OctetString:return xr;case En.PrintableString:return Pr;case En.TeletexString:return Gr;case En.UTCTime:return Wr;case En.UniversalString:return kr;case En.Utf8String:return Or;case En.VideotexString:return Vr;case En.VisibleString:return Yr;default:return null}}function Zr(t){return"function"==typeof t&&t.prototype?!(!t.prototype.toASN||!t.prototype.fromASN)||Zr(t.prototype):!!(t&&"object"==typeof t&&"toASN"in t&&"fromASN"in t)}function $r(t){var e;if(t){const n=Object.getPrototypeOf(t);return(null===(e=null==n?void 0:n.prototype)||void 0===e?void 0:e.constructor)===Array||$r(n)}return!1}function ti(t,e){if(!t||!e)return!1;if(t.byteLength!==e.byteLength)return!1;const n=new Uint8Array(t),r=new Uint8Array(e);for(let e=0;e<t.byteLength;e++)if(n[e]!==r[e])return!1;return!0}const ei=new class{constructor(){this.items=new WeakMap}has(t){return this.items.has(t)}get(t,e=!1){const n=this.items.get(t);if(!n)throw new Error(`Cannot get schema for '${t.prototype.constructor.name}' target`);if(e&&!n.schema)throw new Error(`Schema '${t.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`);return n}cache(t){const e=this.get(t);e.schema||(e.schema=this.create(t,!0))}createDefault(t){const e={type:gn.Sequence,items:{}},n=this.findParentSchema(t);return n&&(Object.assign(e,n),e.items=Object.assign({},e.items,n.items)),e}create(e,n){const r=this.items.get(e)||this.createDefault(e),i=[];for(const e in r.items){const o=r.items[e],s=n?e:"";let a;if("number"==typeof o.type){const e=En[o.type],n=t[e];if(!n)throw new Error(`Cannot get ASN1 class by name '${e}'`);a=new n({name:s})}else if(Zr(o.type)){a=(new o.type).toSchema(s)}else if(o.optional){this.get(o.type).type===gn.Choice?a=new mr({name:s}):(a=this.create(o.type,!1),a.name=s)}else a=new mr({name:s});const c=!!o.optional||void 0!==o.defaultValue;if(o.repeated){a.name="";a=new("set"===o.repeated?zn:Yn)({name:"",value:[new yr({name:s,value:a})]})}if(null!==o.context&&void 0!==o.context)if(o.implicit)if("number"==typeof o.type||Zr(o.type)){const t=o.repeated?Bn:mn;i.push(new t({name:s,optional:c,idBlock:{tagClass:3,tagNumber:o.context}}))}else{this.cache(o.type);const t=!!o.repeated;let e=t?a:this.get(o.type,!0).schema;e="valueBlock"in e?e.valueBlock.value:e.value,i.push(new Bn({name:t?"":s,optional:c,idBlock:{tagClass:3,tagNumber:o.context},value:e}))}else i.push(new Bn({optional:c,idBlock:{tagClass:3,tagNumber:o.context},value:[a]}));else a.optional=c,i.push(a)}switch(r.type){case gn.Sequence:return new Yn({value:i,name:""});case gn.Set:return new zn({value:i,name:""});case gn.Choice:return new wr({value:i,name:""});default:throw new Error("Unsupported ASN1 type in use")}}set(t,e){return this.items.set(t,e),this}findParentSchema(t){const e=Object.getPrototypeOf(t);if(e){return this.items.get(e)||this.findParentSchema(e)}return null}},ni=t=>e=>{let n;ei.has(e)?n=ei.get(e):(n=ei.createDefault(e),ei.set(e,n)),Object.assign(n,t)},ri=t=>(e,n)=>{let r;ei.has(e.constructor)?r=ei.get(e.constructor):(r=ei.createDefault(e.constructor),ei.set(e.constructor,r));const i=Object.assign({},t);if("number"==typeof i.type&&!i.converter){const r=Xr(t.type);if(!r)throw new Error(`Cannot get default converter for property '${n}' of ${e.constructor.name}`);i.converter=r}i.raw=t.raw,r.items[n]=i};class ii extends Error{constructor(){super(...arguments),this.schemas=[]}}class oi{static parse(t,e){const n=yn(t);if(n.result.error)throw new Error(n.result.error);return this.fromASN(n.result,e)}static fromASN(t,e){try{if(Zr(e)){return(new e).fromASN(t)}const n=ei.get(e);ei.cache(e);let r=n.schema;const i=this.handleChoiceTypes(t,n,e,r);if(null==i?void 0:i.result)return i.result;(null==i?void 0:i.targetSchema)&&(r=i.targetSchema);const o=this.handleSequenceTypes(t,n,e,r),s=new e;return $r(e)?this.handleArrayTypes(t,n,e):(this.processSchemaItems(n,o,s),s)}catch(t){throw t instanceof ii&&t.schemas.push(e.name),t}}static handleChoiceTypes(t,e,n,r){if(t.constructor===Bn&&e.type===gn.Choice&&3===t.idBlock.tagClass)for(const r in e.items){const i=e.items[r];if(i.context===t.idBlock.tagNumber&&i.implicit&&"function"==typeof i.type&&ei.has(i.type)){const e=ei.get(i.type);if(e&&e.type===gn.Sequence){const e=new Yn;if("value"in t.valueBlock&&Array.isArray(t.valueBlock.value)&&"value"in e.valueBlock){e.valueBlock.value=t.valueBlock.value;const o=this.fromASN(e,i.type),s=new n;return s[r]=o,{result:s}}}}}else if(t.constructor===Bn&&e.type!==gn.Choice){const n=new Bn({idBlock:{tagClass:3,tagNumber:t.idBlock.tagNumber},value:e.schema.valueBlock.value});for(const n in e.items)delete t[n];return{targetSchema:n}}return null}static handleSequenceTypes(t,e,n,r){if(e.type===gn.Sequence){const e=Cr({},t,r);if(!e.verified)throw new ii(`Data does not match to ${n.name} ASN1 schema.${e.result.error?` ${e.result.error}`:""}`);return e}{const e=Cr({},t,r);if(!e.verified)throw new ii(`Data does not match to ${n.name} ASN1 schema.${e.result.error?` ${e.result.error}`:""}`);return e}}static processRepeatedField(t,e,n){let r=t.slice(e);if(1===r.length&&"Sequence"===r[0].constructor.name){const t=r[0];t.valueBlock&&t.valueBlock.value&&Array.isArray(t.valueBlock.value)&&(r=t.valueBlock.value)}if("number"==typeof n.type){const t=Xr(n.type);if(!t)throw new Error(`No converter for ASN.1 type ${n.type}`);return r.filter(t=>t&&t.valueBlock).map(e=>{try{return t.fromASN(e)}catch{return}}).filter(t=>void 0!==t)}return r.filter(t=>t&&t.valueBlock).map(t=>{try{return this.fromASN(t,n.type)}catch{return}}).filter(t=>void 0!==t)}static processPrimitiveField(t,e){const n=Xr(e.type);if(!n)throw new Error(`No converter for ASN.1 type ${e.type}`);return n.fromASN(t)}static isOptionalChoiceField(t){return t.optional&&"function"==typeof t.type&&ei.has(t.type)&&ei.get(t.type).type===gn.Choice}static processOptionalChoiceField(t,e){try{return{processed:!0,value:this.fromASN(t,e.type)}}catch(t){if(t instanceof ii&&/Wrong values for Choice type/.test(t.message))return{processed:!1};throw t}}static handleArrayTypes(t,e,n){if(!("value"in t.valueBlock)||!Array.isArray(t.valueBlock.value))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const r=e.itemType;if("number"==typeof r){const e=Xr(r);if(!e)throw new Error(`Cannot get default converter for array item of ${n.name} ASN1 schema`);return n.from(t.valueBlock.value,t=>e.fromASN(t))}return n.from(t.valueBlock.value,t=>this.fromASN(t,r))}static processSchemaItems(t,e,n){for(const r in t.items){const i=e.result[r];if(!i)continue;const o=t.items[r],s=o.type;let a;a="number"==typeof s||Zr(s)?this.processPrimitiveSchemaItem(i,o,s):this.processComplexSchemaItem(i,o,s),a&&"object"==typeof a&&"value"in a&&"raw"in a?(n[r]=a.value,n[`${r}Raw`]=a.raw):n[r]=a}}static processPrimitiveSchemaItem(t,e,n){var r;const i=null!==(r=e.converter)&&void 0!==r?r:Zr(n)?new n:null;if(!i)throw new Error("Converter is empty");return e.repeated?this.processRepeatedPrimitiveItem(t,e,i):this.processSinglePrimitiveItem(t,e,n,i)}static processRepeatedPrimitiveItem(t,e,n){if(e.implicit){const r=new("sequence"===e.repeated?Yn:zn);r.valueBlock=t.valueBlock;const i=yn(r.toBER(!1));if(-1===i.offset)throw new Error(`Cannot parse the child item. ${i.result.error}`);if(!("value"in i.result.valueBlock)||!Array.isArray(i.result.valueBlock.value))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const o=i.result.valueBlock.value;return Array.from(o,t=>n.fromASN(t))}return Array.from(t,t=>n.fromASN(t))}static processSinglePrimitiveItem(e,n,r,i){let o=e;if(n.implicit){let e;if(Zr(r))e=(new r).toSchema("");else{const n=En[r],i=t[n];if(!i)throw new Error(`Cannot get '${n}' class from asn1js module`);e=new i}e.valueBlock=o.valueBlock,o=yn(e.toBER(!1)).result}return i.fromASN(o)}static processComplexSchemaItem(t,e,n){if(e.repeated){if(!Array.isArray(t))throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");return Array.from(t,t=>this.fromASN(t,n))}{const r=this.handleImplicitTagging(t,e,n);if(!this.isOptionalChoiceField(e)){const i=this.fromASN(r,n);return e.raw?{value:i,raw:t.valueBeforeDecodeView}:i}try{return this.fromASN(r,n)}catch(t){if(t instanceof ii&&/Wrong values for Choice type/.test(t.message))return;throw t}}}static handleImplicitTagging(t,e,n){if(e.implicit&&"number"==typeof e.context){const e=ei.get(n);if(e.type===gn.Sequence){const e=new Yn;if("value"in t.valueBlock&&Array.isArray(t.valueBlock.value)&&"value"in e.valueBlock)return e.valueBlock.value=t.valueBlock.value,e}else if(e.type===gn.Set){const e=new zn;if("value"in t.valueBlock&&Array.isArray(t.valueBlock.value)&&"value"in e.valueBlock)return e.valueBlock.value=t.valueBlock.value,e}}return t}}class si{static serialize(t){return t instanceof Le?t.toBER(!1):this.toASN(t).toBER(!1)}static toASN(t){if(t&&"object"==typeof t&&Zr(t))return t.toASN();if(!t||"object"!=typeof t)throw new TypeError("Parameter 1 should be type of Object.");const e=t.constructor,n=ei.get(e);ei.cache(e);let r,i=[];if(n.itemType){if(!Array.isArray(t))throw new TypeError("Parameter 1 should be type of Array.");if("number"==typeof n.itemType){const r=Xr(n.itemType);if(!r)throw new Error(`Cannot get default converter for array item of ${e.name} ASN1 schema`);i=t.map(t=>r.toASN(t))}else i=t.map(t=>this.toAsnItem({type:n.itemType},"[]",e,t))}else for(const r in n.items){const o=n.items[r],s=t[r];if(void 0===s||o.defaultValue===s||"object"==typeof o.defaultValue&&"object"==typeof s&&ti(this.serialize(o.defaultValue),this.serialize(s)))continue;const a=si.toAsnItem(o,r,e,s);if("number"==typeof o.context)if(o.implicit)if(o.repeated||"number"!=typeof o.type&&!Zr(o.type))i.push(new Bn({optional:o.optional,idBlock:{tagClass:3,tagNumber:o.context},value:a.valueBlock.value}));else{const t={};t.valueHex=a instanceof bn?a.valueBeforeDecodeView:a.valueBlock.toBER(),i.push(new mn({optional:o.optional,idBlock:{tagClass:3,tagNumber:o.context},...t}))}else i.push(new Bn({optional:o.optional,idBlock:{tagClass:3,tagNumber:o.context},value:[a]}));else o.repeated?i=i.concat(a):i.push(a)}switch(n.type){case gn.Sequence:r=new Yn({value:i});break;case gn.Set:r=new zn({value:i});break;case gn.Choice:if(!i[0])throw new Error(`Schema '${e.name}' has wrong data. Choice cannot be empty.`);r=i[0]}return r}static toAsnItem(t,e,n,r){let i;if("number"==typeof t.type){const o=t.converter;if(!o)throw new Error(`Property '${e}' doesn't have converter for type ${En[t.type]} in schema '${n.name}'`);if(t.repeated){if(!Array.isArray(r))throw new TypeError("Parameter 'objProp' should be type of Array.");const e=Array.from(r,t=>o.toASN(t));i=new("sequence"===t.repeated?Yn:zn)({value:e})}else i=o.toASN(r)}else if(t.repeated){if(!Array.isArray(r))throw new TypeError("Parameter 'objProp' should be type of Array.");const e=Array.from(r,t=>this.toASN(t));i=new("sequence"===t.repeated?Yn:zn)({value:e})}else i=this.toASN(r);return i}}class ai extends Array{constructor(t=[]){if("number"==typeof t)super(t);else{super();for(const e of t)this.push(e)}}}class ci{static serialize(t){return si.serialize(t)}static parse(t,e){return oi.parse(t,e)}static toString(t){const e=yn(Zt._H.isBufferSource(t)?Zt._H.toArrayBuffer(t):ci.serialize(t));if(-1===e.offset)throw new Error(`Cannot decode ASN.1 data. ${e.result.error}`);return e.result.toString()}}function li(t,e,n,r){var i,o=arguments.length,s=o<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(o<3?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s}Object.create;Object.create;function ui(t,e,n,r){if("a"===n&&!r)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===n?r:"a"===n?r.call(t):r?r.value:e.get(t)}function hi(t,e,n,r,i){if("m"===r)throw new TypeError("Private method is not writable");if("a"===r&&!i)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?i.call(t,n):i?i.value=n:e.set(t,n),n}"function"==typeof SuppressedError&&SuppressedError;class di{static isIPv4(t){return/^(\d{1,3}\.){3}\d{1,3}$/.test(t)}static parseIPv4(t){const e=t.split(".");if(4!==e.length)throw new Error("Invalid IPv4 address");return e.map(t=>{const e=parseInt(t,10);if(isNaN(e)||e<0||e>255)throw new Error("Invalid IPv4 address part");return e})}static parseIPv6(t){const e=this.expandIPv6(t).split(":");if(8!==e.length)throw new Error("Invalid IPv6 address");return e.reduce((t,e)=>{const n=parseInt(e,16);if(isNaN(n)||n<0||n>65535)throw new Error("Invalid IPv6 address part");return t.push(n>>8&255),t.push(255&n),t},[])}static expandIPv6(t){if(!t.includes("::"))return t;const e=t.split("::");if(e.length>2)throw new Error("Invalid IPv6 address");const n=e[0]?e[0].split(":"):[],r=e[1]?e[1].split(":"):[],i=8-(n.length+r.length);if(i<0)throw new Error("Invalid IPv6 address");return[...n,...Array(i).fill("0"),...r].join(":")}static formatIPv6(t){const e=[];for(let n=0;n<16;n+=2)e.push((t[n]<<8|t[n+1]).toString(16));return this.compressIPv6(e.join(":"))}static compressIPv6(t){const e=t.split(":");let n=-1,r=0,i=-1,o=0;for(let t=0;t<e.length;t++)"0"===e[t]?(-1===i&&(i=t),o++):(o>r&&(n=i,r=o),i=-1,o=0);if(o>r&&(n=i,r=o),r>1){return`${e.slice(0,n).join(":")}::${e.slice(n+r).join(":")}`}return t}static parseCIDR(t){const[e,n]=t.split("/"),r=parseInt(n,10);if(this.isIPv4(e)){if(r<0||r>32)throw new Error("Invalid IPv4 prefix length");return[this.parseIPv4(e),r]}if(r<0||r>128)throw new Error("Invalid IPv6 prefix length");return[this.parseIPv6(e),r]}static decodeIP(t){if(64===t.length&&0===parseInt(t,16))return"::/0";if(16!==t.length)return t;const e=parseInt(t.slice(8),16).toString(2).split("").reduce((t,e)=>t+ +e,0);let n=t.slice(0,8).replace(/(.{2})/g,t=>`${parseInt(t,16)}.`);return n=n.slice(0,-1),`${n}/${e}`}static toString(t){const e=new Uint8Array(t);if(4===e.length)return Array.from(e).join(".");if(16===e.length)return this.formatIPv6(e);if(8===e.length||32===e.length){const t=e.length/2,n=e.slice(0,t),r=e.slice(t);if(e.every(t=>0===t))return 8===e.length?"0.0.0.0/0":"::/0";const i=r.reduce((t,e)=>t+(e.toString(2).match(/1/g)||[]).length,0);if(8===e.length){return`${Array.from(n).join(".")}/${i}`}return`${this.formatIPv6(n)}/${i}`}return this.decodeIP(Zt.U$.ToHex(t))}static fromString(t){if(t.includes("/")){const[e,n]=this.parseCIDR(t),r=new Uint8Array(e.length);let i=n;for(let t=0;t<r.length;t++)i>=8?(r[t]=255,i-=8):i>0&&(r[t]=255<<8-i,i=0);const o=new Uint8Array(2*e.length);return o.set(e,0),o.set(r,e.length),o.buffer}const e=this.isIPv4(t)?this.parseIPv4(t):this.parseIPv6(t);return new Uint8Array(e).buffer}}var pi,fi,Ai;let gi=class{constructor(t={}){Object.assign(this,t)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};li([ri({type:En.TeletexString})],gi.prototype,"teletexString",void 0),li([ri({type:En.PrintableString})],gi.prototype,"printableString",void 0),li([ri({type:En.UniversalString})],gi.prototype,"universalString",void 0),li([ri({type:En.Utf8String})],gi.prototype,"utf8String",void 0),li([ri({type:En.BmpString})],gi.prototype,"bmpString",void 0),gi=li([ni({type:gn.Choice})],gi);let Ei=class extends gi{constructor(t={}){super(t),Object.assign(this,t)}toString(){return this.ia5String||(this.anyValue?Zt.U$.ToHex(this.anyValue):super.toString())}};li([ri({type:En.IA5String})],Ei.prototype,"ia5String",void 0),li([ri({type:En.Any})],Ei.prototype,"anyValue",void 0),Ei=li([ni({type:gn.Choice})],Ei);class mi{constructor(t={}){this.type="",this.value=new Ei,Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],mi.prototype,"type",void 0),li([ri({type:Ei})],mi.prototype,"value",void 0);let wi=pi=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,pi.prototype)}};wi=pi=li([ni({type:gn.Set,itemType:mi})],wi);let yi=fi=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,fi.prototype)}};yi=fi=li([ni({type:gn.Sequence,itemType:wi})],yi);let Ii=Ai=class extends yi{constructor(t){super(t),Object.setPrototypeOf(this,Ai.prototype)}};Ii=Ai=li([ni({type:gn.Sequence})],Ii);const Ci={fromASN:t=>di.toString(xr.fromASN(t)),toASN:t=>xr.toASN(di.fromString(t))};class Bi{constructor(t={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],Bi.prototype,"typeId",void 0),li([ri({type:En.Any,context:0})],Bi.prototype,"value",void 0);class Ti{constructor(t={}){this.partyName=new gi,Object.assign(this,t)}}li([ri({type:gi,optional:!0,context:0,implicit:!0})],Ti.prototype,"nameAssigner",void 0),li([ri({type:gi,context:1,implicit:!0})],Ti.prototype,"partyName",void 0);let Di=class{constructor(t={}){Object.assign(this,t)}};li([ri({type:Bi,context:0,implicit:!0})],Di.prototype,"otherName",void 0),li([ri({type:En.IA5String,context:1,implicit:!0})],Di.prototype,"rfc822Name",void 0),li([ri({type:En.IA5String,context:2,implicit:!0})],Di.prototype,"dNSName",void 0),li([ri({type:En.Any,context:3,implicit:!0})],Di.prototype,"x400Address",void 0),li([ri({type:Ii,context:4,implicit:!1})],Di.prototype,"directoryName",void 0),li([ri({type:Ti,context:5})],Di.prototype,"ediPartyName",void 0),li([ri({type:En.IA5String,context:6,implicit:!0})],Di.prototype,"uniformResourceIdentifier",void 0),li([ri({type:En.OctetString,context:7,implicit:!0,converter:Ci})],Di.prototype,"iPAddress",void 0),li([ri({type:En.ObjectIdentifier,context:8,implicit:!0})],Di.prototype,"registeredID",void 0),Di=li([ni({type:gn.Choice})],Di);const bi="1.3.6.1.5.5.7",Mi=`${bi}.3`,Ni=`${bi}.48`,vi=`${Ni}.1`,Si=`${Ni}.2`,_i=`${Ni}.3`,Li=`${Ni}.5`,xi="2.5.29";var Ri;const Fi=`${`${bi}.1`}.1`;class Oi{constructor(t={}){this.accessMethod="",this.accessLocation=new Di,Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],Oi.prototype,"accessMethod",void 0),li([ri({type:Di})],Oi.prototype,"accessLocation",void 0);let Qi=Ri=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,Ri.prototype)}};Qi=Ri=li([ni({type:gn.Sequence,itemType:Oi})],Qi);const ki=`${xi}.35`;class Ui extends Dr{}class Pi{constructor(t={}){t&&Object.assign(this,t)}}li([ri({type:Ui,context:0,optional:!0,implicit:!0})],Pi.prototype,"keyIdentifier",void 0),li([ri({type:Di,context:1,optional:!0,implicit:!0,repeated:"sequence"})],Pi.prototype,"authorityCertIssuer",void 0),li([ri({type:En.Integer,context:2,optional:!0,implicit:!0,converter:vr})],Pi.prototype,"authorityCertSerialNumber",void 0);const Gi=`${xi}.19`;class Vi{constructor(t={}){this.cA=!1,Object.assign(this,t)}}var Hi;li([ri({type:En.Boolean,defaultValue:!1})],Vi.prototype,"cA",void 0),li([ri({type:En.Integer,optional:!0})],Vi.prototype,"pathLenConstraint",void 0);let ji=Hi=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,Hi.prototype)}};var Yi;ji=Hi=li([ni({type:gn.Sequence,itemType:Di})],ji);let zi=Yi=class extends ji{constructor(t){super(t),Object.setPrototypeOf(this,Yi.prototype)}};var Ji;zi=Yi=li([ni({type:gn.Sequence})],zi);const Wi=`${xi}.32`;let qi=class{constructor(t={}){Object.assign(this,t)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};li([ri({type:En.IA5String})],qi.prototype,"ia5String",void 0),li([ri({type:En.VisibleString})],qi.prototype,"visibleString",void 0),li([ri({type:En.BmpString})],qi.prototype,"bmpString",void 0),li([ri({type:En.Utf8String})],qi.prototype,"utf8String",void 0),qi=li([ni({type:gn.Choice})],qi);class Ki{constructor(t={}){this.organization=new qi,this.noticeNumbers=[],Object.assign(this,t)}}li([ri({type:qi})],Ki.prototype,"organization",void 0),li([ri({type:En.Integer,repeated:"sequence"})],Ki.prototype,"noticeNumbers",void 0);class Xi{constructor(t={}){Object.assign(this,t)}}li([ri({type:Ki,optional:!0})],Xi.prototype,"noticeRef",void 0),li([ri({type:qi,optional:!0})],Xi.prototype,"explicitText",void 0);let Zi=class{constructor(t={}){Object.assign(this,t)}};li([ri({type:En.IA5String})],Zi.prototype,"cPSuri",void 0),li([ri({type:Xi})],Zi.prototype,"userNotice",void 0),Zi=li([ni({type:gn.Choice})],Zi);class $i{constructor(t={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],$i.prototype,"policyQualifierId",void 0),li([ri({type:En.Any})],$i.prototype,"qualifier",void 0);class to{constructor(t={}){this.policyIdentifier="",Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],to.prototype,"policyIdentifier",void 0),li([ri({type:$i,repeated:"sequence",optional:!0})],to.prototype,"policyQualifiers",void 0);let eo=Ji=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,Ji.prototype)}};eo=Ji=li([ni({type:gn.Sequence,itemType:to})],eo);let no=class{constructor(t=0){this.value=t}};li([ri({type:En.Integer})],no.prototype,"value",void 0),no=li([ni({type:gn.Choice})],no);let ro=class extends no{};var io;ro=li([ni({type:gn.Choice})],ro);const oo=`${xi}.31`;var so;!function(t){t[t.unused=1]="unused",t[t.keyCompromise=2]="keyCompromise",t[t.cACompromise=4]="cACompromise",t[t.affiliationChanged=8]="affiliationChanged",t[t.superseded=16]="superseded",t[t.cessationOfOperation=32]="cessationOfOperation",t[t.certificateHold=64]="certificateHold",t[t.privilegeWithdrawn=128]="privilegeWithdrawn",t[t.aACompromise=256]="aACompromise"}(so||(so={}));class ao extends Tr{toJSON(){const t=[],e=this.toNumber();return e&so.aACompromise&&t.push("aACompromise"),e&so.affiliationChanged&&t.push("affiliationChanged"),e&so.cACompromise&&t.push("cACompromise"),e&so.certificateHold&&t.push("certificateHold"),e&so.cessationOfOperation&&t.push("cessationOfOperation"),e&so.keyCompromise&&t.push("keyCompromise"),e&so.privilegeWithdrawn&&t.push("privilegeWithdrawn"),e&so.superseded&&t.push("superseded"),e&so.unused&&t.push("unused"),t}toString(){return`[${this.toJSON().join(", ")}]`}}let co=class{constructor(t={}){Object.assign(this,t)}};li([ri({type:Di,context:0,repeated:"sequence",implicit:!0})],co.prototype,"fullName",void 0),li([ri({type:wi,context:1,implicit:!0})],co.prototype,"nameRelativeToCRLIssuer",void 0),co=li([ni({type:gn.Choice})],co);class lo{constructor(t={}){Object.assign(this,t)}}li([ri({type:co,context:0,optional:!0})],lo.prototype,"distributionPoint",void 0),li([ri({type:ao,context:1,optional:!0,implicit:!0})],lo.prototype,"reasons",void 0),li([ri({type:Di,context:2,optional:!0,repeated:"sequence",implicit:!0})],lo.prototype,"cRLIssuer",void 0);let uo=io=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,io.prototype)}};var ho;uo=io=li([ni({type:gn.Sequence,itemType:lo})],uo);let po=ho=class extends uo{constructor(t){super(t),Object.setPrototypeOf(this,ho.prototype)}};po=ho=li([ni({type:gn.Sequence,itemType:lo})],po);class fo{constructor(t={}){this.onlyContainsUserCerts=fo.ONLY,this.onlyContainsCACerts=fo.ONLY,this.indirectCRL=fo.ONLY,this.onlyContainsAttributeCerts=fo.ONLY,Object.assign(this,t)}}fo.ONLY=!1,li([ri({type:co,context:0,optional:!0})],fo.prototype,"distributionPoint",void 0),li([ri({type:En.Boolean,context:1,defaultValue:fo.ONLY,implicit:!0})],fo.prototype,"onlyContainsUserCerts",void 0),li([ri({type:En.Boolean,context:2,defaultValue:fo.ONLY,implicit:!0})],fo.prototype,"onlyContainsCACerts",void 0),li([ri({type:ao,context:3,optional:!0,implicit:!0})],fo.prototype,"onlySomeReasons",void 0),li([ri({type:En.Boolean,context:4,defaultValue:fo.ONLY,implicit:!0})],fo.prototype,"indirectCRL",void 0),li([ri({type:En.Boolean,context:5,defaultValue:fo.ONLY,implicit:!0})],fo.prototype,"onlyContainsAttributeCerts",void 0);var Ao;!function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"}(Ao||(Ao={}));let go=class{constructor(t=Ao.unspecified){this.reason=Ao.unspecified,this.reason=t}toJSON(){return Ao[this.reason]}toString(){return this.toJSON()}};var Eo;li([ri({type:En.Enumerated})],go.prototype,"reason",void 0),go=li([ni({type:gn.Choice})],go);const mo=`${xi}.37`;let wo=Eo=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,Eo.prototype)}};wo=Eo=li([ni({type:gn.Sequence,itemType:En.ObjectIdentifier})],wo);const yo=`${Mi}.1`,Io=`${Mi}.2`,Co=`${Mi}.3`,Bo=`${Mi}.4`,To=`${Mi}.8`,Do=`${Mi}.9`;let bo=class{constructor(t=new ArrayBuffer(0)){this.value=t}};li([ri({type:En.Integer,converter:vr})],bo.prototype,"value",void 0),bo=li([ni({type:gn.Choice})],bo);let Mo=class{constructor(t){this.value=new Date,t&&(this.value=t)}};var No;li([ri({type:En.GeneralizedTime})],Mo.prototype,"value",void 0),Mo=li([ni({type:gn.Choice})],Mo);const vo=`${xi}.18`;let So=No=class extends ji{constructor(t){super(t),Object.setPrototypeOf(this,No.prototype)}};So=No=li([ni({type:gn.Sequence})],So);const _o=`${xi}.15`;var Lo,xo;!function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"}(Lo||(Lo={}));class Ro extends Tr{toJSON(){const t=this.toNumber(),e=[];return t&Lo.cRLSign&&e.push("crlSign"),t&Lo.dataEncipherment&&e.push("dataEncipherment"),t&Lo.decipherOnly&&e.push("decipherOnly"),t&Lo.digitalSignature&&e.push("digitalSignature"),t&Lo.encipherOnly&&e.push("encipherOnly"),t&Lo.keyAgreement&&e.push("keyAgreement"),t&Lo.keyCertSign&&e.push("keyCertSign"),t&Lo.keyEncipherment&&e.push("keyEncipherment"),t&Lo.nonRepudiation&&e.push("nonRepudiation"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class Fo{constructor(t={}){this.base=new Di,this.minimum=0,Object.assign(this,t)}}li([ri({type:Di})],Fo.prototype,"base",void 0),li([ri({type:En.Integer,context:0,defaultValue:0,implicit:!0})],Fo.prototype,"minimum",void 0),li([ri({type:En.Integer,context:1,optional:!0,implicit:!0})],Fo.prototype,"maximum",void 0);let Oo=xo=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,xo.prototype)}};Oo=xo=li([ni({type:gn.Sequence,itemType:Fo})],Oo);class Qo{constructor(t={}){Object.assign(this,t)}}li([ri({type:Oo,context:0,optional:!0,implicit:!0})],Qo.prototype,"permittedSubtrees",void 0),li([ri({type:Oo,context:1,optional:!0,implicit:!0})],Qo.prototype,"excludedSubtrees",void 0);class ko{constructor(t={}){Object.assign(this,t)}}var Uo;li([ri({type:En.Integer,context:0,implicit:!0,optional:!0,converter:vr})],ko.prototype,"requireExplicitPolicy",void 0),li([ri({type:En.Integer,context:1,implicit:!0,optional:!0,converter:vr})],ko.prototype,"inhibitPolicyMapping",void 0);class Po{constructor(t={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],Po.prototype,"issuerDomainPolicy",void 0),li([ri({type:En.ObjectIdentifier})],Po.prototype,"subjectDomainPolicy",void 0);let Go=Uo=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,Uo.prototype)}};var Vo;Go=Uo=li([ni({type:gn.Sequence,itemType:Po})],Go);const Ho=`${xi}.17`;let jo=Vo=class extends ji{constructor(t){super(t),Object.setPrototypeOf(this,Vo.prototype)}};jo=Vo=li([ni({type:gn.Sequence})],jo);class Yo{constructor(t={}){this.type="",this.values=[],Object.assign(this,t)}}var zo;li([ri({type:En.ObjectIdentifier})],Yo.prototype,"type",void 0),li([ri({type:En.Any,repeated:"set"})],Yo.prototype,"values",void 0);let Jo=zo=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,zo.prototype)}};Jo=zo=li([ni({type:gn.Sequence,itemType:Yo})],Jo);const Wo=`${xi}.14`;class qo extends Ui{}class Ko{constructor(t={}){Object.assign(this,t)}}li([ri({type:En.GeneralizedTime,context:0,implicit:!0,optional:!0})],Ko.prototype,"notBefore",void 0),li([ri({type:En.GeneralizedTime,context:1,implicit:!0,optional:!0})],Ko.prototype,"notAfter",void 0);var Xo,Zo;!function(t){t[t.keyUpdateAllowed=1]="keyUpdateAllowed",t[t.newExtensions=2]="newExtensions",t[t.pKIXCertificate=4]="pKIXCertificate"}(Xo||(Xo={}));class $o extends Tr{toJSON(){const t=[],e=this.toNumber();return e&Xo.pKIXCertificate&&t.push("pKIXCertificate"),e&Xo.newExtensions&&t.push("newExtensions"),e&Xo.keyUpdateAllowed&&t.push("keyUpdateAllowed"),t}toString(){return`[${this.toJSON().join(", ")}]`}}class ts{constructor(t={}){this.entrustVers="",this.entrustInfoFlags=new $o,Object.assign(this,t)}}li([ri({type:En.GeneralString})],ts.prototype,"entrustVers",void 0),li([ri({type:$o})],ts.prototype,"entrustInfoFlags",void 0);let es=Zo=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,Zo.prototype)}};es=Zo=li([ni({type:gn.Sequence,itemType:Oi})],es);class ns{constructor(t={}){this.algorithm="",Object.assign(this,t)}isEqual(t){return t instanceof ns&&t.algorithm==this.algorithm&&(t.parameters&&this.parameters&&Zt.n4(t.parameters,this.parameters)||t.parameters===this.parameters)}}li([ri({type:En.ObjectIdentifier})],ns.prototype,"algorithm",void 0),li([ri({type:En.Any,optional:!0})],ns.prototype,"parameters",void 0);class rs{constructor(t={}){this.algorithm=new ns,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:ns})],rs.prototype,"algorithm",void 0),li([ri({type:En.BitString})],rs.prototype,"subjectPublicKey",void 0);let is=class{constructor(t){if(t)if("string"==typeof t||"number"==typeof t||t instanceof Date){const e=new Date(t);e.getUTCFullYear()>2049?this.generalTime=e:this.utcTime=e}else Object.assign(this,t)}getTime(){const t=this.utcTime||this.generalTime;if(!t)throw new Error("Cannot get time from CHOICE object");return t}};li([ri({type:En.UTCTime})],is.prototype,"utcTime",void 0),li([ri({type:En.GeneralizedTime})],is.prototype,"generalTime",void 0),is=li([ni({type:gn.Choice})],is);class os{constructor(t){this.notBefore=new is(new Date),this.notAfter=new is(new Date),t&&(this.notBefore=new is(t.notBefore),this.notAfter=new is(t.notAfter))}}var ss;li([ri({type:is})],os.prototype,"notBefore",void 0),li([ri({type:is})],os.prototype,"notAfter",void 0);class as{constructor(t={}){this.extnID="",this.critical=as.CRITICAL,this.extnValue=new Dr,Object.assign(this,t)}}as.CRITICAL=!1,li([ri({type:En.ObjectIdentifier})],as.prototype,"extnID",void 0),li([ri({type:En.Boolean,defaultValue:as.CRITICAL})],as.prototype,"critical",void 0),li([ri({type:Dr})],as.prototype,"extnValue",void 0);let cs=ss=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,ss.prototype)}};var ls;cs=ss=li([ni({type:gn.Sequence,itemType:as})],cs),function(t){t[t.v1=0]="v1",t[t.v2=1]="v2",t[t.v3=2]="v3"}(ls||(ls={}));class us{constructor(t={}){this.version=ls.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new ns,this.issuer=new Ii,this.validity=new os,this.subject=new Ii,this.subjectPublicKeyInfo=new rs,Object.assign(this,t)}}li([ri({type:En.Integer,context:0,defaultValue:ls.v1})],us.prototype,"version",void 0),li([ri({type:En.Integer,converter:vr})],us.prototype,"serialNumber",void 0),li([ri({type:ns})],us.prototype,"signature",void 0),li([ri({type:Ii})],us.prototype,"issuer",void 0),li([ri({type:os})],us.prototype,"validity",void 0),li([ri({type:Ii})],us.prototype,"subject",void 0),li([ri({type:rs})],us.prototype,"subjectPublicKeyInfo",void 0),li([ri({type:En.BitString,context:1,implicit:!0,optional:!0})],us.prototype,"issuerUniqueID",void 0),li([ri({type:En.BitString,context:2,implicit:!0,optional:!0})],us.prototype,"subjectUniqueID",void 0),li([ri({type:cs,context:3,optional:!0})],us.prototype,"extensions",void 0);class hs{constructor(t={}){this.tbsCertificate=new us,this.signatureAlgorithm=new ns,this.signatureValue=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:us,raw:!0})],hs.prototype,"tbsCertificate",void 0),li([ri({type:ns})],hs.prototype,"signatureAlgorithm",void 0),li([ri({type:En.BitString})],hs.prototype,"signatureValue",void 0);class ds{constructor(t={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new is,Object.assign(this,t)}}li([ri({type:En.Integer,converter:vr})],ds.prototype,"userCertificate",void 0),li([ri({type:is})],ds.prototype,"revocationDate",void 0),li([ri({type:as,optional:!0,repeated:"sequence"})],ds.prototype,"crlEntryExtensions",void 0);class ps{constructor(t={}){this.signature=new ns,this.issuer=new Ii,this.thisUpdate=new is,Object.assign(this,t)}}li([ri({type:En.Integer,optional:!0})],ps.prototype,"version",void 0),li([ri({type:ns})],ps.prototype,"signature",void 0),li([ri({type:Ii})],ps.prototype,"issuer",void 0),li([ri({type:is})],ps.prototype,"thisUpdate",void 0),li([ri({type:is,optional:!0})],ps.prototype,"nextUpdate",void 0),li([ri({type:ds,repeated:"sequence",optional:!0})],ps.prototype,"revokedCertificates",void 0),li([ri({type:as,optional:!0,context:0,repeated:"sequence"})],ps.prototype,"crlExtensions",void 0);class fs{constructor(t={}){this.tbsCertList=new ps,this.signatureAlgorithm=new ns,this.signature=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:ps,raw:!0})],fs.prototype,"tbsCertList",void 0),li([ri({type:ns})],fs.prototype,"signatureAlgorithm",void 0),li([ri({type:En.BitString})],fs.prototype,"signature",void 0);class As{constructor(t={}){this.issuer=new Ii,this.serialNumber=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:Ii})],As.prototype,"issuer",void 0),li([ri({type:En.Integer,converter:vr})],As.prototype,"serialNumber",void 0);let gs=class{constructor(t={}){Object.assign(this,t)}};var Es;li([ri({type:qo,context:0,implicit:!0})],gs.prototype,"subjectKeyIdentifier",void 0),li([ri({type:As})],gs.prototype,"issuerAndSerialNumber",void 0),gs=li([ni({type:gn.Choice})],gs),function(t){t[t.v0=0]="v0",t[t.v1=1]="v1",t[t.v2=2]="v2",t[t.v3=3]="v3",t[t.v4=4]="v4",t[t.v5=5]="v5"}(Es||(Es={}));let ms=class extends ns{};ms=li([ni({type:gn.Sequence})],ms);let ws=class extends ns{};ws=li([ni({type:gn.Sequence})],ws);let ys=class extends ns{};ys=li([ni({type:gn.Sequence})],ys);let Is=class extends ns{};Is=li([ni({type:gn.Sequence})],Is);let Cs=class extends ns{};Cs=li([ni({type:gn.Sequence})],Cs);let Bs=class extends ns{};Bs=li([ni({type:gn.Sequence})],Bs);class Ts{constructor(t={}){this.attrType="",this.attrValues=[],Object.assign(this,t)}}var Ds;li([ri({type:En.ObjectIdentifier})],Ts.prototype,"attrType",void 0),li([ri({type:En.Any,repeated:"set"})],Ts.prototype,"attrValues",void 0);class bs{constructor(t={}){this.version=Es.v0,this.sid=new gs,this.digestAlgorithm=new ms,this.signatureAlgorithm=new ws,this.signature=new Dr,Object.assign(this,t)}}li([ri({type:En.Integer})],bs.prototype,"version",void 0),li([ri({type:gs})],bs.prototype,"sid",void 0),li([ri({type:ms})],bs.prototype,"digestAlgorithm",void 0),li([ri({type:Ts,repeated:"set",context:0,implicit:!0,optional:!0,raw:!0})],bs.prototype,"signedAttrs",void 0),li([ri({type:ws})],bs.prototype,"signatureAlgorithm",void 0),li([ri({type:Dr})],bs.prototype,"signature",void 0),li([ri({type:Ts,repeated:"set",context:1,implicit:!0,optional:!0})],bs.prototype,"unsignedAttrs",void 0);let Ms=Ds=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,Ds.prototype)}};Ms=Ds=li([ni({type:gn.Set,itemType:bs})],Ms);let Ns=class extends bs{};Ns=li([ni({type:gn.Sequence})],Ns);let vs=class extends is{};vs=li([ni({type:gn.Choice})],vs);class Ss{constructor(t={}){this.acIssuer=new Di,this.acSerial=0,this.attrs=[],Object.assign(this,t)}}var _s;li([ri({type:Di})],Ss.prototype,"acIssuer",void 0),li([ri({type:En.Integer})],Ss.prototype,"acSerial",void 0),li([ri({type:Yo,repeated:"sequence"})],Ss.prototype,"attrs",void 0);let Ls=_s=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,_s.prototype)}};Ls=_s=li([ni({type:gn.Sequence,itemType:En.ObjectIdentifier})],Ls);class xs{constructor(t={}){this.permitUnSpecified=!0,Object.assign(this,t)}}li([ri({type:En.Integer,optional:!0})],xs.prototype,"pathLenConstraint",void 0),li([ri({type:Ls,implicit:!0,context:0,optional:!0})],xs.prototype,"permittedAttrs",void 0),li([ri({type:Ls,implicit:!0,context:1,optional:!0})],xs.prototype,"excludedAttrs",void 0),li([ri({type:En.Boolean,defaultValue:!0})],xs.prototype,"permitUnSpecified",void 0);class Rs{constructor(t={}){this.issuer=new ji,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,t)}}var Fs;li([ri({type:ji})],Rs.prototype,"issuer",void 0),li([ri({type:En.Integer,converter:vr})],Rs.prototype,"serial",void 0),li([ri({type:En.BitString,optional:!0})],Rs.prototype,"issuerUID",void 0),function(t){t[t.publicKey=0]="publicKey",t[t.publicKeyCert=1]="publicKeyCert",t[t.otherObjectTypes=2]="otherObjectTypes"}(Fs||(Fs={}));class Os{constructor(t={}){this.digestedObjectType=Fs.publicKey,this.digestAlgorithm=new ns,this.objectDigest=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:En.Enumerated})],Os.prototype,"digestedObjectType",void 0),li([ri({type:En.ObjectIdentifier,optional:!0})],Os.prototype,"otherObjectTypeID",void 0),li([ri({type:ns})],Os.prototype,"digestAlgorithm",void 0),li([ri({type:En.BitString})],Os.prototype,"objectDigest",void 0);class Qs{constructor(t={}){Object.assign(this,t)}}li([ri({type:ji,optional:!0})],Qs.prototype,"issuerName",void 0),li([ri({type:Rs,context:0,implicit:!0,optional:!0})],Qs.prototype,"baseCertificateID",void 0),li([ri({type:Os,context:1,implicit:!0,optional:!0})],Qs.prototype,"objectDigestInfo",void 0);let ks=class{constructor(t={}){Object.assign(this,t)}};li([ri({type:Di,repeated:"sequence"})],ks.prototype,"v1Form",void 0),li([ri({type:Qs,context:0,implicit:!0})],ks.prototype,"v2Form",void 0),ks=li([ni({type:gn.Choice})],ks);class Us{constructor(t={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,t)}}li([ri({type:En.GeneralizedTime})],Us.prototype,"notBeforeTime",void 0),li([ri({type:En.GeneralizedTime})],Us.prototype,"notAfterTime",void 0);class Ps{constructor(t={}){Object.assign(this,t)}}var Gs,Vs;li([ri({type:Rs,implicit:!0,context:0,optional:!0})],Ps.prototype,"baseCertificateID",void 0),li([ri({type:ji,implicit:!0,context:1,optional:!0})],Ps.prototype,"entityName",void 0),li([ri({type:Os,implicit:!0,context:2,optional:!0})],Ps.prototype,"objectDigestInfo",void 0),function(t){t[t.v2=1]="v2"}(Gs||(Gs={}));class Hs{constructor(t={}){this.version=Gs.v2,this.holder=new Ps,this.issuer=new ks,this.signature=new ns,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new Us,this.attributes=[],Object.assign(this,t)}}li([ri({type:En.Integer})],Hs.prototype,"version",void 0),li([ri({type:Ps})],Hs.prototype,"holder",void 0),li([ri({type:ks})],Hs.prototype,"issuer",void 0),li([ri({type:ns})],Hs.prototype,"signature",void 0),li([ri({type:En.Integer,converter:vr})],Hs.prototype,"serialNumber",void 0),li([ri({type:Us})],Hs.prototype,"attrCertValidityPeriod",void 0),li([ri({type:Yo,repeated:"sequence"})],Hs.prototype,"attributes",void 0),li([ri({type:En.BitString,optional:!0})],Hs.prototype,"issuerUniqueID",void 0),li([ri({type:cs,optional:!0})],Hs.prototype,"extensions",void 0);class js{constructor(t={}){this.acinfo=new Hs,this.signatureAlgorithm=new ns,this.signatureValue=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:Hs})],js.prototype,"acinfo",void 0),li([ri({type:ns})],js.prototype,"signatureAlgorithm",void 0),li([ri({type:En.BitString})],js.prototype,"signatureValue",void 0),function(t){t[t.unmarked=1]="unmarked",t[t.unclassified=2]="unclassified",t[t.restricted=4]="restricted",t[t.confidential=8]="confidential",t[t.secret=16]="secret",t[t.topSecret=32]="topSecret"}(Vs||(Vs={}));class Ys extends Tr{}class zs{constructor(t={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier,implicit:!0,context:0})],zs.prototype,"type",void 0),li([ri({type:En.Any,implicit:!0,context:1})],zs.prototype,"value",void 0);class Js{constructor(t={}){this.policyId="",this.classList=new Ys(Vs.unclassified),Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],Js.prototype,"policyId",void 0),li([ri({type:Ys,defaultValue:new Ys(Vs.unclassified)})],Js.prototype,"classList",void 0),li([ri({type:zs,repeated:"set"})],Js.prototype,"securityCategories",void 0);class Ws{constructor(t={}){Object.assign(this,t)}}li([ri({type:Dr})],Ws.prototype,"cotets",void 0),li([ri({type:En.ObjectIdentifier})],Ws.prototype,"oid",void 0),li([ri({type:En.Utf8String})],Ws.prototype,"string",void 0);class qs{constructor(t={}){this.values=[],Object.assign(this,t)}}li([ri({type:ji,implicit:!0,context:0,optional:!0})],qs.prototype,"policyAuthority",void 0),li([ri({type:Ws,repeated:"sequence"})],qs.prototype,"values",void 0);var Ks;class Xs{constructor(t={}){this.targetCertificate=new Rs,Object.assign(this,t)}}li([ri({type:Rs})],Xs.prototype,"targetCertificate",void 0),li([ri({type:Di,optional:!0})],Xs.prototype,"targetName",void 0),li([ri({type:Os,optional:!0})],Xs.prototype,"certDigestInfo",void 0);let Zs=class{constructor(t={}){Object.assign(this,t)}};li([ri({type:Di,context:0,implicit:!0})],Zs.prototype,"targetName",void 0),li([ri({type:Di,context:1,implicit:!0})],Zs.prototype,"targetGroup",void 0),li([ri({type:Xs,context:2,implicit:!0})],Zs.prototype,"targetCert",void 0),Zs=li([ni({type:gn.Choice})],Zs);let $s=Ks=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,Ks.prototype)}};var ta;$s=Ks=li([ni({type:gn.Sequence,itemType:Zs})],$s);let ea=ta=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,ta.prototype)}};ea=ta=li([ni({type:gn.Sequence,itemType:$s})],ea);class na{constructor(t={}){Object.assign(this,t)}}li([ri({type:ji,implicit:!0,context:0,optional:!0})],na.prototype,"roleAuthority",void 0),li([ri({type:Di,implicit:!0,context:1})],na.prototype,"roleName",void 0);class ra{constructor(t={}){this.service=new Di,this.ident=new Di,Object.assign(this,t)}}var ia;li([ri({type:Di})],ra.prototype,"service",void 0),li([ri({type:Di})],ra.prototype,"ident",void 0),li([ri({type:Dr,optional:!0})],ra.prototype,"authInfo",void 0);class oa{constructor(t={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],oa.prototype,"otherCertFormat",void 0),li([ri({type:En.Any})],oa.prototype,"otherCert",void 0);let sa=class{constructor(t={}){Object.assign(this,t)}};li([ri({type:hs})],sa.prototype,"certificate",void 0),li([ri({type:js,context:2,implicit:!0})],sa.prototype,"v2AttrCert",void 0),li([ri({type:oa,context:3,implicit:!0})],sa.prototype,"other",void 0),sa=li([ni({type:gn.Choice})],sa);let aa=ia=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,ia.prototype)}};aa=ia=li([ni({type:gn.Set,itemType:sa})],aa);class ca{constructor(t={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],ca.prototype,"contentType",void 0),li([ri({type:En.Any,context:0})],ca.prototype,"content",void 0);let la=class{constructor(t={}){Object.assign(this,t)}};li([ri({type:Dr})],la.prototype,"single",void 0),li([ri({type:En.Any})],la.prototype,"any",void 0),la=li([ni({type:gn.Choice})],la);class ua{constructor(t={}){this.eContentType="",Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],ua.prototype,"eContentType",void 0),li([ri({type:la,context:0,optional:!0})],ua.prototype,"eContent",void 0);let ha=class{constructor(t={}){Object.assign(this,t)}};li([ri({type:Dr,context:0,implicit:!0,optional:!0})],ha.prototype,"value",void 0),li([ri({type:Dr,converter:Rr,context:0,implicit:!0,optional:!0,repeated:"sequence"})],ha.prototype,"constructedValue",void 0),ha=li([ni({type:gn.Choice})],ha);class da{constructor(t={}){this.contentType="",this.contentEncryptionAlgorithm=new Is,Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],da.prototype,"contentType",void 0),li([ri({type:Is})],da.prototype,"contentEncryptionAlgorithm",void 0),li([ri({type:ha,optional:!0})],da.prototype,"encryptedContent",void 0);class pa{constructor(t={}){this.keyAttrId="",Object.assign(this,t)}}var fa;li([ri({type:En.ObjectIdentifier})],pa.prototype,"keyAttrId",void 0),li([ri({type:En.Any,optional:!0})],pa.prototype,"keyAttr",void 0);class Aa{constructor(t={}){this.subjectKeyIdentifier=new qo,Object.assign(this,t)}}li([ri({type:qo})],Aa.prototype,"subjectKeyIdentifier",void 0),li([ri({type:En.GeneralizedTime,optional:!0})],Aa.prototype,"date",void 0),li([ri({type:pa,optional:!0})],Aa.prototype,"other",void 0);let ga=class{constructor(t={}){Object.assign(this,t)}};li([ri({type:Aa,context:0,implicit:!0,optional:!0})],ga.prototype,"rKeyId",void 0),li([ri({type:As,optional:!0})],ga.prototype,"issuerAndSerialNumber",void 0),ga=li([ni({type:gn.Choice})],ga);class Ea{constructor(t={}){this.rid=new ga,this.encryptedKey=new Dr,Object.assign(this,t)}}li([ri({type:ga})],Ea.prototype,"rid",void 0),li([ri({type:Dr})],Ea.prototype,"encryptedKey",void 0);let ma=fa=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,fa.prototype)}};ma=fa=li([ni({type:gn.Sequence,itemType:Ea})],ma);class wa{constructor(t={}){this.algorithm=new ns,this.publicKey=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:ns})],wa.prototype,"algorithm",void 0),li([ri({type:En.BitString})],wa.prototype,"publicKey",void 0);let ya=class{constructor(t={}){Object.assign(this,t)}};li([ri({type:qo,context:0,implicit:!0,optional:!0})],ya.prototype,"subjectKeyIdentifier",void 0),li([ri({type:wa,context:1,implicit:!0,optional:!0})],ya.prototype,"originatorKey",void 0),li([ri({type:As,optional:!0})],ya.prototype,"issuerAndSerialNumber",void 0),ya=li([ni({type:gn.Choice})],ya);class Ia{constructor(t={}){this.version=Es.v3,this.originator=new ya,this.keyEncryptionAlgorithm=new ys,this.recipientEncryptedKeys=new ma,Object.assign(this,t)}}li([ri({type:En.Integer})],Ia.prototype,"version",void 0),li([ri({type:ya,context:0})],Ia.prototype,"originator",void 0),li([ri({type:Dr,context:1,optional:!0})],Ia.prototype,"ukm",void 0),li([ri({type:ys})],Ia.prototype,"keyEncryptionAlgorithm",void 0),li([ri({type:ma})],Ia.prototype,"recipientEncryptedKeys",void 0);let Ca=class{constructor(t={}){Object.assign(this,t)}};li([ri({type:qo,context:0,implicit:!0})],Ca.prototype,"subjectKeyIdentifier",void 0),li([ri({type:As})],Ca.prototype,"issuerAndSerialNumber",void 0),Ca=li([ni({type:gn.Choice})],Ca);class Ba{constructor(t={}){this.version=Es.v0,this.rid=new Ca,this.keyEncryptionAlgorithm=new ys,this.encryptedKey=new Dr,Object.assign(this,t)}}li([ri({type:En.Integer})],Ba.prototype,"version",void 0),li([ri({type:Ca})],Ba.prototype,"rid",void 0),li([ri({type:ys})],Ba.prototype,"keyEncryptionAlgorithm",void 0),li([ri({type:Dr})],Ba.prototype,"encryptedKey",void 0);class Ta{constructor(t={}){this.keyIdentifier=new Dr,Object.assign(this,t)}}li([ri({type:Dr})],Ta.prototype,"keyIdentifier",void 0),li([ri({type:En.GeneralizedTime,optional:!0})],Ta.prototype,"date",void 0),li([ri({type:pa,optional:!0})],Ta.prototype,"other",void 0);class Da{constructor(t={}){this.version=Es.v4,this.kekid=new Ta,this.keyEncryptionAlgorithm=new ys,this.encryptedKey=new Dr,Object.assign(this,t)}}li([ri({type:En.Integer})],Da.prototype,"version",void 0),li([ri({type:Ta})],Da.prototype,"kekid",void 0),li([ri({type:ys})],Da.prototype,"keyEncryptionAlgorithm",void 0),li([ri({type:Dr})],Da.prototype,"encryptedKey",void 0);class ba{constructor(t={}){this.version=Es.v0,this.keyEncryptionAlgorithm=new ys,this.encryptedKey=new Dr,Object.assign(this,t)}}li([ri({type:En.Integer})],ba.prototype,"version",void 0),li([ri({type:Bs,context:0,optional:!0})],ba.prototype,"keyDerivationAlgorithm",void 0),li([ri({type:ys})],ba.prototype,"keyEncryptionAlgorithm",void 0),li([ri({type:Dr})],ba.prototype,"encryptedKey",void 0);class Ma{constructor(t={}){this.oriType="",this.oriValue=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],Ma.prototype,"oriType",void 0),li([ri({type:En.Any})],Ma.prototype,"oriValue",void 0);let Na=class{constructor(t={}){Object.assign(this,t)}};var va;li([ri({type:Ba,optional:!0})],Na.prototype,"ktri",void 0),li([ri({type:Ia,context:1,implicit:!0,optional:!0})],Na.prototype,"kari",void 0),li([ri({type:Da,context:2,implicit:!0,optional:!0})],Na.prototype,"kekri",void 0),li([ri({type:ba,context:3,implicit:!0,optional:!0})],Na.prototype,"pwri",void 0),li([ri({type:Ma,context:4,implicit:!0,optional:!0})],Na.prototype,"ori",void 0),Na=li([ni({type:gn.Choice})],Na);let Sa=va=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,va.prototype)}};var _a;Sa=va=li([ni({type:gn.Set,itemType:Na})],Sa);class La{constructor(t={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],La.prototype,"otherRevInfoFormat",void 0),li([ri({type:En.Any})],La.prototype,"otherRevInfo",void 0);let xa=class{constructor(t={}){this.other=new La,Object.assign(this,t)}};li([ri({type:La,context:1,implicit:!0})],xa.prototype,"other",void 0),xa=li([ni({type:gn.Choice})],xa);let Ra=_a=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,_a.prototype)}};Ra=_a=li([ni({type:gn.Set,itemType:xa})],Ra);class Fa{constructor(t={}){Object.assign(this,t)}}var Oa;li([ri({type:aa,context:0,implicit:!0,optional:!0})],Fa.prototype,"certs",void 0),li([ri({type:Ra,context:1,implicit:!0,optional:!0})],Fa.prototype,"crls",void 0);let Qa=Oa=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,Oa.prototype)}};Qa=Oa=li([ni({type:gn.Set,itemType:Ts})],Qa);class ka{constructor(t={}){this.version=Es.v0,this.recipientInfos=new Sa,this.encryptedContentInfo=new da,Object.assign(this,t)}}li([ri({type:En.Integer})],ka.prototype,"version",void 0),li([ri({type:Fa,context:0,implicit:!0,optional:!0})],ka.prototype,"originatorInfo",void 0),li([ri({type:Sa})],ka.prototype,"recipientInfos",void 0),li([ri({type:da})],ka.prototype,"encryptedContentInfo",void 0),li([ri({type:Qa,context:1,implicit:!0,optional:!0})],ka.prototype,"unprotectedAttrs",void 0);const Ua="1.2.840.113549.1.7.2";var Pa;let Ga=Pa=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,Pa.prototype)}};Ga=Pa=li([ni({type:gn.Set,itemType:ms})],Ga);class Va{constructor(t={}){this.version=Es.v0,this.digestAlgorithms=new Ga,this.encapContentInfo=new ua,this.signerInfos=new Ms,Object.assign(this,t)}}li([ri({type:En.Integer})],Va.prototype,"version",void 0),li([ri({type:Ga})],Va.prototype,"digestAlgorithms",void 0),li([ri({type:ua})],Va.prototype,"encapContentInfo",void 0),li([ri({type:aa,context:0,implicit:!0,optional:!0})],Va.prototype,"certificates",void 0),li([ri({type:Ra,context:1,implicit:!0,optional:!0})],Va.prototype,"crls",void 0),li([ri({type:Ms})],Va.prototype,"signerInfos",void 0);const Ha="1.2.840.10045.2.1",ja="1.2.840.10045.4.1",Ya="1.2.840.10045.4.3.1",za="1.2.840.10045.4.3.2",Ja="1.2.840.10045.4.3.3",Wa="1.2.840.10045.4.3.4",qa="1.2.840.10045.3.1.7",Ka="1.3.132.0.34",Xa="1.3.132.0.35";function Za(t){return new ns({algorithm:t})}const $a=Za(ja),tc=(Za(Ya),Za(za)),ec=Za(Ja),nc=Za(Wa);let rc=class{constructor(t={}){Object.assign(this,t)}};li([ri({type:En.ObjectIdentifier})],rc.prototype,"fieldType",void 0),li([ri({type:En.Any})],rc.prototype,"parameters",void 0),rc=li([ni({type:gn.Sequence})],rc);let ic=class{constructor(t={}){Object.assign(this,t)}};var oc;li([ri({type:En.OctetString})],ic.prototype,"a",void 0),li([ri({type:En.OctetString})],ic.prototype,"b",void 0),li([ri({type:En.BitString,optional:!0})],ic.prototype,"seed",void 0),ic=li([ni({type:gn.Sequence})],ic),function(t){t[t.ecpVer1=1]="ecpVer1"}(oc||(oc={}));let sc=class{constructor(t={}){this.version=oc.ecpVer1,Object.assign(this,t)}};li([ri({type:En.Integer})],sc.prototype,"version",void 0),li([ri({type:rc})],sc.prototype,"fieldID",void 0),li([ri({type:ic})],sc.prototype,"curve",void 0),li([ri({type:class extends Dr{}})],sc.prototype,"base",void 0),li([ri({type:En.Integer,converter:vr})],sc.prototype,"order",void 0),li([ri({type:En.Integer,optional:!0})],sc.prototype,"cofactor",void 0),sc=li([ni({type:gn.Sequence})],sc);let ac=class{constructor(t={}){Object.assign(this,t)}};li([ri({type:En.ObjectIdentifier})],ac.prototype,"namedCurve",void 0),li([ri({type:En.Null})],ac.prototype,"implicitCurve",void 0),li([ri({type:sc})],ac.prototype,"specifiedCurve",void 0),ac=li([ni({type:gn.Choice})],ac);class cc{constructor(t={}){this.version=1,this.privateKey=new Dr,Object.assign(this,t)}}li([ri({type:En.Integer})],cc.prototype,"version",void 0),li([ri({type:Dr})],cc.prototype,"privateKey",void 0),li([ri({type:ac,context:0,optional:!0})],cc.prototype,"parameters",void 0),li([ri({type:En.BitString,context:1,optional:!0})],cc.prototype,"publicKey",void 0);class lc{constructor(t={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:En.Integer,converter:vr})],lc.prototype,"r",void 0),li([ri({type:En.Integer,converter:vr})],lc.prototype,"s",void 0);const uc="1.2.840.113549.1.1",hc=`${uc}.1`,dc=`${uc}.7`,pc=`${uc}.9`,fc=`${uc}.10`,Ac=`${uc}.2`,gc=`${uc}.4`,Ec=`${uc}.5`,mc=`${uc}.14`,wc=`${uc}.11`,yc=`${uc}.12`,Ic=`${uc}.13`,Cc=`${uc}.15`,Bc=`${uc}.16`,Tc="1.3.14.3.2.26",Dc="2.16.840.1.101.3.4.2.4",bc="2.16.840.1.101.3.4.2.1",Mc="2.16.840.1.101.3.4.2.2",Nc="2.16.840.1.101.3.4.2.3",vc=`${uc}.8`;function Sc(t){return new ns({algorithm:t,parameters:null})}Sc("1.2.840.113549.2.2"),Sc("1.2.840.113549.2.5");const _c=Sc(Tc),Lc=(Sc(Dc),Sc(bc),Sc(Mc),Sc(Nc),Sc("2.16.840.1.101.3.4.2.5"),Sc("2.16.840.1.101.3.4.2.6"),new ns({algorithm:vc,parameters:ci.serialize(_c)})),xc=new ns({algorithm:pc,parameters:ci.serialize(xr.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});Sc(hc),Sc(Ac),Sc(gc),Sc(Ec),Sc(Cc),Sc(Bc),Sc(yc),Sc(Ic),Sc(Cc),Sc(Bc);class Rc{constructor(t={}){this.hashAlgorithm=new ns(_c),this.maskGenAlgorithm=new ns({algorithm:vc,parameters:ci.serialize(_c)}),this.pSourceAlgorithm=new ns(xc),Object.assign(this,t)}}li([ri({type:ns,context:0,defaultValue:_c})],Rc.prototype,"hashAlgorithm",void 0),li([ri({type:ns,context:1,defaultValue:Lc})],Rc.prototype,"maskGenAlgorithm",void 0),li([ri({type:ns,context:2,defaultValue:xc})],Rc.prototype,"pSourceAlgorithm",void 0);new ns({algorithm:dc,parameters:ci.serialize(new Rc)});class Fc{constructor(t={}){this.hashAlgorithm=new ns(_c),this.maskGenAlgorithm=new ns({algorithm:vc,parameters:ci.serialize(_c)}),this.saltLength=20,this.trailerField=1,Object.assign(this,t)}}li([ri({type:ns,context:0,defaultValue:_c})],Fc.prototype,"hashAlgorithm",void 0),li([ri({type:ns,context:1,defaultValue:Lc})],Fc.prototype,"maskGenAlgorithm",void 0),li([ri({type:En.Integer,context:2,defaultValue:20})],Fc.prototype,"saltLength",void 0),li([ri({type:En.Integer,context:3,defaultValue:1})],Fc.prototype,"trailerField",void 0);new ns({algorithm:fc,parameters:ci.serialize(new Fc)});class Oc{constructor(t={}){this.digestAlgorithm=new ns,this.digest=new Dr,Object.assign(this,t)}}var Qc;li([ri({type:ns})],Oc.prototype,"digestAlgorithm",void 0),li([ri({type:Dr})],Oc.prototype,"digest",void 0);class kc{constructor(t={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:En.Integer,converter:vr})],kc.prototype,"prime",void 0),li([ri({type:En.Integer,converter:vr})],kc.prototype,"exponent",void 0),li([ri({type:En.Integer,converter:vr})],kc.prototype,"coefficient",void 0);let Uc=Qc=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,Qc.prototype)}};Uc=Qc=li([ni({type:gn.Sequence,itemType:kc})],Uc);class Pc{constructor(t={}){this.version=0,this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),this.privateExponent=new ArrayBuffer(0),this.prime1=new ArrayBuffer(0),this.prime2=new ArrayBuffer(0),this.exponent1=new ArrayBuffer(0),this.exponent2=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:En.Integer})],Pc.prototype,"version",void 0),li([ri({type:En.Integer,converter:vr})],Pc.prototype,"modulus",void 0),li([ri({type:En.Integer,converter:vr})],Pc.prototype,"publicExponent",void 0),li([ri({type:En.Integer,converter:vr})],Pc.prototype,"privateExponent",void 0),li([ri({type:En.Integer,converter:vr})],Pc.prototype,"prime1",void 0),li([ri({type:En.Integer,converter:vr})],Pc.prototype,"prime2",void 0),li([ri({type:En.Integer,converter:vr})],Pc.prototype,"exponent1",void 0),li([ri({type:En.Integer,converter:vr})],Pc.prototype,"exponent2",void 0),li([ri({type:En.Integer,converter:vr})],Pc.prototype,"coefficient",void 0),li([ri({type:Uc,optional:!0})],Pc.prototype,"otherPrimeInfos",void 0);class Gc{constructor(t={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,t)}}var Vc;li([ri({type:En.Integer,converter:vr})],Gc.prototype,"modulus",void 0),li([ri({type:En.Integer,converter:vr})],Gc.prototype,"publicExponent",void 0),function(t){t[t.Transient=0]="Transient",t[t.Singleton=1]="Singleton",t[t.ResolutionScoped=2]="ResolutionScoped",t[t.ContainerScoped=3]="ContainerScoped"}(Vc||(Vc={}));const Hc=Vc;
69
- /*! *****************************************************************************
70
- Copyright (c) Microsoft Corporation.
71
-
72
- Permission to use, copy, modify, and/or distribute this software for any
73
- purpose with or without fee is hereby granted.
74
-
75
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
76
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
77
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
78
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
79
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
80
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
81
- PERFORMANCE OF THIS SOFTWARE.
82
- ***************************************************************************** */
83
- var jc=function(t,e){return jc=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])},jc(t,e)};function Yc(t,e){function n(){this.constructor=t}jc(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function zc(t,e,n,r){return new(n||(n=Promise))(function(i,o){function s(t){try{c(r.next(t))}catch(t){o(t)}}function a(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(s,a)}c((r=r.apply(t,e||[])).next())})}function Jc(t,e){var n,r,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;s;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,r=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=e.call(t,s)}catch(t){o=[6,t],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function Wc(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function qc(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,i,o=n.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(t){i={error:t}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function Kc(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(qc(arguments[e]));return t}function Xc(t){return!!t.useClass}function Zc(t){return!!t.useFactory}var $c=function(){function t(t){this.wrap=t,this.reflectMethods=["get","getPrototypeOf","setPrototypeOf","getOwnPropertyDescriptor","defineProperty","has","set","deleteProperty","apply","construct","ownKeys"]}return t.prototype.createProxy=function(t){var e,n=this,r=!1;return new Proxy({},this.createHandler(function(){return r||(e=t(n.wrap()),r=!0),e}))},t.prototype.createHandler=function(t){var e={};return this.reflectMethods.forEach(function(n){e[n]=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return e[0]=t(),Reflect[n].apply(void 0,Kc(e))}}),e},t}();function tl(t){return"string"==typeof t||"symbol"==typeof t}function el(t){return"object"==typeof t&&"token"in t&&"transform"in t}function nl(t){return!!t.useToken}function rl(t){return null!=t.useValue}var il=function(){function t(){this._registryMap=new Map}return t.prototype.entries=function(){return this._registryMap.entries()},t.prototype.getAll=function(t){return this.ensure(t),this._registryMap.get(t)},t.prototype.get=function(t){this.ensure(t);var e=this._registryMap.get(t);return e[e.length-1]||null},t.prototype.set=function(t,e){this.ensure(t),this._registryMap.get(t).push(e)},t.prototype.setAll=function(t,e){this._registryMap.set(t,e)},t.prototype.has=function(t){return this.ensure(t),this._registryMap.get(t).length>0},t.prototype.clear=function(){this._registryMap.clear()},t.prototype.ensure=function(t){this._registryMap.has(t)||this._registryMap.set(t,[])},t}();const ol=il;const sl=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Yc(e,t),e}(ol);const al=function(){this.scopedResolutions=new Map};function cl(t,e,n){var r=qc(t.toString().match(/constructor\(([\w, ]+)\)/)||[],2)[1],i=function(t,e){return null===t?"at position #"+e:'"'+t.split(",")[e].trim()+'" at position #'+e}(void 0===r?null:r,e);return function(t,e,n){return void 0===n&&(n=" "),Kc([t],e.message.split("\n").map(function(t){return n+t})).join("\n")}("Cannot inject the dependency "+i+' of "'+t.name+'" constructor. Reason:',n)}var ll=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Yc(e,t),e}(ol),ul=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Yc(e,t),e}(ol);const hl=function(){this.preResolution=new ll,this.postResolution=new ul};var dl=new Map,pl=function(){function t(t){this.parent=t,this._registry=new sl,this.interceptors=new hl,this.disposed=!1,this.disposables=new Set}return t.prototype.register=function(t,e,n){var r;if(void 0===n&&(n={lifecycle:Hc.Transient}),this.ensureNotDisposed(),r=function(t){return Xc(t)||rl(t)||nl(t)||Zc(t)}(e)?e:{useClass:e},nl(r))for(var i=[t],o=r;null!=o;){var s=o.useToken;if(i.includes(s))throw new Error("Token registration cycle detected! "+Kc(i,[s]).join(" -> "));i.push(s);var a=this._registry.get(s);o=a&&nl(a.provider)?a.provider:null}if((n.lifecycle===Hc.Singleton||n.lifecycle==Hc.ContainerScoped||n.lifecycle==Hc.ResolutionScoped)&&(rl(r)||Zc(r)))throw new Error('Cannot use lifecycle "'+Hc[n.lifecycle]+'" with ValueProviders or FactoryProviders');return this._registry.set(t,{provider:r,options:n}),this},t.prototype.registerType=function(t,e){return this.ensureNotDisposed(),tl(e)?this.register(t,{useToken:e}):this.register(t,{useClass:e})},t.prototype.registerInstance=function(t,e){return this.ensureNotDisposed(),this.register(t,{useValue:e})},t.prototype.registerSingleton=function(t,e){if(this.ensureNotDisposed(),tl(t)){if(tl(e))return this.register(t,{useToken:e},{lifecycle:Hc.Singleton});if(e)return this.register(t,{useClass:e},{lifecycle:Hc.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var n=t;return e&&!tl(e)&&(n=e),this.register(t,{useClass:n},{lifecycle:Hc.Singleton})},t.prototype.resolve=function(t,e,n){void 0===e&&(e=new al),void 0===n&&(n=!1),this.ensureNotDisposed();var r=this.getRegistration(t);if(!r&&tl(t)){if(n)return;throw new Error('Attempted to resolve unregistered dependency token: "'+t.toString()+'"')}if(this.executePreResolutionInterceptor(t,"Single"),r){var i=this.resolveRegistration(r,e);return this.executePostResolutionInterceptor(t,i,"Single"),i}if(function(t){return"function"==typeof t||t instanceof $c}(t)){i=this.construct(t,e);return this.executePostResolutionInterceptor(t,i,"Single"),i}throw new Error("Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.")},t.prototype.executePreResolutionInterceptor=function(t,e){var n,r;if(this.interceptors.preResolution.has(t)){var i=[];try{for(var o=Wc(this.interceptors.preResolution.getAll(t)),s=o.next();!s.done;s=o.next()){var a=s.value;"Once"!=a.options.frequency&&i.push(a),a.callback(t,e)}}catch(t){n={error:t}}finally{try{s&&!s.done&&(r=o.return)&&r.call(o)}finally{if(n)throw n.error}}this.interceptors.preResolution.setAll(t,i)}},t.prototype.executePostResolutionInterceptor=function(t,e,n){var r,i;if(this.interceptors.postResolution.has(t)){var o=[];try{for(var s=Wc(this.interceptors.postResolution.getAll(t)),a=s.next();!a.done;a=s.next()){var c=a.value;"Once"!=c.options.frequency&&o.push(c),c.callback(t,e,n)}}catch(t){r={error:t}}finally{try{a&&!a.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}this.interceptors.postResolution.setAll(t,o)}},t.prototype.resolveRegistration=function(t,e){if(this.ensureNotDisposed(),t.options.lifecycle===Hc.ResolutionScoped&&e.scopedResolutions.has(t))return e.scopedResolutions.get(t);var n,r=t.options.lifecycle===Hc.Singleton,i=t.options.lifecycle===Hc.ContainerScoped,o=r||i;return n=rl(t.provider)?t.provider.useValue:nl(t.provider)?o?t.instance||(t.instance=this.resolve(t.provider.useToken,e)):this.resolve(t.provider.useToken,e):Xc(t.provider)?o?t.instance||(t.instance=this.construct(t.provider.useClass,e)):this.construct(t.provider.useClass,e):Zc(t.provider)?t.provider.useFactory(this):this.construct(t.provider,e),t.options.lifecycle===Hc.ResolutionScoped&&e.scopedResolutions.set(t,n),n},t.prototype.resolveAll=function(t,e,n){var r=this;void 0===e&&(e=new al),void 0===n&&(n=!1),this.ensureNotDisposed();var i=this.getAllRegistrations(t);if(!i&&tl(t)){if(n)return[];throw new Error('Attempted to resolve unregistered dependency token: "'+t.toString()+'"')}if(this.executePreResolutionInterceptor(t,"All"),i){var o=i.map(function(t){return r.resolveRegistration(t,e)});return this.executePostResolutionInterceptor(t,o,"All"),o}var s=[this.construct(t,e)];return this.executePostResolutionInterceptor(t,s,"All"),s},t.prototype.isRegistered=function(t,e){return void 0===e&&(e=!1),this.ensureNotDisposed(),this._registry.has(t)||e&&(this.parent||!1)&&this.parent.isRegistered(t,!0)},t.prototype.reset=function(){this.ensureNotDisposed(),this._registry.clear(),this.interceptors.preResolution.clear(),this.interceptors.postResolution.clear()},t.prototype.clearInstances=function(){var t,e;this.ensureNotDisposed();try{for(var n=Wc(this._registry.entries()),r=n.next();!r.done;r=n.next()){var i=qc(r.value,2),o=i[0],s=i[1];this._registry.setAll(o,s.filter(function(t){return!rl(t.provider)}).map(function(t){return t.instance=void 0,t}))}}catch(e){t={error:e}}finally{try{r&&!r.done&&(e=n.return)&&e.call(n)}finally{if(t)throw t.error}}},t.prototype.createChildContainer=function(){var e,n;this.ensureNotDisposed();var r=new t(this);try{for(var i=Wc(this._registry.entries()),o=i.next();!o.done;o=i.next()){var s=qc(o.value,2),a=s[0],c=s[1];c.some(function(t){return t.options.lifecycle===Hc.ContainerScoped})&&r._registry.setAll(a,c.map(function(t){return t.options.lifecycle===Hc.ContainerScoped?{provider:t.provider,options:t.options}:t}))}}catch(t){e={error:t}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(e)throw e.error}}return r},t.prototype.beforeResolution=function(t,e,n){void 0===n&&(n={frequency:"Always"}),this.interceptors.preResolution.set(t,{callback:e,options:n})},t.prototype.afterResolution=function(t,e,n){void 0===n&&(n={frequency:"Always"}),this.interceptors.postResolution.set(t,{callback:e,options:n})},t.prototype.dispose=function(){return zc(this,void 0,void 0,function(){var t;return Jc(this,function(e){switch(e.label){case 0:return this.disposed=!0,t=[],this.disposables.forEach(function(e){var n=e.dispose();n&&t.push(n)}),[4,Promise.all(t)];case 1:return e.sent(),[2]}})})},t.prototype.getRegistration=function(t){return this.isRegistered(t)?this._registry.get(t):this.parent?this.parent.getRegistration(t):null},t.prototype.getAllRegistrations=function(t){return this.isRegistered(t)?this._registry.getAll(t):this.parent?this.parent.getAllRegistrations(t):null},t.prototype.construct=function(t,e){var n=this;if(t instanceof $c)return t.createProxy(function(t){return n.resolve(t,e)});var r,i=function(){var r=dl.get(t);if(!r||0===r.length){if(0===t.length)return new t;throw new Error('TypeInfo not known for "'+t.name+'"')}var i=r.map(n.resolveParams(e,t));return new(t.bind.apply(t,Kc([void 0],i)))}();return"function"!=typeof(r=i).dispose||r.dispose.length>0||this.disposables.add(i),i},t.prototype.resolveParams=function(t,e){var n=this;return function(r,i){var o,s,a,c;try{return"object"==typeof(c=r)&&"token"in c&&"multiple"in c?el(r)?r.multiple?(o=n.resolve(r.transform)).transform.apply(o,Kc([n.resolveAll(r.token,new al,r.isOptional)],r.transformArgs)):(s=n.resolve(r.transform)).transform.apply(s,Kc([n.resolve(r.token,t,r.isOptional)],r.transformArgs)):r.multiple?n.resolveAll(r.token,new al,r.isOptional):n.resolve(r.token,t,r.isOptional):el(r)?(a=n.resolve(r.transform,t)).transform.apply(a,Kc([n.resolve(r.token,t)],r.transformArgs)):n.resolve(r,t)}catch(t){throw new Error(cl(e,i,t))}}},t.prototype.ensureNotDisposed=function(){if(this.disposed)throw new Error("This container has been disposed, you cannot interact with a disposed container")},t}(),fl=new pl;var Al="injectionTokens";const gl=function(t){return function(e){dl.set(e,function(t){var e=Reflect.getMetadata("design:paramtypes",t)||[],n=Reflect.getOwnMetadata(Al,t)||{};return Object.keys(n).forEach(function(t){e[+t]=n[t]}),e}(e)),t&&t.token&&(Array.isArray(t.token)?t.token.forEach(function(t){fl.register(t,e)}):fl.register(t.token,e))}};if("undefined"==typeof Reflect||!Reflect.getMetadata)throw new Error("tsyringe requires a reflect polyfill. Please add 'import \"reflect-metadata\"' to the top of your entry point.");var El;class ml{constructor(t={}){this.attrId="",this.attrValues=[],Object.assign(t)}}li([ri({type:En.ObjectIdentifier})],ml.prototype,"attrId",void 0),li([ri({type:En.Any,repeated:"set"})],ml.prototype,"attrValues",void 0);let wl=El=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,El.prototype)}};var yl;wl=El=li([ni({type:gn.Sequence,itemType:ml})],wl);let Il=yl=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,yl.prototype)}};Il=yl=li([ni({type:gn.Sequence,itemType:ca})],Il);class Cl{constructor(t={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],Cl.prototype,"certId",void 0),li([ri({type:En.Any,context:0})],Cl.prototype,"certValue",void 0);class Bl{constructor(t={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],Bl.prototype,"crlId",void 0),li([ri({type:En.Any,context:0})],Bl.prototype,"crltValue",void 0);class Tl extends Dr{}class Dl{constructor(t={}){this.encryptionAlgorithm=new ns,this.encryptedData=new Tl,Object.assign(this,t)}}var bl,Ml;li([ri({type:ns})],Dl.prototype,"encryptionAlgorithm",void 0),li([ri({type:Tl})],Dl.prototype,"encryptedData",void 0),function(t){t[t.v1=0]="v1"}(Ml||(Ml={}));class Nl extends Dr{}let vl=bl=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,bl.prototype)}};vl=bl=li([ni({type:gn.Sequence,itemType:Yo})],vl);class Sl{constructor(t={}){this.version=Ml.v1,this.privateKeyAlgorithm=new ns,this.privateKey=new Nl,Object.assign(this,t)}}li([ri({type:En.Integer})],Sl.prototype,"version",void 0),li([ri({type:ns})],Sl.prototype,"privateKeyAlgorithm",void 0),li([ri({type:Nl})],Sl.prototype,"privateKey",void 0),li([ri({type:vl,implicit:!0,context:0,optional:!0})],Sl.prototype,"attributes",void 0);let _l=class extends Sl{};_l=li([ni({type:gn.Sequence})],_l);let Ll=class extends Dl{};Ll=li([ni({type:gn.Sequence})],Ll);class xl{constructor(t={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],xl.prototype,"secretTypeId",void 0),li([ri({type:En.Any,context:0})],xl.prototype,"secretValue",void 0);class Rl{constructor(t={}){this.mac=new Oc,this.macSalt=new Dr,this.iterations=1,Object.assign(this,t)}}li([ri({type:Oc})],Rl.prototype,"mac",void 0),li([ri({type:Dr})],Rl.prototype,"macSalt",void 0),li([ri({type:En.Integer,defaultValue:1})],Rl.prototype,"iterations",void 0);class Fl{constructor(t={}){this.version=3,this.authSafe=new ca,this.macData=new Rl,Object.assign(this,t)}}var Ol;li([ri({type:En.Integer})],Fl.prototype,"version",void 0),li([ri({type:ca})],Fl.prototype,"authSafe",void 0),li([ri({type:Rl,optional:!0})],Fl.prototype,"macData",void 0);class Ql{constructor(t={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:En.ObjectIdentifier})],Ql.prototype,"bagId",void 0),li([ri({type:En.Any,context:0})],Ql.prototype,"bagValue",void 0),li([ri({type:ml,repeated:"set",optional:!0})],Ql.prototype,"bagAttributes",void 0);let kl=Ol=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,Ol.prototype)}};var Ul,Pl,Gl;kl=Ol=li([ni({type:gn.Sequence,itemType:Ql})],kl);const Vl="1.2.840.113549.1.9",Hl=`${Vl}.7`,jl=`${Vl}.14`;let Yl=class extends gi{constructor(t={}){super(t)}toString(){return{}.toString(),this.ia5String||super.toString()}};li([ri({type:En.IA5String})],Yl.prototype,"ia5String",void 0),Yl=li([ni({type:gn.Choice})],Yl);let zl=class extends ca{};zl=li([ni({type:gn.Sequence})],zl);let Jl=class extends Fl{};Jl=li([ni({type:gn.Sequence})],Jl);let Wl=class extends Dl{};Wl=li([ni({type:gn.Sequence})],Wl);let ql=class{constructor(t=""){this.value=t}toString(){return this.value}};li([ri({type:En.IA5String})],ql.prototype,"value",void 0),ql=li([ni({type:gn.Choice})],ql);let Kl=class extends Yl{};Kl=li([ni({type:gn.Choice})],Kl);let Xl=class extends gi{};Xl=li([ni({type:gn.Choice})],Xl);let Zl=class{constructor(t=new Date){this.value=t}};li([ri({type:En.GeneralizedTime})],Zl.prototype,"value",void 0),Zl=li([ni({type:gn.Choice})],Zl);let $l=class extends gi{};$l=li([ni({type:gn.Choice})],$l);let tu=class{constructor(t="M"){this.value=t}toString(){return this.value}};li([ri({type:En.PrintableString})],tu.prototype,"value",void 0),tu=li([ni({type:gn.Choice})],tu);let eu=class{constructor(t=""){this.value=t}toString(){return this.value}};li([ri({type:En.PrintableString})],eu.prototype,"value",void 0),eu=li([ni({type:gn.Choice})],eu);let nu=class extends eu{};nu=li([ni({type:gn.Choice})],nu);let ru=class extends gi{};ru=li([ni({type:gn.Choice})],ru);let iu=class{constructor(t=""){this.value=t}toString(){return this.value}};li([ri({type:En.ObjectIdentifier})],iu.prototype,"value",void 0),iu=li([ni({type:gn.Choice})],iu);let ou=class extends is{};ou=li([ni({type:gn.Choice})],ou);let su=class{constructor(t=0){this.value=t}toString(){return this.value.toString()}};li([ri({type:En.Integer})],su.prototype,"value",void 0),su=li([ni({type:gn.Choice})],su);let au=class extends bs{};au=li([ni({type:gn.Sequence})],au);let cu=class extends gi{};cu=li([ni({type:gn.Choice})],cu);let lu=Ul=class extends cs{constructor(t){super(t),Object.setPrototypeOf(this,Ul.prototype)}};lu=Ul=li([ni({type:gn.Sequence})],lu);let uu=Pl=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,Pl.prototype)}};uu=Pl=li([ni({type:gn.Set,itemType:Ts})],uu);let hu=class{constructor(t=""){this.value=t}toString(){return this.value}};li([ri({type:En.BmpString})],hu.prototype,"value",void 0),hu=li([ni({type:gn.Choice})],hu);let du=class extends ns{};du=li([ni({type:gn.Sequence})],du);let pu=Gl=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,Gl.prototype)}};var fu;pu=Gl=li([ni({type:gn.Sequence,itemType:du})],pu);let Au=fu=class extends ai{constructor(t){super(t),Object.setPrototypeOf(this,fu.prototype)}};Au=fu=li([ni({type:gn.Sequence,itemType:Yo})],Au);class gu{constructor(t={}){this.version=0,this.subject=new Ii,this.subjectPKInfo=new rs,this.attributes=new Au,Object.assign(this,t)}}li([ri({type:En.Integer})],gu.prototype,"version",void 0),li([ri({type:Ii})],gu.prototype,"subject",void 0),li([ri({type:rs})],gu.prototype,"subjectPKInfo",void 0),li([ri({type:Au,implicit:!0,context:0,optional:!0})],gu.prototype,"attributes",void 0);class Eu{constructor(t={}){this.certificationRequestInfo=new gu,this.signatureAlgorithm=new ns,this.signature=new ArrayBuffer(0),Object.assign(this,t)}}li([ri({type:gu,raw:!0})],Eu.prototype,"certificationRequestInfo",void 0),li([ri({type:ns})],Eu.prototype,"signatureAlgorithm",void 0),li([ri({type:En.BitString})],Eu.prototype,"signature",void 0);
84
- /*!
85
- * MIT License
86
- *
87
- * Copyright (c) Peculiar Ventures. All rights reserved.
88
- *
89
- * Permission is hereby granted, free of charge, to any person obtaining a copy
90
- * of this software and associated documentation files (the "Software"), to deal
91
- * in the Software without restriction, including without limitation the rights
92
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
93
- * copies of the Software, and to permit persons to whom the Software is
94
- * furnished to do so, subject to the following conditions:
95
- *
96
- * The above copyright notice and this permission notice shall be included in all
97
- * copies or substantial portions of the Software.
98
- *
99
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
100
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
101
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
102
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
103
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
104
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
105
- * SOFTWARE.
106
- *
107
- */
108
- const mu="crypto.algorithm";const wu="crypto.algorithmProvider";var yu;fl.registerSingleton(wu,class{getAlgorithms(){return fl.resolveAll(mu)}toAsnAlgorithm(t){for(const e of this.getAlgorithms()){const n=e.toAsnAlgorithm(t);if(n)return n}if(/^[0-9.]+$/.test(t.name)){const e=new ns({algorithm:t.name});if("parameters"in t){const n=t;e.parameters=n.parameters}return e}throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm")}toWebAlgorithm(t){for(const e of this.getAlgorithms()){const n=e.toWebAlgorithm(t);if(n)return n}return{name:t.algorithm,parameters:t.parameters}}});const Iu="1.3.36.3.3.2.8.1.1",Cu=`${Iu}.1`,Bu=`${Iu}.2`,Tu=`${Iu}.3`,Du=`${Iu}.4`,bu=`${Iu}.5`,Mu=`${Iu}.6`,Nu=`${Iu}.7`,vu=`${Iu}.8`,Su=`${Iu}.9`,_u=`${Iu}.10`,Lu=`${Iu}.11`,xu=`${Iu}.12`,Ru=`${Iu}.13`,Fu=`${Iu}.14`,Ou="brainpoolP160r1",Qu="brainpoolP160t1",ku="brainpoolP192r1",Uu="brainpoolP192t1",Pu="brainpoolP224r1",Gu="brainpoolP224t1",Vu="brainpoolP256r1",Hu="brainpoolP256t1",ju="brainpoolP320r1",Yu="brainpoolP320t1",zu="brainpoolP384r1",Ju="brainpoolP384t1",Wu="brainpoolP512r1",qu="brainpoolP512t1",Ku="ECDSA";let Xu=yu=class{toAsnAlgorithm(t){if(t.name.toLowerCase()===Ku.toLowerCase())if("hash"in t){switch(("string"==typeof t.hash?t.hash:t.hash.name).toLowerCase()){case"sha-1":return $a;case"sha-256":return tc;case"sha-384":return ec;case"sha-512":return nc}}else if("namedCurve"in t){let e="";switch(t.namedCurve){case"P-256":e=qa;break;case"K-256":e=yu.SECP256K1;break;case"P-384":e=Ka;break;case"P-521":e=Xa;break;case Ou:e=Cu;break;case Qu:e=Bu;break;case ku:e=Tu;break;case Uu:e=Du;break;case Pu:e=bu;break;case Gu:e=Mu;break;case Vu:e=Nu;break;case Hu:e=vu;break;case ju:e=Su;break;case Yu:e=_u;break;case zu:e=Lu;break;case Ju:e=xu;break;case Wu:e=Ru;break;case qu:e=Fu}if(e)return new ns({algorithm:Ha,parameters:ci.serialize(new ac({namedCurve:e}))})}return null}toWebAlgorithm(t){switch(t.algorithm){case ja:return{name:Ku,hash:{name:"SHA-1"}};case za:return{name:Ku,hash:{name:"SHA-256"}};case Ja:return{name:Ku,hash:{name:"SHA-384"}};case Wa:return{name:Ku,hash:{name:"SHA-512"}};case Ha:if(!t.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(ci.parse(t.parameters,ac).namedCurve){case qa:return{name:Ku,namedCurve:"P-256"};case yu.SECP256K1:return{name:Ku,namedCurve:"K-256"};case Ka:return{name:Ku,namedCurve:"P-384"};case Xa:return{name:Ku,namedCurve:"P-521"};case Cu:return{name:Ku,namedCurve:Ou};case Bu:return{name:Ku,namedCurve:Qu};case Tu:return{name:Ku,namedCurve:ku};case Du:return{name:Ku,namedCurve:Uu};case bu:return{name:Ku,namedCurve:Pu};case Mu:return{name:Ku,namedCurve:Gu};case Nu:return{name:Ku,namedCurve:Vu};case vu:return{name:Ku,namedCurve:Hu};case Su:return{name:Ku,namedCurve:ju};case _u:return{name:Ku,namedCurve:Yu};case Lu:return{name:Ku,namedCurve:zu};case xu:return{name:Ku,namedCurve:Ju};case Ru:return{name:Ku,namedCurve:Wu};case Fu:return{name:Ku,namedCurve:qu}}}return null}};Xu.SECP256K1="1.3.132.0.10",Xu=yu=li([gl()],Xu),fl.registerSingleton(mu,Xu);const Zu=Symbol("name"),$u=Symbol("value");class th{constructor(t,e={},n=""){this[Zu]=t,this[$u]=n;for(const t in e)this[t]=e[t]}}th.NAME=Zu,th.VALUE=$u;class eh{static toString(t){const e=this.items[t];return e||t}}eh.items={[Tc]:"sha1",[Dc]:"sha224",[bc]:"sha256",[Mc]:"sha384",[Nc]:"sha512",[hc]:"rsaEncryption",[Ec]:"sha1WithRSAEncryption",[mc]:"sha224WithRSAEncryption",[wc]:"sha256WithRSAEncryption",[yc]:"sha384WithRSAEncryption",[Ic]:"sha512WithRSAEncryption",[Ha]:"ecPublicKey",[ja]:"ecdsaWithSHA1",[Ya]:"ecdsaWithSHA224",[za]:"ecdsaWithSHA256",[Ja]:"ecdsaWithSHA384",[Wa]:"ecdsaWithSHA512",[yo]:"TLS WWW server authentication",[Io]:"TLS WWW client authentication",[Co]:"Code Signing",[Bo]:"E-mail Protection",[To]:"Time Stamping",[Do]:"OCSP Signing",[Ua]:"Signed Data"};class nh{static serialize(t){return this.serializeObj(t).join("\n")}static pad(t=0){return"".padStart(2*t," ")}static serializeObj(t,e=0){const n=[];let r=this.pad(e++),i="";const o=t[th.VALUE];o&&(i=` ${o}`),n.push(`${r}${t[th.NAME]}:${i}`),r=this.pad(e);for(const i in t){if("symbol"==typeof i)continue;const o=t[i],s=i?`${i}: `:"";if("string"==typeof o||"number"==typeof o||"boolean"==typeof o)n.push(`${r}${s}${o}`);else if(o instanceof Date)n.push(`${r}${s}${o.toUTCString()}`);else if(Array.isArray(o))for(const t of o)t[th.NAME]=i,n.push(...this.serializeObj(t,e));else if(o instanceof th)o[th.NAME]=i,n.push(...this.serializeObj(o,e));else if(Zt._H.isBufferSource(o))i?(n.push(`${r}${s}`),n.push(...this.serializeBufferSource(o,e+1))):n.push(...this.serializeBufferSource(o,e));else{if(!("toTextObject"in o))throw new TypeError("Cannot serialize data in text format. Unsupported type.");{const t=o.toTextObject();t[th.NAME]=i,n.push(...this.serializeObj(t,e))}}}return n}static serializeBufferSource(t,e=0){const n=this.pad(e),r=Zt._H.toUint8Array(t),i=[];for(let t=0;t<r.length;){const e=[];for(let n=0;n<16&&t<r.length;n++){8===n&&e.push("");const i=r[t++].toString(16).padStart(2,"0");e.push(i)}i.push(`${n}${e.join(" ")}`)}return i}static serializeAlgorithm(t){return this.algorithmSerializer.toTextObject(t)}}var rh,ih;nh.oidSerializer=eh,nh.algorithmSerializer=class{static toTextObject(t){const e=new th("Algorithm Identifier",{},eh.toString(t.algorithm));if(t.parameters)switch(t.algorithm){case Ha:{const n=(new Xu).toWebAlgorithm(t);n&&"namedCurve"in n?e["Named Curve"]=n.namedCurve:e.Parameters=t.parameters;break}default:e.Parameters=t.parameters}return e}};class oh{get rawData(){return ui(this,rh,"f")||hi(this,rh,ci.serialize(this.asn),"f"),ui(this,rh,"f")}constructor(...t){rh.set(this,void 0),Zt._H.isBufferSource(t[0])?(this.asn=ci.parse(t[0],t[1]),hi(this,rh,Zt._H.toArrayBuffer(t[0]),"f"),this.onInit(this.asn)):(this.asn=t[0],this.onInit(this.asn))}equal(t){return t instanceof oh&&(0,Zt.n4)(t.rawData,this.rawData)}toString(t="text"){switch(t){case"asn":return ci.toString(this.rawData);case"text":return nh.serialize(this.toTextObject());case"hex":return Zt.U$.ToHex(this.rawData);case"base64":return Zt.U$.ToBase64(this.rawData);case"base64url":return Zt.U$.ToBase64Url(this.rawData);default:throw TypeError("Argument 'format' is unsupported value")}}getTextName(){return this.constructor.NAME}toTextObject(){const t=this.toTextObjectEmpty();return t[""]=this.rawData,t}toTextObjectEmpty(t){return new th(this.getTextName(),{},t)}}rh=new WeakMap,oh.NAME="ASN";class sh extends oh{constructor(...t){let e;e=Zt._H.isBufferSource(t[0])?Zt._H.toArrayBuffer(t[0]):ci.serialize(new as({extnID:t[0],critical:t[1],extnValue:new Dr(Zt._H.toArrayBuffer(t[2]))})),super(e,as)}onInit(t){this.type=t.extnID,this.critical=t.critical,this.value=t.extnValue.buffer}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.value,t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty(this.critical?"critical":void 0);return t[th.NAME]===sh.NAME&&(t[th.NAME]=eh.toString(this.type)),t}}class ah{static isCryptoKeyPair(t){return t&&t.privateKey&&t.publicKey}static isCryptoKey(t){return t&&t.usages&&t.type&&t.algorithm&&void 0!==t.extractable}constructor(){this.items=new Map,this[ih]="CryptoProvider","undefined"!=typeof self&&"undefined"!=typeof crypto?this.set(ah.DEFAULT,crypto):void 0!==s.g&&s.g.crypto&&s.g.crypto.subtle&&this.set(ah.DEFAULT,s.g.crypto)}clear(){this.items.clear()}delete(t){return this.items.delete(t)}forEach(t,e){return this.items.forEach(t,e)}has(t){return this.items.has(t)}get size(){return this.items.size}entries(){return this.items.entries()}keys(){return this.items.keys()}values(){return this.items.values()}[Symbol.iterator](){return this.items[Symbol.iterator]()}get(t=ah.DEFAULT){const e=this.items.get(t.toLowerCase());if(!e)throw new Error(`Cannot get Crypto by name '${t}'`);return e}set(t,e){if("string"==typeof t){if(!e)throw new TypeError("Argument 'value' is required");this.items.set(t.toLowerCase(),e)}else this.items.set(ah.DEFAULT,t);return this}}ih=Symbol.toStringTag,ah.DEFAULT="default";const ch=new ah,lh=/^[0-2](?:\.[1-9][0-9]*)+$/;class uh{constructor(t={}){this.items={};for(const e in t)this.register(e,t[e])}get(t){return this.items[t]||null}findId(t){return function(t){return new RegExp(lh).test(t)}(t)?t:this.get(t)}register(t,e){this.items[t]=e,this.items[e]=t}}const hh=new uh;function dh(t,e){return`\\${Zt.U$.ToHex(Zt.U$.FromUtf8String(e)).toUpperCase()}`}hh.register("CN","2.5.4.3"),hh.register("L","2.5.4.7"),hh.register("ST","2.5.4.8"),hh.register("O","2.5.4.10"),hh.register("OU","2.5.4.11"),hh.register("C","2.5.4.6"),hh.register("DC","0.9.2342.19200300.100.1.25"),hh.register("E","1.2.840.113549.1.9.1"),hh.register("G","2.5.4.42"),hh.register("I","2.5.4.43"),hh.register("SN","2.5.4.4"),hh.register("T","2.5.4.12");class ph{static isASCII(t){for(let e=0;e<t.length;e++){if(t.charCodeAt(e)>255)return!1}return!0}static isPrintableString(t){return/^[A-Za-z0-9 '()+,-./:=?]*$/g.test(t)}constructor(t,e={}){this.extraNames=new uh,this.asn=new Ii;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const n=e[t];this.extraNames.register(t,n)}"string"==typeof t?this.asn=this.fromString(t):t instanceof Ii?this.asn=t:Zt._H.isBufferSource(t)?this.asn=ci.parse(t,Ii):this.asn=this.fromJSON(t)}getField(t){const e=this.extraNames.findId(t)||hh.findId(t),n=[];for(const t of this.asn)for(const r of t)r.type===e&&n.push(r.value.toString());return n}getName(t){return this.extraNames.get(t)||hh.get(t)}toString(){return this.asn.map(t=>t.map(t=>`${this.getName(t.type)||t.type}=${t.value.anyValue?`#${Zt.U$.ToHex(t.value.anyValue)}`:t.value.toString().replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,dh)}`).join("+")).join(", ")}toJSON(){var t;const e=[];for(const n of this.asn){const r={};for(const e of n){const n=this.getName(e.type)||e.type;null!==(t=r[n])&&void 0!==t||(r[n]=[]),r[n].push(e.value.anyValue?`#${Zt.U$.ToHex(e.value.anyValue)}`:e.value.toString())}e.push(r)}return e}fromString(t){const e=new Ii,n=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+"\\](?=[,+]|$))|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let r=null,i=",";for(;r=n.exec(`${t},`);){let[,t,n]=r;const o=n[n.length-1];","!==o&&"+"!==o||(n=n.slice(0,n.length-1),r[3]=o);const s=r[3];t=this.getTypeOid(t);const a=this.createAttribute(t,n);"+"===i?e[e.length-1].push(a):e.push(new wi([a])),i=s}return e}fromJSON(t){const e=new Ii;for(const n of t){const t=new wi;for(const e in n){const r=this.getTypeOid(e),i=n[e];for(const e of i){const n=this.createAttribute(r,e);t.push(n)}}e.push(t)}return e}getTypeOid(t){if(/[\d.]+/.test(t)||(t=this.getName(t)||""),!t)throw new Error(`Cannot get OID for name type '${t}'`);return t}createAttribute(t,e){const n=new mi({type:t});if("object"==typeof e)for(const t in e)switch(t){case"ia5String":n.value.ia5String=e[t];break;case"utf8String":n.value.utf8String=e[t];break;case"universalString":n.value.universalString=e[t];break;case"bmpString":n.value.bmpString=e[t];break;case"printableString":n.value.printableString=e[t]}else if("#"===e[0])n.value.anyValue=Zt.U$.FromHex(e.slice(1));else{const r=this.processStringValue(e);t===this.getName("E")||t===this.getName("DC")?n.value.ia5String=r:ph.isPrintableString(r)?n.value.printableString=r:n.value.utf8String=r}return n}processStringValue(t){const e=/"(.*?[^\\])?"/.exec(t);return e&&(t=e[1]),t.replace(/\\0a/gi,"\n").replace(/\\0d/gi,"\r").replace(/\\0g/gi,"\t").replace(/\\(.)/g,"$1")}toArrayBuffer(){return ci.serialize(this.asn)}async getThumbprint(...t){var e;let n,r="SHA-1";return t.length>=1&&!(null===(e=t[0])||void 0===e?void 0:e.subtle)?(r=t[0]||r,n=t[1]||ch.get()):n=t[0]||ch.get(),await n.subtle.digest(r,this.toArrayBuffer())}}const fh="Cannot initialize GeneralName from ASN.1 data.",Ah=`${fh} Unsupported string format in use.`,gh=`${fh} Value doesn't match to GUID regular expression.`,Eh=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,mh="1.3.6.1.4.1.311.25.1",wh="1.3.6.1.4.1.311.20.2.3",yh="dns",Ih="dn",Ch="email",Bh="ip",Th="url",Dh="guid",bh="upn",Mh="id";class Nh extends oh{constructor(...t){let e;if(2===t.length)switch(t[0]){case Ih:{const n=new ph(t[1]).toArrayBuffer(),r=ci.parse(n,Ii);e=new Di({directoryName:r});break}case yh:e=new Di({dNSName:t[1]});break;case Ch:e=new Di({rfc822Name:t[1]});break;case Dh:{const n=new RegExp(Eh,"i").exec(t[1]);if(!n)throw new Error("Cannot parse GUID value. Value doesn't match to regular expression");const r=n.slice(1).map((t,e)=>e<3?Zt.U$.ToHex(new Uint8Array(Zt.U$.FromHex(t)).reverse()):t).join("");e=new Di({otherName:new Bi({typeId:mh,value:ci.serialize(new Dr(Zt.U$.FromHex(r)))})});break}case Bh:e=new Di({iPAddress:t[1]});break;case Mh:e=new Di({registeredID:t[1]});break;case bh:e=new Di({otherName:new Bi({typeId:wh,value:ci.serialize(Or.toASN(t[1]))})});break;case Th:e=new Di({uniformResourceIdentifier:t[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else e=Zt._H.isBufferSource(t[0])?ci.parse(t[0],Di):t[0];super(e)}onInit(t){if(null!=t.dNSName)this.type=yh,this.value=t.dNSName;else if(null!=t.rfc822Name)this.type=Ch,this.value=t.rfc822Name;else if(null!=t.iPAddress)this.type=Bh,this.value=t.iPAddress;else if(null!=t.uniformResourceIdentifier)this.type=Th,this.value=t.uniformResourceIdentifier;else if(null!=t.registeredID)this.type=Mh,this.value=t.registeredID;else if(null!=t.directoryName)this.type=Ih,this.value=new ph(t.directoryName).toString();else{if(null==t.otherName)throw new Error(Ah);if(t.otherName.typeId===mh){this.type=Dh;const e=ci.parse(t.otherName.value,Dr),n=new RegExp(Eh,"i").exec(Zt.U$.ToHex(e));if(!n)throw new Error(gh);this.value=n.slice(1).map((t,e)=>e<3?Zt.U$.ToHex(new Uint8Array(Zt.U$.FromHex(t)).reverse()):t).join("-")}else{if(t.otherName.typeId!==wh)throw new Error(Ah);this.type=bh,this.value=ci.parse(t.otherName.value,gi).toString()}}}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let t;switch(this.type){case Ih:case yh:case Dh:case Bh:case Mh:case bh:case Th:t=this.type.toUpperCase();break;case Ch:t="Email";break;default:throw new Error("Unsupported GeneralName type")}let e=this.value;return this.type===Mh&&(e=eh.toString(e)),new th(t,void 0,e)}}class vh extends oh{constructor(t){let e;if(t instanceof ji)e=t;else if(Array.isArray(t)){const n=[];for(const e of t)if(e instanceof Di)n.push(e);else{const t=ci.parse(new Nh(e.type,e.value).rawData,Di);n.push(t)}e=new ji(n)}else{if(!Zt._H.isBufferSource(t))throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");e=ci.parse(t,ji)}super(e)}onInit(t){const e=[];for(const n of t){let t=null;try{t=new Nh(n)}catch{continue}e.push(t)}this.items=e}toJSON(){return this.items.map(t=>t.toJSON())}toTextObject(){const t=super.toTextObjectEmpty();for(const e of this.items){const n=e.toTextObject();let r=t[n[th.NAME]];Array.isArray(r)||(r=[],t[n[th.NAME]]=r),r.push(n)}return t}}vh.NAME="GeneralNames";const Sh="-{5}",_h="\\n",Lh="\\n",xh=`${`${Sh}BEGIN (${`[^${_h}]+`}(?=${Sh}))${Sh}`}${Lh}(?:((?:${`[^:${_h}]+`}: ${`(?:[^${_h}]+${Lh}(?: +[^${_h}]+${Lh})*)`})+))?${Lh}?(${`(?:[a-zA-Z0-9=+/]+${Lh})+`})${`${Sh}END \\1${Sh}`}`;class Rh{static isPem(t){return"string"==typeof t&&new RegExp(xh,"g").test(t.replace(/\r/g,""))}static decodeWithHeaders(t){t=t.replace(/\r/g,"");const e=new RegExp(xh,"g"),n=[];let r=null;for(;r=e.exec(t);){const t=r[3].replace(new RegExp(`[${_h}]+`,"g"),""),e={type:r[1],headers:[],rawData:Zt.U$.FromBase64(t)},i=r[2];if(i){const t=i.split(new RegExp(Lh,"g"));let n=null;for(const r of t){const[t,i]=r.split(/:(.*)/);if(void 0===i){if(!n)throw new Error("Cannot parse PEM string. Incorrect header value");n.value+=t.trim()}else n&&e.headers.push(n),n={key:t,value:i.trim()}}n&&e.headers.push(n)}n.push(e)}return n}static decode(t){return this.decodeWithHeaders(t).map(t=>t.rawData)}static decodeFirst(t){const e=this.decode(t);if(!e.length)throw new RangeError("PEM string doesn't contain any objects");return e[0]}static encode(t,e){if(Array.isArray(t)){const n=new Array;return e?t.forEach(t=>{if(!Zt._H.isBufferSource(t))throw new TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");n.push(this.encodeStruct({type:e,rawData:Zt._H.toArrayBuffer(t)}))}):t.forEach(t=>{if(!("type"in t))throw new TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");n.push(this.encodeStruct(t))}),n.join("\n")}if(!e)throw new Error("Required argument 'tag' is missed");return this.encodeStruct({type:e,rawData:Zt._H.toArrayBuffer(t)})}static encodeStruct(t){var e;const n=t.type.toLocaleUpperCase(),r=[];if(r.push(`-----BEGIN ${n}-----`),null===(e=t.headers)||void 0===e?void 0:e.length){for(const e of t.headers)r.push(`${e.key}: ${e.value}`);r.push("")}const i=Zt.U$.ToBase64(t.rawData);let o,s=0;const a=Array();for(;s<i.length&&(i.length-s<64?o=i.substring(s):(o=i.substring(s,s+64),s+=64),0!==o.length)&&(a.push(o),!(o.length<64)););return r.push(...a),r.push(`-----END ${n}-----`),r.join("\n")}}Rh.CertificateTag="CERTIFICATE",Rh.CrlTag="CRL",Rh.CertificateRequestTag="CERTIFICATE REQUEST",Rh.PublicKeyTag="PUBLIC KEY",Rh.PrivateKeyTag="PRIVATE KEY";class Fh extends oh{static isAsnEncoded(t){return Zt._H.isBufferSource(t)||"string"==typeof t}static toArrayBuffer(t){if("string"==typeof t){if(Rh.isPem(t))return Rh.decode(t)[0];if(Zt.U$.isHex(t))return Zt.U$.FromHex(t);if(Zt.U$.isBase64(t))return Zt.U$.FromBase64(t);if(Zt.U$.isBase64Url(t))return Zt.U$.FromBase64Url(t);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}{const e=Zt._H.toUint8Array(t);if(e.length>0&&48===e[0])return Zt._H.toArrayBuffer(t);const n=Zt.U$.ToBinary(t);if(Rh.isPem(n))return Rh.decode(n)[0];if(Zt.U$.isHex(n))return Zt.U$.FromHex(n);if(Zt.U$.isBase64(n))return Zt.U$.FromBase64(n);if(Zt.U$.isBase64Url(n))return Zt.U$.FromBase64Url(n);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}}constructor(...t){Fh.isAsnEncoded(t[0])?super(Fh.toArrayBuffer(t[0]),t[1]):super(t[0])}toString(t="pem"){return"pem"===t?Rh.encode(this.rawData,this.tag):super.toString(t)}}class Oh extends Fh{static async create(t,e=ch.get()){if(t instanceof Oh)return t;if(ah.isCryptoKey(t)){if("public"!==t.type)throw new TypeError("Public key is required");const n=await e.subtle.exportKey("spki",t);return new Oh(n)}if(t.publicKey)return t.publicKey;if(Zt._H.isBufferSource(t))return new Oh(t);throw new TypeError("Unsupported PublicKeyType")}constructor(t){Fh.isAsnEncoded(t)?super(t,rs):super(t),this.tag=Rh.PublicKeyTag}async export(...t){let e,n=["verify"],r={hash:"SHA-256",...this.algorithm};t.length>1?(r=t[0]||r,n=t[1]||n,e=t[2]||ch.get()):e=t[0]||ch.get();let i=this.rawData;const o=ci.parse(this.rawData,rs);return o.algorithm.algorithm===fc&&(i=function(t,e){return t.algorithm=new ns({algorithm:hc,parameters:null}),e=ci.serialize(t),e}(o,i)),e.subtle.importKey("spki",i,r,!0,n)}onInit(t){const e=fl.resolve(wu),n=this.algorithm=e.toWebAlgorithm(t.algorithm);switch(t.algorithm.algorithm){case hc:{const e=ci.parse(t.subjectPublicKey,Gc),r=Zt._H.toUint8Array(e.modulus);n.publicExponent=Zt._H.toUint8Array(e.publicExponent),n.modulusLength=(r[0]?r:r.slice(1)).byteLength<<3;break}}}async getThumbprint(...t){var e;let n,r="SHA-1";return t.length>=1&&!(null===(e=t[0])||void 0===e?void 0:e.subtle)?(r=t[0]||r,n=t[1]||ch.get()):n=t[0]||ch.get(),await n.subtle.digest(r,this.rawData)}async getKeyIdentifier(...t){let e,n="SHA-1";1===t.length?"string"==typeof t[0]?(n=t[0],e=ch.get()):e=t[0]:2===t.length?(n=t[0],e=t[1]):e=ch.get();const r=ci.parse(this.rawData,rs);return await e.subtle.digest(n,r.subjectPublicKey)}toTextObject(){const t=this.toTextObjectEmpty(),e=ci.parse(this.rawData,rs);if(t.Algorithm=nh.serializeAlgorithm(e.algorithm),e.algorithm.algorithm===Ha)t["EC Point"]=e.subjectPublicKey;else t["Raw Data"]=e.subjectPublicKey;return t}}class Qh extends sh{static async create(t,e=!1,n=ch.get()){if("name"in t&&"serialNumber"in t)return new Qh(t,e);const r=await Oh.create(t,n),i=await r.getKeyIdentifier(n);return new Qh(Zt.U$.ToHex(i),e)}constructor(...t){if(Zt._H.isBufferSource(t[0]))super(t[0]);else if("string"==typeof t[0]){const e=new Pi({keyIdentifier:new Ui(Zt.U$.FromHex(t[0]))});super(ki,t[1],ci.serialize(e))}else{const e=t[0],n=e.name instanceof vh?ci.parse(e.name.rawData,ji):e.name,r=new Pi({authorityCertIssuer:n,authorityCertSerialNumber:Zt.U$.FromHex(e.serialNumber)});super(ki,t[1],ci.serialize(r))}}onInit(t){super.onInit(t);const e=ci.parse(t.extnValue,Pi);e.keyIdentifier&&(this.keyId=Zt.U$.ToHex(e.keyIdentifier)),(e.authorityCertIssuer||e.authorityCertSerialNumber)&&(this.certId={name:e.authorityCertIssuer||[],serialNumber:e.authorityCertSerialNumber?Zt.U$.ToHex(e.authorityCertSerialNumber):""})}toTextObject(){const t=this.toTextObjectWithoutValue(),e=ci.parse(this.value,Pi);return e.authorityCertIssuer&&(t["Authority Issuer"]=new vh(e.authorityCertIssuer).toTextObject()),e.authorityCertSerialNumber&&(t["Authority Serial Number"]=e.authorityCertSerialNumber),e.keyIdentifier&&(t[""]=e.keyIdentifier),t}}Qh.NAME="Authority Key Identifier";class kh extends sh{constructor(...t){if(Zt._H.isBufferSource(t[0])){super(t[0]);const e=ci.parse(this.value,Vi);this.ca=e.cA,this.pathLength=e.pathLenConstraint}else{const e=new Vi({cA:t[0],pathLenConstraint:t[1]});super(Gi,t[2],ci.serialize(e)),this.ca=t[0],this.pathLength=t[1]}}toTextObject(){const t=this.toTextObjectWithoutValue();return this.ca&&(t.CA=this.ca),void 0!==this.pathLength&&(t["Path Length"]=this.pathLength),t}}var Uh,Ph;kh.NAME="Basic Constraints",function(t){t.serverAuth="1.3.6.1.5.5.7.3.1",t.clientAuth="1.3.6.1.5.5.7.3.2",t.codeSigning="1.3.6.1.5.5.7.3.3",t.emailProtection="1.3.6.1.5.5.7.3.4",t.timeStamping="1.3.6.1.5.5.7.3.8",t.ocspSigning="1.3.6.1.5.5.7.3.9"}(Uh||(Uh={}));class Gh extends sh{constructor(...t){if(Zt._H.isBufferSource(t[0])){super(t[0]);const e=ci.parse(this.value,wo);this.usages=e.map(t=>t)}else{const e=new wo(t[0]);super(mo,t[1],ci.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.usages.map(t=>eh.toString(t)).join(", "),t}}Gh.NAME="Extended Key Usages",function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"}(Ph||(Ph={}));class Vh extends sh{constructor(...t){if(Zt._H.isBufferSource(t[0])){super(t[0]);const e=ci.parse(this.value,Ro);this.usages=e.toNumber()}else{const e=new Ro(t[0]);super(_o,t[1],ci.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=ci.parse(this.value,Ro);return t[""]=e.toJSON().join(", "),t}}Vh.NAME="Key Usages";class Hh extends sh{static async create(t,e=!1,n=ch.get()){const r=await Oh.create(t,n),i=await r.getKeyIdentifier(n);return new Hh(Zt.U$.ToHex(i),e)}constructor(...t){if(Zt._H.isBufferSource(t[0])){super(t[0]);const e=ci.parse(this.value,qo);this.keyId=Zt.U$.ToHex(e)}else{const e="string"==typeof t[0]?Zt.U$.FromHex(t[0]):t[0],n=new qo(e);super(Wo,t[1],ci.serialize(n)),this.keyId=Zt.U$.ToHex(e)}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=ci.parse(this.value,qo);return t[""]=e,t}}Hh.NAME="Subject Key Identifier";class jh extends sh{constructor(...t){Zt._H.isBufferSource(t[0])?super(t[0]):super(Ho,t[1],new vh(t[0]||[]).rawData)}onInit(t){super.onInit(t);const e=ci.parse(t.extnValue,jo);this.names=new vh(e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.names.toTextObject();for(const n in e)t[n]=e[n];return t}}jh.NAME="Subject Alternative Name";class Yh{static register(t,e){this.items.set(t,e)}static create(t){const e=new sh(t),n=this.items.get(e.type);return n?new n(t):e}}Yh.items=new Map;class zh extends sh{constructor(...t){var e;if(Zt._H.isBufferSource(t[0])){super(t[0]);const e=ci.parse(this.value,eo);this.policies=e.map(t=>t.policyIdentifier)}else{const n=t[0],r=null!==(e=t[1])&&void 0!==e&&e,i=new eo(n.map(t=>new to({policyIdentifier:t})));super(Wi,r,ci.serialize(i)),this.policies=n}}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Policy=this.policies.map(t=>new th("",{},eh.toString(t))),t}}zh.NAME="Certificate Policies",Yh.register(Wi,zh);class Jh extends sh{constructor(...t){var e;if(Zt._H.isBufferSource(t[0]))super(t[0]);else if(Array.isArray(t[0])&&"string"==typeof t[0][0]){const e=t[0].map(t=>new lo({distributionPoint:new co({fullName:[new Di({uniformResourceIdentifier:t})]})})),n=new uo(e);super(oo,t[1],ci.serialize(n))}else{const e=new uo(t[0]);super(oo,t[1],ci.serialize(e))}null!==(e=this.distributionPoints)&&void 0!==e||(this.distributionPoints=[])}onInit(t){super.onInit(t);const e=ci.parse(t.extnValue,uo);this.distributionPoints=e}toTextObject(){const t=this.toTextObjectWithoutValue();return t["Distribution Point"]=this.distributionPoints.map(t=>{var e;const n={};return t.distributionPoint&&(n[""]=null===(e=t.distributionPoint.fullName)||void 0===e?void 0:e.map(t=>new Nh(t).toString()).join(", ")),t.reasons&&(n.Reasons=t.reasons.toString()),t.cRLIssuer&&(n["CRL Issuer"]=t.cRLIssuer.map(t=>t.toString()).join(", ")),n}),t}}Jh.NAME="CRL Distribution Points";class Wh extends sh{constructor(...t){var e,n,r,i;if(Zt._H.isBufferSource(t[0]))super(t[0]);else if(t[0]instanceof Qi){const e=new Qi(t[0]);super(Fi,t[1],ci.serialize(e))}else{const e=t[0],n=new Qi;Kh(n,e,vi,"ocsp"),Kh(n,e,Si,"caIssuers"),Kh(n,e,_i,"timeStamping"),Kh(n,e,Li,"caRepository"),super(Fi,t[1],ci.serialize(n))}null!==(e=this.ocsp)&&void 0!==e||(this.ocsp=[]),null!==(n=this.caIssuers)&&void 0!==n||(this.caIssuers=[]),null!==(r=this.timeStamping)&&void 0!==r||(this.timeStamping=[]),null!==(i=this.caRepository)&&void 0!==i||(this.caRepository=[])}onInit(t){super.onInit(t),this.ocsp=[],this.caIssuers=[],this.timeStamping=[],this.caRepository=[];ci.parse(t.extnValue,Qi).forEach(t=>{switch(t.accessMethod){case vi:this.ocsp.push(new Nh(t.accessLocation));break;case Si:this.caIssuers.push(new Nh(t.accessLocation));break;case _i:this.timeStamping.push(new Nh(t.accessLocation));break;case Li:this.caRepository.push(new Nh(t.accessLocation))}})}toTextObject(){const t=this.toTextObjectWithoutValue();return this.ocsp.length&&qh(t,"OCSP",this.ocsp),this.caIssuers.length&&qh(t,"CA Issuers",this.caIssuers),this.timeStamping.length&&qh(t,"Time Stamping",this.timeStamping),this.caRepository.length&&qh(t,"CA Repository",this.caRepository),t}}function qh(t,e,n){if(1===n.length)t[e]=n[0].toTextObject();else{const r=new th("");n.forEach((t,e)=>{const n=t.toTextObject(),i=`${n[th.NAME]} ${e+1}`;let o=r[i];Array.isArray(o)||(o=[],r[i]=o),o.push(n)}),t[e]=r}}function Kh(t,e,n,r){const i=e[r];if(i){(Array.isArray(i)?i:[i]).forEach(e=>{"string"==typeof e&&(e=new Nh("url",e)),t.push(new Oi({accessMethod:n,accessLocation:ci.parse(e.rawData,Di)}))})}}Wh.NAME="Authority Info Access";class Xh extends sh{constructor(...t){Zt._H.isBufferSource(t[0])?super(t[0]):super(vo,t[1],new vh(t[0]||[]).rawData)}onInit(t){super.onInit(t);const e=ci.parse(t.extnValue,ji);this.names=new vh(e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.names.toTextObject();for(const n in e)t[n]=e[n];return t}}Xh.NAME="Issuer Alternative Name";class Zh extends oh{constructor(...t){let e;if(Zt._H.isBufferSource(t[0]))e=Zt._H.toArrayBuffer(t[0]);else{const n=t[0],r=Array.isArray(t[1])?t[1].map(t=>Zt._H.toArrayBuffer(t)):[];e=ci.serialize(new Yo({type:n,values:r}))}super(e,Yo)}onInit(t){this.type=t.type,this.values=t.values}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Value=this.values.map(t=>new th("",{"":t})),t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty();return t[th.NAME]===Zh.NAME&&(t[th.NAME]=eh.toString(this.type)),t}}Zh.NAME="Attribute";class $h extends Zh{constructor(...t){var e;if(Zt._H.isBufferSource(t[0]))super(t[0]);else{const e=new cu({printableString:t[0]});super(Hl,[ci.serialize(e)])}null!==(e=this.password)&&void 0!==e||(this.password="")}onInit(t){if(super.onInit(t),this.values[0]){const t=ci.parse(this.values[0],cu);this.password=t.toString()}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[th.VALUE]=this.password,t}}$h.NAME="Challenge Password";class td extends Zh{constructor(...t){var e;if(Zt._H.isBufferSource(t[0]))super(t[0]);else{const e=t[0],n=new cs;for(const t of e)n.push(ci.parse(t.rawData,as));super(jl,[ci.serialize(n)])}null!==(e=this.items)&&void 0!==e||(this.items=[])}onInit(t){if(super.onInit(t),this.values[0]){const t=ci.parse(this.values[0],cs);this.items=t.map(t=>Yh.create(ci.serialize(t)))}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.items.map(t=>t.toTextObject());for(const n of e)t[n[th.NAME]]=n;return t}}td.NAME="Extensions";class ed{static register(t,e){this.items.set(t,e)}static create(t){const e=new Zh(t),n=this.items.get(e.type);return n?new n(t):e}}ed.items=new Map;const nd="crypto.signatureFormatter";var rd;let id=rd=class{static createPssParams(t,e){const n=rd.getHashAlgorithm(t);return n?new Fc({hashAlgorithm:n,maskGenAlgorithm:new ns({algorithm:vc,parameters:ci.serialize(n)}),saltLength:e}):null}static getHashAlgorithm(t){const e=fl.resolve(wu);return"string"==typeof t?e.toAsnAlgorithm({name:t}):"object"==typeof t&&t&&"name"in t?e.toAsnAlgorithm(t):null}toAsnAlgorithm(t){switch(t.name.toLowerCase()){case"rsassa-pkcs1-v1_5":if(!("hash"in t))return new ns({algorithm:hc,parameters:null});{let e;if("string"==typeof t.hash)e=t.hash;else{if(!t.hash||"object"!=typeof t.hash||!("name"in t.hash)||"string"!=typeof t.hash.name)throw new Error("Cannot get hash algorithm name");e=t.hash.name.toUpperCase()}switch(e.toLowerCase()){case"sha-1":return new ns({algorithm:Ec,parameters:null});case"sha-256":return new ns({algorithm:wc,parameters:null});case"sha-384":return new ns({algorithm:yc,parameters:null});case"sha-512":return new ns({algorithm:Ic,parameters:null})}}break;case"rsa-pss":if("hash"in t){if(!("saltLength"in t)||"number"!=typeof t.saltLength)throw new Error("Cannot get 'saltLength' from 'alg' argument");const e=rd.createPssParams(t.hash,t.saltLength);if(!e)throw new Error("Cannot create PSS parameters");return new ns({algorithm:fc,parameters:ci.serialize(e)})}return new ns({algorithm:fc,parameters:null})}return null}toWebAlgorithm(t){switch(t.algorithm){case hc:return{name:"RSASSA-PKCS1-v1_5"};case Ec:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case wc:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case yc:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case Ic:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case fc:if(t.parameters){const e=ci.parse(t.parameters,Fc);return{name:"RSA-PSS",hash:fl.resolve(wu).toWebAlgorithm(e.hashAlgorithm),saltLength:e.saltLength}}return{name:"RSA-PSS"}}return null}};id=rd=li([gl()],id),fl.registerSingleton(mu,id);let od=class{toAsnAlgorithm(t){switch(t.name.toLowerCase()){case"sha-1":return new ns({algorithm:Tc});case"sha-256":return new ns({algorithm:bc});case"sha-384":return new ns({algorithm:Mc});case"sha-512":return new ns({algorithm:Nc})}return null}toWebAlgorithm(t){switch(t.algorithm){case Tc:return{name:"SHA-1"};case bc:return{name:"SHA-256"};case Mc:return{name:"SHA-384"};case Nc:return{name:"SHA-512"}}return null}};od=li([gl()],od),fl.registerSingleton(mu,od);class sd{addPadding(t,e){const n=Zt._H.toUint8Array(e),r=new Uint8Array(t);return r.set(n,t-n.length),r.buffer}removePadding(t,e=!1){let n=Zt._H.toUint8Array(t);for(let t=0;t<n.length;t++)if(n[t]){n=n.slice(t);break}if(e&&n[0]>127){const t=new Uint8Array(n.length+1);return t.set(n,1),t.buffer}return n.buffer}toAsnSignature(t,e){if("ECDSA"===t.name){const n=t.namedCurve,r=sd.namedCurveSize.get(n)||sd.defaultNamedCurveSize,i=new lc,o=Zt._H.toUint8Array(e);return i.r=this.removePadding(o.slice(0,r),!0),i.s=this.removePadding(o.slice(r,r+r),!0),ci.serialize(i)}return null}toWebSignature(t,e){if("ECDSA"===t.name){const n=ci.parse(e,lc),r=t.namedCurve,i=sd.namedCurveSize.get(r)||sd.defaultNamedCurveSize,o=this.addPadding(i,this.removePadding(n.r)),s=this.addPadding(i,this.removePadding(n.s));return(0,Zt.kg)(o,s)}return null}}sd.namedCurveSize=new Map,sd.defaultNamedCurveSize=32;const ad="1.3.101.110",cd="1.3.101.111",ld="1.3.101.112",ud="1.3.101.113";let hd=class{toAsnAlgorithm(t){let e=null;switch(t.name.toLowerCase()){case"ed25519":e=ld;break;case"x25519":e=ad;break;case"eddsa":switch(t.namedCurve.toLowerCase()){case"ed25519":e=ld;break;case"ed448":e=ud}break;case"ecdh-es":switch(t.namedCurve.toLowerCase()){case"x25519":e=ad;break;case"x448":e=cd}}return e?new ns({algorithm:e}):null}toWebAlgorithm(t){switch(t.algorithm){case ld:return{name:"Ed25519"};case ud:return{name:"EdDSA",namedCurve:"Ed448"};case ad:return{name:"X25519"};case cd:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};var dd,pd,fd,Ad,gd,Ed,md,wd,yd,Id,Cd,Bd,Td,Dd,bd,Md,Nd,vd,Sd,_d,Ld;hd=li([gl()],hd),fl.registerSingleton(mu,hd);class xd extends Fh{get subjectName(){return ui(this,pd,"f")||hi(this,pd,new ph(this.asn.certificationRequestInfo.subject),"f"),ui(this,pd,"f")}get subject(){return ui(this,fd,"f")||hi(this,fd,this.subjectName.toString(),"f"),ui(this,fd,"f")}get signatureAlgorithm(){if(!ui(this,Ad,"f")){const t=fl.resolve(wu);hi(this,Ad,t.toWebAlgorithm(this.asn.signatureAlgorithm),"f")}return ui(this,Ad,"f")}get signature(){return ui(this,gd,"f")||hi(this,gd,this.asn.signature,"f"),ui(this,gd,"f")}get publicKey(){return ui(this,Ed,"f")||hi(this,Ed,new Oh(this.asn.certificationRequestInfo.subjectPKInfo),"f"),ui(this,Ed,"f")}get attributes(){return ui(this,md,"f")||hi(this,md,this.asn.certificationRequestInfo.attributes.map(t=>ed.create(ci.serialize(t))),"f"),ui(this,md,"f")}get extensions(){if(!ui(this,wd,"f")){hi(this,wd,[],"f");const t=this.getAttribute(jl);t instanceof td&&hi(this,wd,t.items,"f")}return ui(this,wd,"f")}get tbs(){return ui(this,dd,"f")||hi(this,dd,this.asn.certificationRequestInfoRaw||ci.serialize(this.asn.certificationRequestInfo),"f"),ui(this,dd,"f")}constructor(t){const e=Fh.isAsnEncoded(t)?[t,Eu]:[t];super(e[0],e[1]),dd.set(this,void 0),pd.set(this,void 0),fd.set(this,void 0),Ad.set(this,void 0),gd.set(this,void 0),Ed.set(this,void 0),md.set(this,void 0),wd.set(this,void 0),this.tag=Rh.CertificateRequestTag}onInit(t){}getAttribute(t){for(const e of this.attributes)if(e.type===t)return e;return null}getAttributes(t){return this.attributes.filter(e=>e.type===t)}getExtension(t){for(const e of this.extensions)if(e.type===t)return e;return null}getExtensions(t){return this.extensions.filter(e=>e.type===t)}async verify(t=ch.get()){const e={...this.publicKey.algorithm,...this.signatureAlgorithm},n=await this.publicKey.export(e,["verify"],t),r=fl.resolveAll(nd).reverse();let i=null;for(const t of r)if(i=t.toWebSignature(e,this.signature),i)break;if(!i)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await t.subtle.verify(this.signatureAlgorithm,n,i,this.tbs)}toTextObject(){const t=this.toTextObjectEmpty(),e=ci.parse(this.rawData,Eu),n=e.certificationRequestInfo,r=new th("",{Version:`${ls[n.version]} (${n.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const t=new th("");for(const e of this.attributes){const n=e.toTextObject();t[n[th.NAME]]=n}r.Attributes=t}return t.Data=r,t.Signature=new th("",{Algorithm:nh.serializeAlgorithm(e.signatureAlgorithm),"":e.signature}),t}}dd=new WeakMap,pd=new WeakMap,fd=new WeakMap,Ad=new WeakMap,gd=new WeakMap,Ed=new WeakMap,md=new WeakMap,wd=new WeakMap,xd.NAME="PKCS#10 Certificate Request";class Rd extends Fh{get publicKey(){return ui(this,_d,"f")||hi(this,_d,new Oh(this.asn.tbsCertificate.subjectPublicKeyInfo),"f"),ui(this,_d,"f")}get serialNumber(){if(!ui(this,Id,"f")){const t=this.asn.tbsCertificate;let e=new Uint8Array(t.serialNumber);e.length>1&&0===e[0]&&e[1]>127&&(e=e.slice(1)),hi(this,Id,Zt.U$.ToHex(e),"f")}return ui(this,Id,"f")}get subjectName(){return ui(this,Cd,"f")||hi(this,Cd,new ph(this.asn.tbsCertificate.subject),"f"),ui(this,Cd,"f")}get subject(){return ui(this,Bd,"f")||hi(this,Bd,this.subjectName.toString(),"f"),ui(this,Bd,"f")}get issuerName(){return ui(this,Td,"f")||hi(this,Td,new ph(this.asn.tbsCertificate.issuer),"f"),ui(this,Td,"f")}get issuer(){return ui(this,Dd,"f")||hi(this,Dd,this.issuerName.toString(),"f"),ui(this,Dd,"f")}get notBefore(){if(!ui(this,bd,"f")){const t=this.asn.tbsCertificate.validity.notBefore.utcTime||this.asn.tbsCertificate.validity.notBefore.generalTime;if(!t)throw new Error("Cannot get 'notBefore' value");hi(this,bd,t,"f")}return ui(this,bd,"f")}get notAfter(){if(!ui(this,Md,"f")){const t=this.asn.tbsCertificate.validity.notAfter.utcTime||this.asn.tbsCertificate.validity.notAfter.generalTime;if(!t)throw new Error("Cannot get 'notAfter' value");hi(this,Md,t,"f")}return ui(this,Md,"f")}get signatureAlgorithm(){if(!ui(this,Nd,"f")){const t=fl.resolve(wu);hi(this,Nd,t.toWebAlgorithm(this.asn.signatureAlgorithm),"f")}return ui(this,Nd,"f")}get signature(){return ui(this,vd,"f")||hi(this,vd,this.asn.signatureValue,"f"),ui(this,vd,"f")}get extensions(){return ui(this,Sd,"f")||(hi(this,Sd,[],"f"),this.asn.tbsCertificate.extensions&&hi(this,Sd,this.asn.tbsCertificate.extensions.map(t=>Yh.create(ci.serialize(t))),"f")),ui(this,Sd,"f")}get tbs(){return ui(this,yd,"f")||hi(this,yd,this.asn.tbsCertificateRaw||ci.serialize(this.asn.tbsCertificate),"f"),ui(this,yd,"f")}constructor(t){const e=Fh.isAsnEncoded(t)?[t,hs]:[t];super(e[0],e[1]),yd.set(this,void 0),Id.set(this,void 0),Cd.set(this,void 0),Bd.set(this,void 0),Td.set(this,void 0),Dd.set(this,void 0),bd.set(this,void 0),Md.set(this,void 0),Nd.set(this,void 0),vd.set(this,void 0),Sd.set(this,void 0),_d.set(this,void 0),this.tag=Rh.CertificateTag}onInit(t){}getExtension(t){for(const e of this.extensions)if("string"==typeof t){if(e.type===t)return e}else if(e instanceof t)return e;return null}getExtensions(t){return this.extensions.filter(e=>"string"==typeof t?e.type===t:e instanceof t)}async verify(t={},e=ch.get()){let n,r;const i=t.publicKey;try{if(i)if("publicKey"in i)n={...i.publicKey.algorithm,...this.signatureAlgorithm},r=await i.publicKey.export(n,["verify"],e);else if(i instanceof Oh)n={...i.algorithm,...this.signatureAlgorithm},r=await i.export(n,["verify"],e);else if(Zt._H.isBufferSource(i)){const t=new Oh(i);n={...t.algorithm,...this.signatureAlgorithm},r=await t.export(n,["verify"],e)}else n={...i.algorithm,...this.signatureAlgorithm},r=i;else n={...this.publicKey.algorithm,...this.signatureAlgorithm},r=await this.publicKey.export(n,["verify"],e)}catch{return!1}const o=fl.resolveAll(nd).reverse();let s=null;for(const t of o)if(s=t.toWebSignature(n,this.signature),s)break;if(!s)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const a=await e.subtle.verify(this.signatureAlgorithm,r,s,this.tbs);if(t.signatureOnly)return a;{const e=(t.date||new Date).getTime();return a&&this.notBefore.getTime()<e&&e<this.notAfter.getTime()}}async getThumbprint(...t){let e,n="SHA-1";return t[0]&&(t[0].subtle?e=t[0]:(n=t[0]||n,e=t[1])),null!=e||(e=ch.get()),await e.subtle.digest(n,this.rawData)}async isSelfSigned(t=ch.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},t)}toTextObject(){const t=this.toTextObjectEmpty(),e=ci.parse(this.rawData,hs),n=e.tbsCertificate,r=new th("",{Version:`${ls[n.version]} (${n.version})`,"Serial Number":n.serialNumber,"Signature Algorithm":nh.serializeAlgorithm(n.signature),Issuer:this.issuer,Validity:new th("",{"Not Before":n.validity.notBefore.getTime(),"Not After":n.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(n.issuerUniqueID&&(r["Issuer Unique ID"]=n.issuerUniqueID),n.subjectUniqueID&&(r["Subject Unique ID"]=n.subjectUniqueID),this.extensions.length){const t=new th("");for(const e of this.extensions){const n=e.toTextObject();t[n[th.NAME]]=n}r.Extensions=t}return t.Data=r,t.Signature=new th("",{Algorithm:nh.serializeAlgorithm(e.signatureAlgorithm),"":e.signatureValue}),t}}yd=new WeakMap,Id=new WeakMap,Cd=new WeakMap,Bd=new WeakMap,Td=new WeakMap,Dd=new WeakMap,bd=new WeakMap,Md=new WeakMap,Nd=new WeakMap,vd=new WeakMap,Sd=new WeakMap,_d=new WeakMap,Rd.NAME="Certificate";!function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"}(Ld||(Ld={}));new WeakMap,new WeakMap,new WeakMap,new WeakMap,new WeakMap;new WeakMap,new WeakMap,new WeakMap,new WeakMap,new WeakMap,new WeakMap,new WeakMap;Yh.register(Gi,kh),Yh.register(mo,Gh),Yh.register(_o,Vh),Yh.register(Wo,Hh),Yh.register(ki,Qh),Yh.register(Ho,jh),Yh.register(oo,Jh),Yh.register(Fi,Wh),Yh.register(vo,Xh),ed.register(Hl,$h),ed.register(jl,td),fl.registerSingleton(nd,class{toAsnSignature(t,e){return Zt._H.toArrayBuffer(e)}toWebSignature(t,e){return Zt._H.toArrayBuffer(e)}}),fl.registerSingleton(nd,sd),sd.namedCurveSize.set("P-256",32),sd.namedCurveSize.set("K-256",32),sd.namedCurveSize.set("P-384",48),sd.namedCurveSize.set("P-521",66);function Fd(t){let e;try{e=new Rd(t)}catch(t){throw new Error(`Unsupported certificate: ${t}`)}return{internal:e,isWithinValidity(){const t=new Date;return t>e.notBefore&&t<e.notAfter},getAIAExtension(){const t=e.getExtension("1.3.6.1.5.5.7.1.1");return t?.caIssuers?.find(t=>"url"===t.type)?.value},getSubjectField:t=>e.subjectName.getField(t),getAlternativeDNSNames(){const t=e.extensions.find(t=>"2.5.29.17"===t.type);return t instanceof jh?t.names.items.filter(t=>"dns"===t.type).map(t=>t.value):[]},isIssuer:({internal:t})=>t.issuer===e.subject,getPublicKey:()=>({buffer:new Uint8Array(e.publicKey.rawData),algorithm:e.publicKey.algorithm.name}),async verifyIssued(t){const n=function(t,{signatureAlgorithm:e}){if(!("name"in e))throw new Error("Missing signature algorithm name");const{name:n,hash:r}=e,{algorithm:i}=t;if(i.name!==n)throw new Error(`Signature algorithm ${n} does not match public key algorithm ${i.name}`);let o;switch(r.name){case"SHA-256":o="SHA256";break;case"SHA-384":o="SHA384";break;case"SHA-512":o="SHA512";break;case"SHA-1":o="SHA1";break;default:throw new Error(`Unsupported hash algorithm: ${r.name}`)}switch(n){case"RSASSA-PKCS1-v1_5":case"RSA-PKCS1-SHA1":return`RSA-PKCS1-${o}`;case"ECDSA":if("SHA512"===o||"SHA1"===o)throw new Error(`Unsupported hash algorithm for ECDSA: ${o}`);switch(i.namedCurve){case"P-256":return`ECDSA-SECP256R1-${o}`;case"P-384":return`ECDSA-SECP384R1-${o}`;default:throw new Error(`Unsupported named curve: ${i.namedCurve}`)}default:throw new Error(`Unsupported signature algorithm: ${n}`)}}(e.publicKey,t.internal),r=await F.importKey(n,new Uint8Array(e.publicKey.rawData),"public"),i=new Uint8Array(t.internal.signature);return await F.verify(n,{publicKey:r,signature:i,data:new Uint8Array(t.internal.tbs)})},serialiseToPem:()=>e.toString("pem")}}function Od(t){return Fd(t)}async function Qd(t){const e=await fetch(t);if(!e.ok)throw new Error(`Failed to fetch certificate from ${t}: ${e.statusText}`);const n=await e.arrayBuffer();return new Uint8Array(n)}const kd=ht("TLS 1.3, server CertificateVerify");let Ud;function Pd(t,{version:e}){const n="TLS1_3"===e?function(e){const n=t.slice(0,e);return t=t.slice(e),n}(1)[0]:0;t=i(3);const r=[];for(;t.length;){const t=Od(i(3));r.push(t),"TLS1_3"===e&&i(2)}return{certificates:r,ctx:n};function i(e=2){const n=wt(t,e);return t=t.slice(n.length+e),n}}function Gd(t){const e=function(e){const n=t.slice(0,e);return t=t.slice(e),n}(2),n=nt.find(t=>lt(et[t].identifier,e));if(!n)throw new Error(`Unsupported signature algorithm '${e}'`);return{algorithm:n,signature:function(e=2){const n=wt(t,e);return t=t.slice(n.length+e),n}(2)}}async function Vd({signature:t,algorithm:e,publicKey:n,signatureData:r}){const{algorithm:i}=et[e],o=await F.importKey(i,n.buffer,"public");if(!await F.verify(i,{data:r,signature:t,publicKey:o}))throw new Error(`${e} signature verification failed`)}async function Hd(t,e){const n=await Nt(t,e);return ct([new Uint8Array(64).fill(32),kd,new Uint8Array([0]),n])}async function jd({clientRandom:t,serverRandom:e,curveType:n,publicKey:r}){const i=await F.exportKey(r);return ct([t,e,ct([new Uint8Array([3]),Q[n].identifier]),yt(i).slice(1)])}async function Yd(t,e,n,r=Qd,i){const o=[...Jd(),...i||[]],s=t[0];if(![...s.getSubjectField("CN"),...s.getAlternativeDNSNames()].some(t=>function(t,e){const n=t.split("."),r=e.split(".");if(r.length!==n.length){if("*"!==r[0]||r.length!==n.length+1)return!1;r.shift()}return n.every((t,e)=>t===r[e]||"*"===r[e])}(e,t)))throw new Error(`Certificate is not for host ${e}`);t=[...t];for(let e=0;e<t.length;e++){const i=t[e],s=i.getSubjectField("CN");if(!i.isWithinValidity())throw new Error(`Certificate ${s} (i: ${e}) is outside validity`);let a=zd(t.slice(e+1),i);if(a||(a=zd(o,i)),!a){const o=i.getAIAExtension();if(!o)throw new Error(`Missing issuer for certificate ${s} (i: ${e})`);if(TLS_INTERMEDIATE_CA_CACHE?.[o])a=TLS_INTERMEDIATE_CA_CACHE[o];else{n.debug({aiaExt:o,cn:s},"fetching issuer certificate via AIA extension");const e=await r(o);a=await Fd(e),t.push(a),TLS_INTERMEDIATE_CA_CACHE[o]=a}}if(!a.isWithinValidity())throw new Error(`Issuer Cert ${s} is not within validity period`);if(!await a.verifyIssued(i)){const t=a.getSubjectField("CN");throw new Error(`Verification of ${s} failed by issuer ${t} (i: ${e})`)}}}function zd(t,e){for(const n of t)if(n.isIssuer(e))return n}function Jd(){return Ud||(Ud=Xt.map(Fd),"undefined"!=typeof TLS_ADDITIONAL_ROOT_CA_LIST&&Ud.push(...TLS_ADDITIONAL_ROOT_CA_LIST.map(Fd)),Ud)}function Wd(t){return qd(t,{ALPN:t=>{const e=wt(t);return dt(wt(e,1))},SUPPORTED_VERSIONS:At,PRE_SHARED_KEY:()=>({supported:!0}),KEY_SHARE:t=>{const e=t.slice(0,2),n=Z.find(t=>lt(Q[t].identifier,e));if(!n)throw new Error(`Unsupported key type '${e}'`);return{type:n,publicKey:wt(t.slice(2))}}})}function qd(t,e){t=o(2);const n={},r=new Set;for(;t.length;){const t=i(2)[1],s=o(2),a=it.find(e=>rt[e]===t);if(r.has(t))throw new Error(`Duplicate extension '${a}' (${t})`);a&&a in e&&(n[a]=e[a](s))}return n;function i(e){const n=t.slice(0,e);return t=t.slice(e),n}function o(e=2){const n=wt(t,e);return t=t.slice(n.length+e),n}}async function Kd(t){l(2);const e=l(32),n=function(e=2){const n=wt(t,e);return t=t.slice(n.length+e),n}(1),r=l(2),i=tt.find(t=>lt($[t].identifier,r));if(!i)throw new Error(`Unsupported cipher suite '${r}'`);const o=l(1)[0];if(0!==o)throw new Error(`Unsupported compression method '${o.toString(16)}'`);const s=Wd(t),a=s.SUPPORTED_VERSIONS||"TLS1_2",c=s.KEY_SHARE;if("TLS1_3"===a&&!c)throw new Error("Missing key share in TLS 1.3");return{serverTlsVersion:a,serverRandom:e,sessionId:n,cipherSuite:i,supportsPsk:!!s.PRE_SHARED_KEY?.supported,extensions:s,...c?{publicKey:await F.importKey(Q[c.type].algorithm,c.publicKey,"public"),publicKeyType:c.type}:{}};function l(e){const n=t.slice(0,e);return t=t.slice(e),n}}function Xd(t){const e=s(4).getUint32(0),n=s(4).getUint32(0),r=a(1),i=a(2),o=a(2);return{ticket:i,lifetimeS:e,ticketAgeAddMs:n,nonce:r,expiresAt:new Date(Date.now()+1e3*e),extensions:o};function s(e){const n=t.slice(0,e);return t=t.slice(e),ut(n)}function a(e=2){const n=wt(t,e);return t=t.slice(n.length+e),n}}async function Zd(t,e){if(!("recordHeader"in e))throw new Error("recordHeader is required for decrypt");const{key:n,recordNumber:r,cipherSuite:i}=e,{cipher:o,hashLength:s}=$[i];return ft(o)?async function(r){const i=t.slice(0,16),o=t.slice(16);let a=await F.decrypt(r,{key:n,iv:i,data:o});a=function(t){const e=t[t.length-1];for(let n=0;n<e;n++)if(t[t.length-1-n]!==e)throw new Error("Invalid padding");return t.slice(0,t.length-e)}(a),a=a.slice(0,-1);const c=a.slice(-s),l=a.slice(0,-s),u=await np(l,e);if(!lt(c,u))throw new Error(`MAC mismatch: expected ${at(u)}, got ${at(c)}`);return{plaintext:l,iv:i}}(o):async function(i){let o=e.iv;const s=12-o.length;if(s){const e=t.slice(0,s);t=t.slice(s),o=ct([o,e])}else"TLS1_3"!==e.version&&"CHACHA20-POLY1305"!==i||void 0===r||(o=pt(o,r));const a=t.slice(-16),c=tp((t=t.slice(0,-16)).length,e),{plaintext:l}=await F.authenticatedDecrypt(i,{key:n,iv:o,data:t,aead:c,authTag:a});if(l.length!==t.length)throw new Error("Decrypted length does not match encrypted length");return{plaintext:l,iv:o}}(o)}async function $d(t,e){const{key:n,recordNumber:r,cipherSuite:i}=e,{cipher:o}=$[i];let s=e.iv;return ft(o)?async function(r){s=function(t,e){const n=new Uint8Array(e);return n.set(t,e-t.length),n}(e.iv,16).slice(0,16);const i=await np(t,e),o=function(t,e){const n=t.length%e===0?t.length+e:Math.ceil(t.length/e)*e,r=n-t.length-1,i=new Uint8Array(n);return i.set(t),i.fill(r,t.length),i.fill(r,n-1),i}(ct([t,i]),16),a=await F.encrypt(r,{key:n,iv:s,data:o});return{ciphertext:ct([s,a]),iv:s}}(o):async function(i){const o=tp(t.length,e),a=12-s.length;let c,l=s;if(a&&void 0!==r){c=new Uint8Array(a);ut(c).setUint32(a-4,r),l=ct([s,c])}else"TLS1_3"!==e.version&&"CHACHA20-POLY1305"!==i||void 0===r||(l=pt(l,r));const u=await F.authenticatedEncrypt(i,{key:n,iv:l,data:t,aead:o});c&&(u.ciphertext=ct([c,u.ciphertext]));return{ciphertext:ct([u.ciphertext,u.authTag]),iv:l}}(o)}function tp(t,e){let n;if("TLS1_3"===e.version){const r=t+16;n="recordHeaderOpts"in e?gt(r,e.recordHeaderOpts):rp(e.recordHeader,r)}else n=ep(t,e);return n}function ep(t,e){const{recordNumber:n}=e,r="recordHeaderOpts"in e?gt(t,e.recordHeaderOpts):rp(e.recordHeader,t),i=new Uint8Array(8);return ut(i).setUint32(4,n||0),ct([i,r])}async function np(t,e){const{macKey:n,cipherSuite:r}=e;if(!n)throw new Error("macKey is required for non-AEAD cipher");const{hashAlgorithm:i}=$[r],o=ct([ep(t.length,e),t]);return await F.hmac(i,n,o)}function rp(t,e){const n=new Uint8Array(t);return ut(n).setUint16(3,e),n}function ip({host:t,verifyServerCertificate:e=!0,rootCAs:n,logger:r,cipherSuites:i,namedCurves:o=Z,supportedProtocolVersions:s,signatureAlgorithms:a,applicationLayerProtocols:c,fetchCertificateBytes:l,write:u,onRead:h,onApplicationData:d,onSessionTicket:p,onTlsEnd:f,onHandshake:A,onRecvCertificates:g}){const E=r||zt,m=function(t){let e,n,r=new Uint8Array(0),i=0;return{getPendingBuffer:()=>r,*onData(o){for(r=ct([r,o]);r.length;){if(!e){if(r.length<5)break;const o=r[0];e=o;const s=ut(r);i=s.getUint16(3),n=r.slice(0,5),r=r.slice(5),t.trace({bytesLeft:i,recvBuffer:r.length,type:e},"starting processing packet")}if(r.length<i)break;const o=r.slice(0,i);t.trace({type:e},"got complete packet");const s={type:e,packet:{header:n,content:o}};e=void 0,r=r.slice(o.length),yield s}},reset(){e=void 0,n=void 0,r=new Uint8Array(0),i=0}}}(E),{enqueue:w}=(()=>{let t=Promise.resolve();return{enqueue:(e,...n)=>(t=(async()=>{try{await t}catch{}return await e(...n)})(),t)}})(),y={};let I,C,B,T,D,b,M,N,v,S=!1,_=!1,L=new Uint8Array,x=[],R=0,O=0,k=!1,W=new Uint8Array,tt=!1,et=!1;const nt=async({type:r,packet:{content:i,header:o}})=>{if(_)return void E.warn("connection closed, ignoring packet");let s,a={type:"plaintext"};if(k||r===ot.WRAPPED_RECORD){E.trace("recv wrapped record");const t="serverMacKey"in B?B.serverMacKey:void 0,e=await Zd(i,{key:B.serverEncKey,iv:B.serverIv,recordHeader:o,recordNumber:O,cipherSuite:I,version:D,macKey:t});if("TLS1_3"===D){const t=e.plaintext[e.plaintext.length-1];s=Object.entries(X).find(([,e])=>e===t)?.[0]}a={type:"ciphertext",encKey:B.serverEncKey,fixedIv:B.serverIv,iv:e.iv,recordNumber:O,macKey:t,ciphertext:i,plaintext:e.plaintext,contentType:s},i=e.plaintext,s&&(i=i.slice(0,-1)),E.trace({recordRecvCount:O,contentType:s,length:i.length},"decrypted wrapped record"),O+=1}if(h?.({content:i,header:o},a),r!==ot.WRAPPED_RECORD&&r!==ot.HELLO)return r===ot.CHANGE_CIPHER_SPEC?(E.debug("received change cipher spec"),void(k=!0)):r===ot.ALERT?void await ht(i):void E.warn({type:r.toString(16),chunk:at(i)},"cannot process message");try{await async function({content:r,contentType:i,header:o}){if(i??=o[0],i===X.HANDSHAKE){let s;for(W=ct([W,r]);s=a();){const{type:c,content:u}=s;switch(c){case U:E.trace("received server hello");const h=await Kd(u);if(!h.supportsPsk&&C)throw new Error("Server does not support PSK");I=h.cipherSuite,D=h.serverTlsVersion,M=h.serverRandom,it(h.extensions?.ALPN);const f=$[I];E.debug({cipherSuite:I,connTlsVersion:D,selectedAlpn:N},"processed server hello"),h.publicKeyType&&h.publicKey?await pt({publicKeyType:h.publicKeyType,publicKey:h.publicKey}):"isRsaEcdh"in f&&f.isRsaEcdh&&(T="RSA");break;case V:const A=Wd(u);E.debug({len:u.length,extData:A},"received encrypted extensions"),it(A?.ALPN);break;case P:throw new Error("Hello retry not supported. Please re-establish connection");case H:E.trace({len:u.length},"received certificate");const m=Pd(u,{version:D});v=m.certificates,E.debug({len:v.length},"parsed certificates"),e&&!et&&(await Yd(v,t,E,l,n),E.debug("verified certificate chain"),et=!0),g?.({certificates:v});break;case J:E.debug({len:u.length},"received certificate verify");const w=Gd(u);if(E.debug({alg:w.algorithm},"parsed certificate verify"),!v?.length)throw new Error("No certificates received");const _=await Hd(x.slice(0,-1),I);await Vd({...w,publicKey:v[0].getPublicKey(),signatureData:_});break;case q:await dt(u);break;case K:const L=await Tt(B.serverSecret,I),R=await bt(L,I);B={...B,serverSecret:L,serverEncKey:R.encKey,serverIv:R.iv},O=0,E.debug("updated server traffic keys");break;case G:if("TLS1_3"===D){E.debug({len:r.length},"received session ticket");const nt=Xd(u);p?.(nt)}else E.warn("ignoring received session ticket in TLS 1.2");break;case Y:E.debug("received client certificate request"),tt=!0;break;case j:if(E.trace("received server key share"),!v?.length)throw new Error("No certificates received");const F=await jt(u);E.debug({publicKeyType:F.publicKeyType,signatureAlgorithm:F.signatureAlgorithm},"got server key share");const Q=await jd({clientRandom:b,serverRandom:M,curveType:F.publicKeyType,publicKey:F.publicKey});await Vd({signature:F.signatureBytes,algorithm:F.signatureAlgorithm,publicKey:v[0].getPublicKey(),signatureData:Q}),E.debug("verified server key share signature"),e&&!et&&(await Yd(v,t,E,l,n),E.debug("verified certificate chain"),et=!0),await pt(F);break;case z:if(E.debug("server hello done"),!T)throw new Error("Key exchange without key-type not supported");let k;if("RSA"===T){if(B)throw new Error("Keys already computed, despite RSA key type");const{preMasterSecret:rt,encrypted:ot}=await Yt(v[0],D);k=await Ht(ot),B=await Bt({preMasterSecret:rt,clientRandom:b,serverRandom:M,cipherSuite:I})}else k=await Vt(y[T].pubKey);await Et({type:"HELLO",data:k}),x.push(k),await ft();const Z=await Pt({secret:B.masterSecret,handshakeMessages:x,cipherSuite:I});await At({data:Z,type:"HELLO"}),x.push(Z);break;default:E.warn({type:c.toString(16)},"cannot process record")}}function a(){if(!W.length)return;const t=W[0],e=mt(W.slice(1),3);if(!e)return void E.warn("missing bytes from packet");const n=4+e.length;return S||x.push(W.slice(0,n)),W=W.slice(n),{type:t,content:e}}}else i===X.APPLICATION_DATA?(E.trace({len:r.length},"received application data"),d?.(r)):i===X.ALERT?await ht(r):E.warn({record:r,contentType:i?.toString(16)},"cannot process record")}({content:i,contentType:s?X[s]:void 0,header:o})}catch(t){E.error({err:t},"error processing record"),wt(t)}},rt=t=>w(nt,t);function it(t){if(N=t||c?.[0],N&&!c?.includes(N))throw new Error(`Server selected unsupported ALPN: "${N}"`)}async function ht(t){if(_)return void E.warn("connection closed, ignoring alert");const{level:e,description:n}=function(t){const e=ut(t),n=e.getUint8(0),r=e.getUint8(1),i=Jt.find(([,t])=>t===n)?.[0];if(!i)throw new Error(`Unknown alert level ${n}`);const o=Wt.find(([,t])=>t===r)?.[0];if(!o)throw new Error(`Unknown alert description ${r}`);return{level:i,description:o}}(t),r="HANDSHAKE_FAILURE"===n||"PROTOCOL_VERSION"===n?"Unsupported TLS version":"received alert";E["WARNING"===e?"warn":"error"]({level:e,description:n},r),"FATAL"!==e&&"CLOSE_NOTIFY"!==n||wt("FATAL"===e?new Error(`Fatal alert: ${n}`):void 0)}async function dt(t){if(E.debug("received server finish"),!et&&!C&&e)throw new Error("Finish received before certificate verification");"TLS1_2"===D?await async function(t){if(!lt(await Gt("server",{handshakeMessages:x.slice(0,-1),secret:B.masterSecret,cipherSuite:I}),t))throw new Error("Server finish does not match")}(t):await async function(t){const e=await Dt({hellos:x,cipherSuite:I,secretType:"ap",masterSecret:B.masterSecret}),n=x.slice(0,-1);await async function(t,e){if(!lt(await Qt(e),t))throw new Error("Invalid finish message")}(t,{secret:B.serverSecret,handshakeMessages:n,cipherSuite:I}),E.debug("server finish verified"),await async function(){if(tt){const t=ct([new Uint8Array([H,0]),yt(new Uint8Array([0,0,0,0]))]);E.trace({cert:at(t)},"sending zero certs"),await At({type:"WRAPPED_RECORD",data:t,contentType:"HANDSHAKE"}),x.push(t)}}();const r=await async function(t){const e=await Qt(t);return ct([new Uint8Array([q,0]),yt(e)])}({secret:B.clientSecret,handshakeMessages:x,cipherSuite:I});E.trace({finish:at(r)},"sending client finish"),await At({type:"WRAPPED_RECORD",data:r,contentType:"HANDSHAKE"}),x.push(r),B=e,R=0,O=0}(t),S=!0,A?.()}async function pt(t){T=t.publicKeyType;const{keyPair:e,algorithm:n}=await It(t.publicKeyType),r=await F.calculateSharedSecret(n,e.privKey,t.publicKey);B="TLS1_2"===D?await Bt({preMasterSecret:r,clientRandom:b,serverRandom:M,cipherSuite:I}):await Dt({hellos:x,cipherSuite:I,secretType:"hs",masterSecret:r,earlySecret:C}),E.debug({keyType:T},"computed shared keys")}async function ft(){E.debug("sending change cipher spec");const t=new Uint8Array([1]);await Et({type:"CHANGE_CIPHER_SPEC",data:t})}async function At(t){E.trace({...t,data:at(t.data)},"writing enc packet");const e="clientMacKey"in B?B.clientMacKey:void 0;let n=t.data;"TLS1_3"===D&&void 0!==t.contentType&&(n=ct([n,new Uint8Array([X[t.contentType]])]));const{ciphertext:r,iv:i}=await $d(n,{key:B.clientEncKey,iv:B.clientIv,recordNumber:R,cipherSuite:I,macKey:e,recordHeaderOpts:{type:t.type,version:t.version},version:D}),o=gt(r.length,t);await u({header:o,content:r},{type:"ciphertext",encKey:B.clientEncKey,fixedIv:B.clientIv,iv:i,recordNumber:R,macKey:e,ciphertext:r,plaintext:n,contentType:t.contentType}),R+=1}async function Et(t){E.trace({...t,data:at(t.data)},"writing packet");const e=gt(t.data.length,t);await u({header:e,content:t.data},{type:"plaintext"})}async function wt(t){await w(()=>{}),E.trace({err:t},"ended tls connection"),_=!0,S=!1,x=[],B=void 0,R=0,O=0,C=void 0,I=void 0,T=void 0,b=void 0,M=void 0,m.reset(),f?.(t)}async function It(t){const e=Q[t].algorithm;return y[t]??=await F.generateKeyPair(e),{algorithm:e,keyPair:y[t]}}return{getMetadata:()=>({cipherSuite:I,keyType:T,version:D,selectedAlpn:N}),hasEnded:()=>_,getKeys(){if(B)return{...B,recordSendCount:R,recordRecvCount:O}},getSessionId:()=>L,isHandshakeDone:()=>S,getPskFromTicket:t=>async function(t,{masterKey:e,hellos:n,cipherSuite:r}){const{hashAlgorithm:i,hashLength:o}=$[r],s=await Nt(n,r),a=await Mt(i,e,"res master",s,o),c=await Mt(i,a,"resumption",t.nonce,o),l=await F.hash(i,new Uint8Array),u=await F.extract(i,o,c,""),h=await Mt(i,u,"res binder",l,o),d=await Mt(i,h,"finished",new Uint8Array,o),p=Math.floor(t.lifetimeS/1e3+t.ticketAgeAddMs);return{identity:t.ticket,ticketAge:p,finishKey:await F.importKey(i,d),resumeMasterSecret:a,earlySecret:u,cipherSuite:r}}(t,{masterKey:B.masterSecret,hellos:x,cipherSuite:I}),async startHandshake(e){if(S)throw new Error("Handshake already done");L=F.randomBytes(32),_=!1,b=e?.random||F.randomBytes(32);const n=await xt({host:t,keysToShare:await Promise.all(o.map(async t=>{const{keyPair:e}=await It(t);return{type:t,key:e.pubKey}})),random:b,sessionId:L,psk:e?.psk,cipherSuites:i,supportedProtocolVersions:s,signatureAlgorithms:a,applicationLayerProtocols:c});x.push(n),e?.psk&&(C=e.psk.earlySecret),await Et({type:"HELLO",data:n})},async handleReceivedBytes(t){await Promise.all(Array.from(m.onData(t)).map(rt))},handleReceivedPacket:rt,async updateTrafficKeys(t=!1){const e=function(t){const e=yt(new Uint8Array([st[t]]));return ct([new Uint8Array([K,0]),e])}(t?"UPDATE_REQUESTED":"UPDATE_NOT_REQUESTED");await At({data:e,type:"WRAPPED_RECORD",contentType:"HANDSHAKE"});const n=await Tt(B.clientSecret,I),r=await bt(n,I);B={...B,clientSecret:n,clientEncKey:r.encKey,clientIv:r.iv},R=0,E.info("updated client traffic keys")},async write(t){if(!S)throw new Error("Handshake not done");const e=function(t,e){const n=[];for(let r=0;r<t.length;r+=e)n.push(t.slice(r,r+e));return n}(t,16380);for(const t of e)await At({data:t,type:"WRAPPED_RECORD",contentType:"APPLICATION_DATA"})},end:wt}}let op=!1,sp=!1;const ap={debug:1,default:2,info:2,warning:3,error:4,off:5};let cp=ap.default,lp=null;const up=function(){try{const t=[];if(["NFD","NFC","NFKD","NFKC"].forEach(e=>{try{if("test"!=="test".normalize(e))throw new Error("bad normalize")}catch(n){t.push(e)}}),t.length)throw new Error("missing "+t.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw new Error("broken implementation")}catch(t){return t.message}return null}();var hp,dp;!function(t){t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR",t.OFF="OFF"}(hp||(hp={})),function(t){t.UNKNOWN_ERROR="UNKNOWN_ERROR",t.NOT_IMPLEMENTED="NOT_IMPLEMENTED",t.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",t.NETWORK_ERROR="NETWORK_ERROR",t.SERVER_ERROR="SERVER_ERROR",t.TIMEOUT="TIMEOUT",t.BUFFER_OVERRUN="BUFFER_OVERRUN",t.NUMERIC_FAULT="NUMERIC_FAULT",t.MISSING_NEW="MISSING_NEW",t.INVALID_ARGUMENT="INVALID_ARGUMENT",t.MISSING_ARGUMENT="MISSING_ARGUMENT",t.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",t.CALL_EXCEPTION="CALL_EXCEPTION",t.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",t.NONCE_EXPIRED="NONCE_EXPIRED",t.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",t.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",t.TRANSACTION_REPLACED="TRANSACTION_REPLACED",t.ACTION_REJECTED="ACTION_REJECTED"}(dp||(dp={}));const pp="0123456789abcdef";class fp{constructor(t){Object.defineProperty(this,"version",{enumerable:!0,value:t,writable:!1})}_log(t,e){const n=t.toLowerCase();null==ap[n]&&this.throwArgumentError("invalid log level name","logLevel",t),cp>ap[n]||console.log.apply(console,e)}debug(...t){this._log(fp.levels.DEBUG,t)}info(...t){this._log(fp.levels.INFO,t)}warn(...t){this._log(fp.levels.WARNING,t)}makeError(t,e,n){if(sp)return this.makeError("censored error",e,{});e||(e=fp.errors.UNKNOWN_ERROR),n||(n={});const r=[];Object.keys(n).forEach(t=>{const e=n[t];try{if(e instanceof Uint8Array){let n="";for(let t=0;t<e.length;t++)n+=pp[e[t]>>4],n+=pp[15&e[t]];r.push(t+"=Uint8Array(0x"+n+")")}else r.push(t+"="+JSON.stringify(e))}catch(e){r.push(t+"="+JSON.stringify(n[t].toString()))}}),r.push(`code=${e}`),r.push(`version=${this.version}`);const i=t;let o="";switch(e){case dp.NUMERIC_FAULT:{o="NUMERIC_FAULT";const e=t;switch(e){case"overflow":case"underflow":case"division-by-zero":o+="-"+e;break;case"negative-power":case"negative-width":o+="-unsupported";break;case"unbound-bitwise-result":o+="-unbound-result"}break}case dp.CALL_EXCEPTION:case dp.INSUFFICIENT_FUNDS:case dp.MISSING_NEW:case dp.NONCE_EXPIRED:case dp.REPLACEMENT_UNDERPRICED:case dp.TRANSACTION_REPLACED:case dp.UNPREDICTABLE_GAS_LIMIT:o=e}o&&(t+=" [ See: https://links.ethers.org/v5-errors-"+o+" ]"),r.length&&(t+=" ("+r.join(", ")+")");const s=new Error(t);return s.reason=i,s.code=e,Object.keys(n).forEach(function(t){s[t]=n[t]}),s}throwError(t,e,n){throw this.makeError(t,e,n)}throwArgumentError(t,e,n){return this.throwError(t,fp.errors.INVALID_ARGUMENT,{argument:e,value:n})}assert(t,e,n,r){t||this.throwError(e,n,r)}assertArgument(t,e,n,r){t||this.throwArgumentError(e,n,r)}checkNormalize(t){null==t&&(t="platform missing String.prototype.normalize"),up&&this.throwError("platform missing String.prototype.normalize",fp.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:up})}checkSafeUint53(t,e){"number"==typeof t&&(null==e&&(e="value not safe"),(t<0||t>=9007199254740991)&&this.throwError(e,fp.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:t}),t%1&&this.throwError(e,fp.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:t}))}checkArgumentCount(t,e,n){n=n?": "+n:"",t<e&&this.throwError("missing argument"+n,fp.errors.MISSING_ARGUMENT,{count:t,expectedCount:e}),t>e&&this.throwError("too many arguments"+n,fp.errors.UNEXPECTED_ARGUMENT,{count:t,expectedCount:e})}checkNew(t,e){t!==Object&&null!=t||this.throwError("missing new",fp.errors.MISSING_NEW,{name:e.name})}checkAbstract(t,e){t===e?this.throwError("cannot instantiate abstract class "+JSON.stringify(e.name)+" directly; use a sub-class",fp.errors.UNSUPPORTED_OPERATION,{name:t.name,operation:"new"}):t!==Object&&null!=t||this.throwError("missing new",fp.errors.MISSING_NEW,{name:e.name})}static globalLogger(){return lp||(lp=new fp("logger/5.8.0")),lp}static setCensorship(t,e){if(!t&&e&&this.globalLogger().throwError("cannot permanently disable censorship",fp.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),op){if(!t)return;this.globalLogger().throwError("error censorship permanent",fp.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}sp=!!t,op=!!e}static setLogLevel(t){const e=ap[t.toLowerCase()];null!=e?cp=e:fp.globalLogger().warn("invalid log level - "+t)}static from(t){return new fp(t)}}fp.errors=dp,fp.levels=hp;const Ap=new fp("bytes/5.8.0");function gp(t){return!!t.toHexString}function Ep(t){return t.slice||(t.slice=function(){const e=Array.prototype.slice.call(arguments);return Ep(new Uint8Array(Array.prototype.slice.apply(t,e)))}),t}function mp(t){return Tp(t)&&!(t.length%2)||yp(t)}function wp(t){return"number"==typeof t&&t==t&&t%1==0}function yp(t){if(null==t)return!1;if(t.constructor===Uint8Array)return!0;if("string"==typeof t)return!1;if(!wp(t.length)||t.length<0)return!1;for(let e=0;e<t.length;e++){const n=t[e];if(!wp(n)||n<0||n>=256)return!1}return!0}function Ip(t,e){if(e||(e={}),"number"==typeof t){Ap.checkSafeUint53(t,"invalid arrayify value");const e=[];for(;t;)e.unshift(255&t),t=parseInt(String(t/256));return 0===e.length&&e.push(0),Ep(new Uint8Array(e))}if(e.allowMissingPrefix&&"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),gp(t)&&(t=t.toHexString()),Tp(t)){let n=t.substring(2);n.length%2&&("left"===e.hexPad?n="0"+n:"right"===e.hexPad?n+="0":Ap.throwArgumentError("hex data is odd-length","value",t));const r=[];for(let t=0;t<n.length;t+=2)r.push(parseInt(n.substring(t,t+2),16));return Ep(new Uint8Array(r))}return yp(t)?Ep(new Uint8Array(t)):Ap.throwArgumentError("invalid arrayify value","value",t)}function Cp(t){const e=t.map(t=>Ip(t)),n=e.reduce((t,e)=>t+e.length,0),r=new Uint8Array(n);return e.reduce((t,e)=>(r.set(e,t),t+e.length),0),Ep(r)}function Bp(t){let e=Ip(t);if(0===e.length)return e;let n=0;for(;n<e.length&&0===e[n];)n++;return n&&(e=e.slice(n)),e}function Tp(t,e){return!("string"!=typeof t||!t.match(/^0x[0-9A-Fa-f]*$/))&&(!e||t.length===2+2*e)}const Dp="0123456789abcdef";function bp(t,e){if(e||(e={}),"number"==typeof t){Ap.checkSafeUint53(t,"invalid hexlify value");let e="";for(;t;)e=Dp[15&t]+e,t=Math.floor(t/16);return e.length?(e.length%2&&(e="0"+e),"0x"+e):"0x00"}if("bigint"==typeof t)return(t=t.toString(16)).length%2?"0x0"+t:"0x"+t;if(e.allowMissingPrefix&&"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),gp(t))return t.toHexString();if(Tp(t))return t.length%2&&("left"===e.hexPad?t="0x0"+t.substring(2):"right"===e.hexPad?t+="0":Ap.throwArgumentError("hex data is odd-length","value",t)),t.toLowerCase();if(yp(t)){let e="0x";for(let n=0;n<t.length;n++){let r=t[n];e+=Dp[(240&r)>>4]+Dp[15&r]}return e}return Ap.throwArgumentError("invalid hexlify value","value",t)}function Mp(t){if("string"!=typeof t)t=bp(t);else if(!Tp(t)||t.length%2)return null;return(t.length-2)/2}function Np(t,e,n){return"string"!=typeof t?t=bp(t):(!Tp(t)||t.length%2)&&Ap.throwArgumentError("invalid hexData","value",t),e=2+2*e,null!=n?"0x"+t.substring(e,2+2*n):"0x"+t.substring(e)}function vp(t){let e="0x";return t.forEach(t=>{e+=bp(t).substring(2)}),e}function Sp(t,e){for("string"!=typeof t?t=bp(t):Tp(t)||Ap.throwArgumentError("invalid hex string","value",t),t.length>2*e+2&&Ap.throwArgumentError("value out of range","value",arguments[1]);t.length<2*e+2;)t="0x0"+t.substring(2);return t}function _p(t){const e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(mp(t)){let n=Ip(t);64===n.length?(e.v=27+(n[32]>>7),n[32]&=127,e.r=bp(n.slice(0,32)),e.s=bp(n.slice(32,64))):65===n.length?(e.r=bp(n.slice(0,32)),e.s=bp(n.slice(32,64)),e.v=n[64]):Ap.throwArgumentError("invalid signature string","signature",t),e.v<27&&(0===e.v||1===e.v?e.v+=27:Ap.throwArgumentError("signature invalid v byte","signature",t)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(n[32]|=128),e._vs=bp(n.slice(32,64))}else{if(e.r=t.r,e.s=t.s,e.v=t.v,e.recoveryParam=t.recoveryParam,e._vs=t._vs,null!=e._vs){const n=function(t,e){(t=Ip(t)).length>e&&Ap.throwArgumentError("value out of range","value",arguments[0]);const n=new Uint8Array(e);return n.set(t,e-t.length),Ep(n)}(Ip(e._vs),32);e._vs=bp(n);const r=n[0]>=128?1:0;null==e.recoveryParam?e.recoveryParam=r:e.recoveryParam!==r&&Ap.throwArgumentError("signature recoveryParam mismatch _vs","signature",t),n[0]&=127;const i=bp(n);null==e.s?e.s=i:e.s!==i&&Ap.throwArgumentError("signature v mismatch _vs","signature",t)}if(null==e.recoveryParam)null==e.v?Ap.throwArgumentError("signature missing v and recoveryParam","signature",t):0===e.v||1===e.v?e.recoveryParam=e.v:e.recoveryParam=1-e.v%2;else if(null==e.v)e.v=27+e.recoveryParam;else{const n=0===e.v||1===e.v?e.v:1-e.v%2;e.recoveryParam!==n&&Ap.throwArgumentError("signature recoveryParam mismatch v","signature",t)}null!=e.r&&Tp(e.r)?e.r=Sp(e.r,32):Ap.throwArgumentError("signature missing or invalid r","signature",t),null!=e.s&&Tp(e.s)?e.s=Sp(e.s,32):Ap.throwArgumentError("signature missing or invalid s","signature",t);const n=Ip(e.s);n[0]>=128&&Ap.throwArgumentError("signature s out of range","signature",t),e.recoveryParam&&(n[0]|=128);const r=bp(n);e._vs&&(Tp(e._vs)||Ap.throwArgumentError("signature invalid _vs","signature",t),e._vs=Sp(e._vs,32)),null==e._vs?e._vs=r:e._vs!==r&&Ap.throwArgumentError("signature _vs mismatch v and s","signature",t)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e}function Lp(t){return bp(Cp([(t=_p(t)).r,t.s,t.recoveryParam?"0x1c":"0x1b"]))}function xp(t){t=atob(t);const e=[];for(let n=0;n<t.length;n++)e.push(t.charCodeAt(n));return Ip(e)}function Rp(t){t=Ip(t);let e="";for(let n=0;n<t.length;n++)e+=String.fromCharCode(t[n]);return btoa(e)}var Fp=s(9404),Op=s.n(Fp),Qp=s(7952),kp=s.n(Qp);"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==s.g?s.g:"undefined"!=typeof self&&self;function Up(t,e,n){return n={path:e,exports:{},require:function(t,e){return function(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(null==e&&n.path)}},t(n,n.exports),n.exports}var Pp=Gp;function Gp(t,e){if(!t)throw new Error(e||"Assertion failed")}Gp.equal=function(t,e,n){if(t!=e)throw new Error(n||"Assertion failed: "+t+" != "+e)};var Vp=Up(function(t,e){var n=e;function r(t){return 1===t.length?"0"+t:t}function i(t){for(var e="",n=0;n<t.length;n++)e+=r(t[n].toString(16));return e}n.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var n=[];if("string"!=typeof t){for(var r=0;r<t.length;r++)n[r]=0|t[r];return n}if("hex"===e){(t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t);for(r=0;r<t.length;r+=2)n.push(parseInt(t[r]+t[r+1],16))}else for(r=0;r<t.length;r++){var i=t.charCodeAt(r),o=i>>8,s=255&i;o?n.push(o,s):n.push(s)}return n},n.zero2=r,n.toHex=i,n.encode=function(t,e){return"hex"===e?i(t):t}}),Hp=Up(function(t,e){var n=e;n.assert=Pp,n.toArray=Vp.toArray,n.zero2=Vp.zero2,n.toHex=Vp.toHex,n.encode=Vp.encode,n.getNAF=function(t,e,n){var r,i=new Array(Math.max(t.bitLength(),n)+1);for(r=0;r<i.length;r+=1)i[r]=0;var o=1<<e+1,s=t.clone();for(r=0;r<i.length;r++){var a,c=s.andln(o-1);s.isOdd()?(a=c>(o>>1)-1?(o>>1)-c:c,s.isubn(a)):a=0,i[r]=a,s.iushrn(1)}return i},n.getJSF=function(t,e){var n=[[],[]];t=t.clone(),e=e.clone();for(var r,i=0,o=0;t.cmpn(-i)>0||e.cmpn(-o)>0;){var s,a,c=t.andln(3)+i&3,l=e.andln(3)+o&3;3===c&&(c=-1),3===l&&(l=-1),s=1&c?3!==(r=t.andln(7)+i&7)&&5!==r||2!==l?c:-c:0,n[0].push(s),a=1&l?3!==(r=e.andln(7)+o&7)&&5!==r||2!==c?l:-l:0,n[1].push(a),2*i===s+1&&(i=1-i),2*o===a+1&&(o=1-o),t.iushrn(1),e.iushrn(1)}return n},n.cachedProperty=function(t,e,n){var r="_"+e;t.prototype[e]=function(){return void 0!==this[r]?this[r]:this[r]=n.call(this)}},n.parseBytes=function(t){return"string"==typeof t?n.toArray(t,"hex"):t},n.intFromLE=function(t){return new(Op())(t,"hex","le")}}),jp=Hp.getNAF,Yp=Hp.getJSF,zp=Hp.assert;function Jp(t,e){this.type=t,this.p=new(Op())(e.p,16),this.red=e.prime?Op().red(e.prime):Op().mont(this.p),this.zero=new(Op())(0).toRed(this.red),this.one=new(Op())(1).toRed(this.red),this.two=new(Op())(2).toRed(this.red),this.n=e.n&&new(Op())(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var n=this.n&&this.p.div(this.n);!n||n.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var Wp=Jp;function qp(t,e){this.curve=t,this.type=e,this.precomputed=null}Jp.prototype.point=function(){throw new Error("Not implemented")},Jp.prototype.validate=function(){throw new Error("Not implemented")},Jp.prototype._fixedNafMul=function(t,e){zp(t.precomputed);var n=t._getDoubles(),r=jp(e,1,this._bitLength),i=(1<<n.step+1)-(n.step%2==0?2:1);i/=3;var o,s,a=[];for(o=0;o<r.length;o+=n.step){s=0;for(var c=o+n.step-1;c>=o;c--)s=(s<<1)+r[c];a.push(s)}for(var l=this.jpoint(null,null,null),u=this.jpoint(null,null,null),h=i;h>0;h--){for(o=0;o<a.length;o++)(s=a[o])===h?u=u.mixedAdd(n.points[o]):s===-h&&(u=u.mixedAdd(n.points[o].neg()));l=l.add(u)}return l.toP()},Jp.prototype._wnafMul=function(t,e){var n=4,r=t._getNAFPoints(n);n=r.wnd;for(var i=r.points,o=jp(e,n,this._bitLength),s=this.jpoint(null,null,null),a=o.length-1;a>=0;a--){for(var c=0;a>=0&&0===o[a];a--)c++;if(a>=0&&c++,s=s.dblp(c),a<0)break;var l=o[a];zp(0!==l),s="affine"===t.type?l>0?s.mixedAdd(i[l-1>>1]):s.mixedAdd(i[-l-1>>1].neg()):l>0?s.add(i[l-1>>1]):s.add(i[-l-1>>1].neg())}return"affine"===t.type?s.toP():s},Jp.prototype._wnafMulAdd=function(t,e,n,r,i){var o,s,a,c=this._wnafT1,l=this._wnafT2,u=this._wnafT3,h=0;for(o=0;o<r;o++){var d=(a=e[o])._getNAFPoints(t);c[o]=d.wnd,l[o]=d.points}for(o=r-1;o>=1;o-=2){var p=o-1,f=o;if(1===c[p]&&1===c[f]){var A=[e[p],null,null,e[f]];0===e[p].y.cmp(e[f].y)?(A[1]=e[p].add(e[f]),A[2]=e[p].toJ().mixedAdd(e[f].neg())):0===e[p].y.cmp(e[f].y.redNeg())?(A[1]=e[p].toJ().mixedAdd(e[f]),A[2]=e[p].add(e[f].neg())):(A[1]=e[p].toJ().mixedAdd(e[f]),A[2]=e[p].toJ().mixedAdd(e[f].neg()));var g=[-3,-1,-5,-7,0,7,5,1,3],E=Yp(n[p],n[f]);for(h=Math.max(E[0].length,h),u[p]=new Array(h),u[f]=new Array(h),s=0;s<h;s++){var m=0|E[0][s],w=0|E[1][s];u[p][s]=g[3*(m+1)+(w+1)],u[f][s]=0,l[p]=A}}else u[p]=jp(n[p],c[p],this._bitLength),u[f]=jp(n[f],c[f],this._bitLength),h=Math.max(u[p].length,h),h=Math.max(u[f].length,h)}var y=this.jpoint(null,null,null),I=this._wnafT4;for(o=h;o>=0;o--){for(var C=0;o>=0;){var B=!0;for(s=0;s<r;s++)I[s]=0|u[s][o],0!==I[s]&&(B=!1);if(!B)break;C++,o--}if(o>=0&&C++,y=y.dblp(C),o<0)break;for(s=0;s<r;s++){var T=I[s];0!==T&&(T>0?a=l[s][T-1>>1]:T<0&&(a=l[s][-T-1>>1].neg()),y="affine"===a.type?y.mixedAdd(a):y.add(a))}}for(o=0;o<r;o++)l[o]=null;return i?y:y.toP()},Jp.BasePoint=qp,qp.prototype.eq=function(){throw new Error("Not implemented")},qp.prototype.validate=function(){return this.curve.validate(this)},Jp.prototype.decodePoint=function(t,e){t=Hp.toArray(t,e);var n=this.p.byteLength();if((4===t[0]||6===t[0]||7===t[0])&&t.length-1==2*n)return 6===t[0]?zp(t[t.length-1]%2==0):7===t[0]&&zp(t[t.length-1]%2==1),this.point(t.slice(1,1+n),t.slice(1+n,1+2*n));if((2===t[0]||3===t[0])&&t.length-1===n)return this.pointFromX(t.slice(1,1+n),3===t[0]);throw new Error("Unknown point format")},qp.prototype.encodeCompressed=function(t){return this.encode(t,!0)},qp.prototype._encode=function(t){var e=this.curve.p.byteLength(),n=this.getX().toArray("be",e);return t?[this.getY().isEven()?2:3].concat(n):[4].concat(n,this.getY().toArray("be",e))},qp.prototype.encode=function(t,e){return Hp.encode(this._encode(e),t)},qp.prototype.precompute=function(t){if(this.precomputed)return this;var e={doubles:null,naf:null,beta:null};return e.naf=this._getNAFPoints(8),e.doubles=this._getDoubles(4,t),e.beta=this._getBeta(),this.precomputed=e,this},qp.prototype._hasDoubles=function(t){if(!this.precomputed)return!1;var e=this.precomputed.doubles;return!!e&&e.points.length>=Math.ceil((t.bitLength()+1)/e.step)},qp.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],r=this,i=0;i<e;i+=t){for(var o=0;o<t;o++)r=r.dbl();n.push(r)}return{step:t,points:n}},qp.prototype._getNAFPoints=function(t){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var e=[this],n=(1<<t)-1,r=1===n?null:this.dbl(),i=1;i<n;i++)e[i]=e[i-1].add(r);return{wnd:t,points:e}},qp.prototype._getBeta=function(){return null},qp.prototype.dblp=function(t){for(var e=this,n=0;n<t;n++)e=e.dbl();return e};var Kp=Up(function(t){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}}}),Xp=Hp.assert;function Zp(t){Wp.call(this,"short",t),this.a=new(Op())(t.a,16).toRed(this.red),this.b=new(Op())(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}Kp(Zp,Wp);var $p=Zp;function tf(t,e,n,r){Wp.BasePoint.call(this,t,"affine"),null===e&&null===n?(this.x=null,this.y=null,this.inf=!0):(this.x=new(Op())(e,16),this.y=new(Op())(n,16),r&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function ef(t,e,n,r){Wp.BasePoint.call(this,t,"jacobian"),null===e&&null===n&&null===r?(this.x=this.curve.one,this.y=this.curve.one,this.z=new(Op())(0)):(this.x=new(Op())(e,16),this.y=new(Op())(n,16),this.z=new(Op())(r,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}Zp.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,n;if(t.beta)e=new(Op())(t.beta,16).toRed(this.red);else{var r=this._getEndoRoots(this.p);e=(e=r[0].cmp(r[1])<0?r[0]:r[1]).toRed(this.red)}if(t.lambda)n=new(Op())(t.lambda,16);else{var i=this._getEndoRoots(this.n);0===this.g.mul(i[0]).x.cmp(this.g.x.redMul(e))?n=i[0]:(n=i[1],Xp(0===this.g.mul(n).x.cmp(this.g.x.redMul(e))))}return{beta:e,lambda:n,basis:t.basis?t.basis.map(function(t){return{a:new(Op())(t.a,16),b:new(Op())(t.b,16)}}):this._getEndoBasis(n)}}},Zp.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:Op().mont(t),n=new(Op())(2).toRed(e).redInvm(),r=n.redNeg(),i=new(Op())(3).toRed(e).redNeg().redSqrt().redMul(n);return[r.redAdd(i).fromRed(),r.redSub(i).fromRed()]},Zp.prototype._getEndoBasis=function(t){for(var e,n,r,i,o,s,a,c,l,u=this.n.ushrn(Math.floor(this.n.bitLength()/2)),h=t,d=this.n.clone(),p=new(Op())(1),f=new(Op())(0),A=new(Op())(0),g=new(Op())(1),E=0;0!==h.cmpn(0);){var m=d.div(h);c=d.sub(m.mul(h)),l=A.sub(m.mul(p));var w=g.sub(m.mul(f));if(!r&&c.cmp(u)<0)e=a.neg(),n=p,r=c.neg(),i=l;else if(r&&2===++E)break;a=c,d=h,h=c,A=p,p=l,g=f,f=w}o=c.neg(),s=l;var y=r.sqr().add(i.sqr());return o.sqr().add(s.sqr()).cmp(y)>=0&&(o=e,s=n),r.negative&&(r=r.neg(),i=i.neg()),o.negative&&(o=o.neg(),s=s.neg()),[{a:r,b:i},{a:o,b:s}]},Zp.prototype._endoSplit=function(t){var e=this.endo.basis,n=e[0],r=e[1],i=r.b.mul(t).divRound(this.n),o=n.b.neg().mul(t).divRound(this.n),s=i.mul(n.a),a=o.mul(r.a),c=i.mul(n.b),l=o.mul(r.b);return{k1:t.sub(s).sub(a),k2:c.add(l).neg()}},Zp.prototype.pointFromX=function(t,e){(t=new(Op())(t,16)).red||(t=t.toRed(this.red));var n=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),r=n.redSqrt();if(0!==r.redSqr().redSub(n).cmp(this.zero))throw new Error("invalid point");var i=r.fromRed().isOdd();return(e&&!i||!e&&i)&&(r=r.redNeg()),this.point(t,r)},Zp.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,n=t.y,r=this.a.redMul(e),i=e.redSqr().redMul(e).redIAdd(r).redIAdd(this.b);return 0===n.redSqr().redISub(i).cmpn(0)},Zp.prototype._endoWnafMulAdd=function(t,e,n){for(var r=this._endoWnafT1,i=this._endoWnafT2,o=0;o<t.length;o++){var s=this._endoSplit(e[o]),a=t[o],c=a._getBeta();s.k1.negative&&(s.k1.ineg(),a=a.neg(!0)),s.k2.negative&&(s.k2.ineg(),c=c.neg(!0)),r[2*o]=a,r[2*o+1]=c,i[2*o]=s.k1,i[2*o+1]=s.k2}for(var l=this._wnafMulAdd(1,r,i,2*o,n),u=0;u<2*o;u++)r[u]=null,i[u]=null;return l},Kp(tf,Wp.BasePoint),Zp.prototype.point=function(t,e,n){return new tf(this,t,e,n)},Zp.prototype.pointFromJSON=function(t,e){return tf.fromJSON(this,t,e)},tf.prototype._getBeta=function(){if(this.curve.endo){var t=this.precomputed;if(t&&t.beta)return t.beta;var e=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(t){var n=this.curve,r=function(t){return n.point(t.x.redMul(n.endo.beta),t.y)};t.beta=e,e.precomputed={beta:null,naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(r)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(r)}}}return e}},tf.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},tf.fromJSON=function(t,e,n){"string"==typeof e&&(e=JSON.parse(e));var r=t.point(e[0],e[1],n);if(!e[2])return r;function i(e){return t.point(e[0],e[1],n)}var o=e[2];return r.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[r].concat(o.doubles.points.map(i))},naf:o.naf&&{wnd:o.naf.wnd,points:[r].concat(o.naf.points.map(i))}},r},tf.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},tf.prototype.isInfinity=function(){return this.inf},tf.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var n=e.redSqr().redISub(this.x).redISub(t.x),r=e.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,r)},tf.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,n=this.x.redSqr(),r=t.redInvm(),i=n.redAdd(n).redIAdd(n).redIAdd(e).redMul(r),o=i.redSqr().redISub(this.x.redAdd(this.x)),s=i.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},tf.prototype.getX=function(){return this.x.fromRed()},tf.prototype.getY=function(){return this.y.fromRed()},tf.prototype.mul=function(t){return t=new(Op())(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},tf.prototype.mulAdd=function(t,e,n){var r=[this,e],i=[t,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i):this.curve._wnafMulAdd(1,r,i,2)},tf.prototype.jmulAdd=function(t,e,n){var r=[this,e],i=[t,n];return this.curve.endo?this.curve._endoWnafMulAdd(r,i,!0):this.curve._wnafMulAdd(1,r,i,2,!0)},tf.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},tf.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var n=this.precomputed,r=function(t){return t.neg()};e.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(r)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(r)}}}return e},tf.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},Kp(ef,Wp.BasePoint),Zp.prototype.jpoint=function(t,e,n){return new ef(this,t,e,n)},ef.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),n=this.x.redMul(e),r=this.y.redMul(e).redMul(t);return this.curve.point(n,r)},ef.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},ef.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),n=this.z.redSqr(),r=this.x.redMul(e),i=t.x.redMul(n),o=this.y.redMul(e.redMul(t.z)),s=t.y.redMul(n.redMul(this.z)),a=r.redSub(i),c=o.redSub(s);if(0===a.cmpn(0))return 0!==c.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=a.redSqr(),u=l.redMul(a),h=r.redMul(l),d=c.redSqr().redIAdd(u).redISub(h).redISub(h),p=c.redMul(h.redISub(d)).redISub(o.redMul(u)),f=this.z.redMul(t.z).redMul(a);return this.curve.jpoint(d,p,f)},ef.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),n=this.x,r=t.x.redMul(e),i=this.y,o=t.y.redMul(e).redMul(this.z),s=n.redSub(r),a=i.redSub(o);if(0===s.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var c=s.redSqr(),l=c.redMul(s),u=n.redMul(c),h=a.redSqr().redIAdd(l).redISub(u).redISub(u),d=a.redMul(u.redISub(h)).redISub(i.redMul(l)),p=this.z.redMul(s);return this.curve.jpoint(h,d,p)},ef.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var n=this;for(e=0;e<t;e++)n=n.dbl();return n}var r=this.curve.a,i=this.curve.tinv,o=this.x,s=this.y,a=this.z,c=a.redSqr().redSqr(),l=s.redAdd(s);for(e=0;e<t;e++){var u=o.redSqr(),h=l.redSqr(),d=h.redSqr(),p=u.redAdd(u).redIAdd(u).redIAdd(r.redMul(c)),f=o.redMul(h),A=p.redSqr().redISub(f.redAdd(f)),g=f.redISub(A),E=p.redMul(g);E=E.redIAdd(E).redISub(d);var m=l.redMul(a);e+1<t&&(c=c.redMul(d)),o=A,a=m,l=E}return this.curve.jpoint(o,l.redMul(i),a)},ef.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},ef.prototype._zeroDbl=function(){var t,e,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),s=this.x.redAdd(i).redSqr().redISub(r).redISub(o);s=s.redIAdd(s);var a=r.redAdd(r).redIAdd(r),c=a.redSqr().redISub(s).redISub(s),l=o.redIAdd(o);l=(l=l.redIAdd(l)).redIAdd(l),t=c,e=a.redMul(s.redISub(c)).redISub(l),n=this.y.redAdd(this.y)}else{var u=this.x.redSqr(),h=this.y.redSqr(),d=h.redSqr(),p=this.x.redAdd(h).redSqr().redISub(u).redISub(d);p=p.redIAdd(p);var f=u.redAdd(u).redIAdd(u),A=f.redSqr(),g=d.redIAdd(d);g=(g=g.redIAdd(g)).redIAdd(g),t=A.redISub(p).redISub(p),e=f.redMul(p.redISub(t)).redISub(g),n=(n=this.y.redMul(this.z)).redIAdd(n)}return this.curve.jpoint(t,e,n)},ef.prototype._threeDbl=function(){var t,e,n;if(this.zOne){var r=this.x.redSqr(),i=this.y.redSqr(),o=i.redSqr(),s=this.x.redAdd(i).redSqr().redISub(r).redISub(o);s=s.redIAdd(s);var a=r.redAdd(r).redIAdd(r).redIAdd(this.curve.a),c=a.redSqr().redISub(s).redISub(s);t=c;var l=o.redIAdd(o);l=(l=l.redIAdd(l)).redIAdd(l),e=a.redMul(s.redISub(c)).redISub(l),n=this.y.redAdd(this.y)}else{var u=this.z.redSqr(),h=this.y.redSqr(),d=this.x.redMul(h),p=this.x.redSub(u).redMul(this.x.redAdd(u));p=p.redAdd(p).redIAdd(p);var f=d.redIAdd(d),A=(f=f.redIAdd(f)).redAdd(f);t=p.redSqr().redISub(A),n=this.y.redAdd(this.z).redSqr().redISub(h).redISub(u);var g=h.redSqr();g=(g=(g=g.redIAdd(g)).redIAdd(g)).redIAdd(g),e=p.redMul(f.redISub(t)).redISub(g)}return this.curve.jpoint(t,e,n)},ef.prototype._dbl=function(){var t=this.curve.a,e=this.x,n=this.y,r=this.z,i=r.redSqr().redSqr(),o=e.redSqr(),s=n.redSqr(),a=o.redAdd(o).redIAdd(o).redIAdd(t.redMul(i)),c=e.redAdd(e),l=(c=c.redIAdd(c)).redMul(s),u=a.redSqr().redISub(l.redAdd(l)),h=l.redISub(u),d=s.redSqr();d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var p=a.redMul(h).redISub(d),f=n.redAdd(n).redMul(r);return this.curve.jpoint(u,p,f)},ef.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var t=this.x.redSqr(),e=this.y.redSqr(),n=this.z.redSqr(),r=e.redSqr(),i=t.redAdd(t).redIAdd(t),o=i.redSqr(),s=this.x.redAdd(e).redSqr().redISub(t).redISub(r),a=(s=(s=(s=s.redIAdd(s)).redAdd(s).redIAdd(s)).redISub(o)).redSqr(),c=r.redIAdd(r);c=(c=(c=c.redIAdd(c)).redIAdd(c)).redIAdd(c);var l=i.redIAdd(s).redSqr().redISub(o).redISub(a).redISub(c),u=e.redMul(l);u=(u=u.redIAdd(u)).redIAdd(u);var h=this.x.redMul(a).redISub(u);h=(h=h.redIAdd(h)).redIAdd(h);var d=this.y.redMul(l.redMul(c.redISub(l)).redISub(s.redMul(a)));d=(d=(d=d.redIAdd(d)).redIAdd(d)).redIAdd(d);var p=this.z.redAdd(s).redSqr().redISub(n).redISub(a);return this.curve.jpoint(h,d,p)},ef.prototype.mul=function(t,e){return t=new(Op())(t,e),this.curve._wnafMul(this,t)},ef.prototype.eq=function(t){if("affine"===t.type)return this.eq(t.toJ());if(this===t)return!0;var e=this.z.redSqr(),n=t.z.redSqr();if(0!==this.x.redMul(n).redISub(t.x.redMul(e)).cmpn(0))return!1;var r=e.redMul(this.z),i=n.redMul(t.z);return 0===this.y.redMul(i).redISub(t.y.redMul(r)).cmpn(0)},ef.prototype.eqXToP=function(t){var e=this.z.redSqr(),n=t.toRed(this.curve.red).redMul(e);if(0===this.x.cmp(n))return!0;for(var r=t.clone(),i=this.curve.redN.redMul(e);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(n.redIAdd(i),0===this.x.cmp(n))return!0}},ef.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},ef.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var nf=Up(function(t,e){var n=e;n.base=Wp,n.short=$p,n.mont=null,n.edwards=null}),rf=Up(function(t,e){var n,r=e,i=Hp.assert;function o(t){"short"===t.type?this.curve=new nf.short(t):"edwards"===t.type?this.curve=new nf.edwards(t):this.curve=new nf.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function s(t,e){Object.defineProperty(r,t,{configurable:!0,enumerable:!0,get:function(){var n=new o(e);return Object.defineProperty(r,t,{configurable:!0,enumerable:!0,value:n}),n}})}r.PresetCurve=o,s("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:kp().sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:kp().sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:kp().sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:kp().sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),s("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:kp().sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:kp().sha256,gRed:!1,g:["9"]}),s("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:kp().sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=null.crash()}catch(t){n=void 0}s("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:kp().sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})});function of(t){if(!(this instanceof of))return new of(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=Vp.toArray(t.entropy,t.entropyEnc||"hex"),n=Vp.toArray(t.nonce,t.nonceEnc||"hex"),r=Vp.toArray(t.pers,t.persEnc||"hex");Pp(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,n,r)}var sf=of;of.prototype._init=function(t,e,n){var r=t.concat(e).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i<this.V.length;i++)this.K[i]=0,this.V[i]=1;this._update(r),this._reseed=1,this.reseedInterval=281474976710656},of.prototype._hmac=function(){return new(kp().hmac)(this.hash,this.K)},of.prototype._update=function(t){var e=this._hmac().update(this.V).update([0]);t&&(e=e.update(t)),this.K=e.digest(),this.V=this._hmac().update(this.V).digest(),t&&(this.K=this._hmac().update(this.V).update([1]).update(t).digest(),this.V=this._hmac().update(this.V).digest())},of.prototype.reseed=function(t,e,n,r){"string"!=typeof e&&(r=n,n=e,e=null),t=Vp.toArray(t,e),n=Vp.toArray(n,r),Pp(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(n||[])),this._reseed=1},of.prototype.generate=function(t,e,n,r){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(r=n,n=e,e=null),n&&(n=Vp.toArray(n,r||"hex"),this._update(n));for(var i=[];i.length<t;)this.V=this._hmac().update(this.V).digest(),i=i.concat(this.V);var o=i.slice(0,t);return this._update(n),this._reseed++,Vp.encode(o,e)};var af=Hp.assert;function cf(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var lf=cf;cf.fromPublic=function(t,e,n){return e instanceof cf?e:new cf(t,{pub:e,pubEnc:n})},cf.fromPrivate=function(t,e,n){return e instanceof cf?e:new cf(t,{priv:e,privEnc:n})},cf.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},cf.prototype.getPublic=function(t,e){return"string"==typeof t&&(e=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},cf.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},cf.prototype._importPrivate=function(t,e){this.priv=new(Op())(t,e||16),this.priv=this.priv.umod(this.ec.curve.n)},cf.prototype._importPublic=function(t,e){if(t.x||t.y)return"mont"===this.ec.curve.type?af(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||af(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,e)},cf.prototype.derive=function(t){return t.validate()||af(t.validate(),"public point not validated"),t.mul(this.priv).getX()},cf.prototype.sign=function(t,e,n){return this.ec.sign(t,this,e,n)},cf.prototype.verify=function(t,e,n){return this.ec.verify(t,e,this,void 0,n)},cf.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var uf=Hp.assert;function hf(t,e){if(t instanceof hf)return t;this._importDER(t,e)||(uf(t.r&&t.s,"Signature without r or s"),this.r=new(Op())(t.r,16),this.s=new(Op())(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var df=hf;function pf(){this.place=0}function ff(t,e){var n=t[e.place++];if(!(128&n))return n;var r=15&n;if(0===r||r>4)return!1;if(0===t[e.place])return!1;for(var i=0,o=0,s=e.place;o<r;o++,s++)i<<=8,i|=t[s],i>>>=0;return!(i<=127)&&(e.place=s,i)}function Af(t){for(var e=0,n=t.length-1;!t[e]&&!(128&t[e+1])&&e<n;)e++;return 0===e?t:t.slice(e)}function gf(t,e){if(e<128)t.push(e);else{var n=1+(Math.log(e)/Math.LN2>>>3);for(t.push(128|n);--n;)t.push(e>>>(n<<3)&255);t.push(e)}}hf.prototype._importDER=function(t,e){t=Hp.toArray(t,e);var n=new pf;if(48!==t[n.place++])return!1;var r=ff(t,n);if(!1===r)return!1;if(r+n.place!==t.length)return!1;if(2!==t[n.place++])return!1;var i=ff(t,n);if(!1===i)return!1;if(128&t[n.place])return!1;var o=t.slice(n.place,i+n.place);if(n.place+=i,2!==t[n.place++])return!1;var s=ff(t,n);if(!1===s)return!1;if(t.length!==s+n.place)return!1;if(128&t[n.place])return!1;var a=t.slice(n.place,s+n.place);if(0===o[0]){if(!(128&o[1]))return!1;o=o.slice(1)}if(0===a[0]){if(!(128&a[1]))return!1;a=a.slice(1)}return this.r=new(Op())(o),this.s=new(Op())(a),this.recoveryParam=null,!0},hf.prototype.toDER=function(t){var e=this.r.toArray(),n=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&n[0]&&(n=[0].concat(n)),e=Af(e),n=Af(n);!(n[0]||128&n[1]);)n=n.slice(1);var r=[2];gf(r,e.length),(r=r.concat(e)).push(2),gf(r,n.length);var i=r.concat(n),o=[48];return gf(o,i.length),o=o.concat(i),Hp.encode(o,t)};var Ef=function(){throw new Error("unsupported")},mf=Hp.assert;function wf(t){if(!(this instanceof wf))return new wf(t);"string"==typeof t&&(mf(Object.prototype.hasOwnProperty.call(rf,t),"Unknown curve "+t),t=rf[t]),t instanceof rf.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var yf=wf;wf.prototype.keyPair=function(t){return new lf(this,t)},wf.prototype.keyFromPrivate=function(t,e){return lf.fromPrivate(this,t,e)},wf.prototype.keyFromPublic=function(t,e){return lf.fromPublic(this,t,e)},wf.prototype.genKeyPair=function(t){t||(t={});for(var e=new sf({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||Ef(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),n=this.n.byteLength(),r=this.n.sub(new(Op())(2));;){var i=new(Op())(e.generate(n));if(!(i.cmp(r)>0))return i.iaddn(1),this.keyFromPrivate(i)}},wf.prototype._truncateToN=function(t,e,n){var r;if(Op().isBN(t)||"number"==typeof t)r=(t=new(Op())(t,16)).byteLength();else if("object"==typeof t)r=t.length,t=new(Op())(t,16);else{var i=t.toString();r=i.length+1>>>1,t=new(Op())(i,16)}"number"!=typeof n&&(n=8*r);var o=n-this.n.bitLength();return o>0&&(t=t.ushrn(o)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},wf.prototype.sign=function(t,e,n,r){if("object"==typeof n&&(r=n,n=null),r||(r={}),"string"!=typeof t&&"number"!=typeof t&&!Op().isBN(t)){mf("object"==typeof t&&t&&"number"==typeof t.length,"Expected message to be an array-like, a hex string, or a BN instance"),mf(t.length>>>0===t.length);for(var i=0;i<t.length;i++)mf((255&t[i])===t[i])}e=this.keyFromPrivate(e,n),t=this._truncateToN(t,!1,r.msgBitLength),mf(!t.isNeg(),"Can not sign a negative message");var o=this.n.byteLength(),s=e.getPrivate().toArray("be",o),a=t.toArray("be",o);mf(new(Op())(a).eq(t),"Can not sign message");for(var c=new sf({hash:this.hash,entropy:s,nonce:a,pers:r.pers,persEnc:r.persEnc||"utf8"}),l=this.n.sub(new(Op())(1)),u=0;;u++){var h=r.k?r.k(u):new(Op())(c.generate(this.n.byteLength()));if(!((h=this._truncateToN(h,!0)).cmpn(1)<=0||h.cmp(l)>=0)){var d=this.g.mul(h);if(!d.isInfinity()){var p=d.getX(),f=p.umod(this.n);if(0!==f.cmpn(0)){var A=h.invm(this.n).mul(f.mul(e.getPrivate()).iadd(t));if(0!==(A=A.umod(this.n)).cmpn(0)){var g=(d.getY().isOdd()?1:0)|(0!==p.cmp(f)?2:0);return r.canonical&&A.cmp(this.nh)>0&&(A=this.n.sub(A),g^=1),new df({r:f,s:A,recoveryParam:g})}}}}}},wf.prototype.verify=function(t,e,n,r,i){i||(i={}),t=this._truncateToN(t,!1,i.msgBitLength),n=this.keyFromPublic(n,r);var o=(e=new df(e,"hex")).r,s=e.s;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;if(s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var a,c=s.invm(this.n),l=c.mul(t).umod(this.n),u=c.mul(o).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(l,n.getPublic(),u)).isInfinity()&&a.eqXToP(o):!(a=this.g.mulAdd(l,n.getPublic(),u)).isInfinity()&&0===a.getX().umod(this.n).cmp(o)},wf.prototype.recoverPubKey=function(t,e,n,r){mf((3&n)===n,"The recovery param is more than two bits"),e=new df(e,r);var i=this.n,o=new(Op())(t),s=e.r,a=e.s,c=1&n,l=n>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&l)throw new Error("Unable to find sencond key candinate");s=l?this.curve.pointFromX(s.add(this.curve.n),c):this.curve.pointFromX(s,c);var u=e.r.invm(i),h=i.sub(o).mul(u).umod(i),d=a.mul(u).umod(i);return this.g.mulAdd(h,s,d)},wf.prototype.getKeyRecoveryParam=function(t,e,n,r){if(null!==(e=new df(e,r)).recoveryParam)return e.recoveryParam;for(var i=0;i<4;i++){var o;try{o=this.recoverPubKey(t,e,i)}catch(t){continue}if(o.eq(n))return i}throw new Error("Unable to find valid recovery factor")};var If=Up(function(t,e){var n=e;n.version="6.6.1",n.utils=Hp,n.rand=function(){throw new Error("unsupported")},n.curve=nf,n.curves=rf,n.ec=yf,n.eddsa=null}).ec;var Cf=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function s(t){try{c(r.next(t))}catch(t){o(t)}}function a(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(s,a)}c((r=r.apply(t,e||[])).next())})};const Bf=new fp("properties/5.8.0");function Tf(t,e,n){Object.defineProperty(t,e,{enumerable:!0,value:n,writable:!1})}function Df(t){return Cf(this,void 0,void 0,function*(){const e=Object.keys(t).map(e=>{const n=t[e];return Promise.resolve(n).then(t=>({key:e,value:t}))});return(yield Promise.all(e)).reduce((t,e)=>(t[e.key]=e.value,t),{})})}function bf(t){const e={};for(const n in t)e[n]=t[n];return e}const Mf={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function Nf(t){if(null==t||Mf[typeof t])return!0;if(Array.isArray(t)||"object"==typeof t){if(!Object.isFrozen(t))return!1;const e=Object.keys(t);for(let n=0;n<e.length;n++){let r=null;try{r=t[e[n]]}catch(t){continue}if(!Nf(r))return!1}return!0}return Bf.throwArgumentError("Cannot deepCopy "+typeof t,"object",t)}function vf(t){if(Nf(t))return t;if(Array.isArray(t))return Object.freeze(t.map(t=>Sf(t)));if("object"==typeof t){const e={};for(const n in t){const r=t[n];void 0!==r&&Tf(e,n,Sf(r))}return e}return Bf.throwArgumentError("Cannot deepCopy "+typeof t,"object",t)}function Sf(t){return vf(t)}class _f{constructor(t){for(const e in t)this[e]=Sf(t[e])}}const Lf=new fp("signing-key/5.8.0");let xf=null;function Rf(){return xf||(xf=new If("secp256k1")),xf}class Ff{constructor(t){Tf(this,"curve","secp256k1"),Tf(this,"privateKey",bp(t)),32!==Mp(this.privateKey)&&Lf.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const e=Rf().keyFromPrivate(Ip(this.privateKey));Tf(this,"publicKey","0x"+e.getPublic(!1,"hex")),Tf(this,"compressedPublicKey","0x"+e.getPublic(!0,"hex")),Tf(this,"_isSigningKey",!0)}_addPoint(t){const e=Rf().keyFromPublic(Ip(this.publicKey)),n=Rf().keyFromPublic(Ip(t));return"0x"+e.pub.add(n.pub).encodeCompressed("hex")}signDigest(t){const e=Rf().keyFromPrivate(Ip(this.privateKey)),n=Ip(t);32!==n.length&&Lf.throwArgumentError("bad digest length","digest",t);const r=e.sign(n,{canonical:!0});return _p({recoveryParam:r.recoveryParam,r:Sp("0x"+r.r.toString(16),32),s:Sp("0x"+r.s.toString(16),32)})}computeSharedSecret(t){const e=Rf().keyFromPrivate(Ip(this.privateKey)),n=Rf().keyFromPublic(Ip(Of(t)));return Sp("0x"+e.derive(n.getPublic()).toString(16),32)}static isSigningKey(t){return!(!t||!t._isSigningKey)}}function Of(t,e){const n=Ip(t);if(32===n.length){const t=new Ff(n);return e?"0x"+Rf().keyFromPrivate(n).getPublic(!0,"hex"):t.publicKey}return 33===n.length?e?bp(n):"0x"+Rf().keyFromPublic(n).getPublic(!1,"hex"):65===n.length?e?"0x"+Rf().keyFromPublic(n).getPublic(!0,"hex"):bp(n):Lf.throwArgumentError("invalid public or private key","key","[REDACTED]")}var Qf=Op().BN;const kf=new fp("bignumber/5.8.0"),Uf={},Pf=9007199254740991;let Gf=!1;class Vf{constructor(t,e){t!==Uf&&kf.throwError("cannot call constructor directly; use BigNumber.from",fp.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=e,this._isBigNumber=!0,Object.freeze(this)}fromTwos(t){return jf(Yf(this).fromTwos(t))}toTwos(t){return jf(Yf(this).toTwos(t))}abs(){return"-"===this._hex[0]?Vf.from(this._hex.substring(1)):this}add(t){return jf(Yf(this).add(Yf(t)))}sub(t){return jf(Yf(this).sub(Yf(t)))}div(t){return Vf.from(t).isZero()&&zf("division-by-zero","div"),jf(Yf(this).div(Yf(t)))}mul(t){return jf(Yf(this).mul(Yf(t)))}mod(t){const e=Yf(t);return e.isNeg()&&zf("division-by-zero","mod"),jf(Yf(this).umod(e))}pow(t){const e=Yf(t);return e.isNeg()&&zf("negative-power","pow"),jf(Yf(this).pow(e))}and(t){const e=Yf(t);return(this.isNegative()||e.isNeg())&&zf("unbound-bitwise-result","and"),jf(Yf(this).and(e))}or(t){const e=Yf(t);return(this.isNegative()||e.isNeg())&&zf("unbound-bitwise-result","or"),jf(Yf(this).or(e))}xor(t){const e=Yf(t);return(this.isNegative()||e.isNeg())&&zf("unbound-bitwise-result","xor"),jf(Yf(this).xor(e))}mask(t){return(this.isNegative()||t<0)&&zf("negative-width","mask"),jf(Yf(this).maskn(t))}shl(t){return(this.isNegative()||t<0)&&zf("negative-width","shl"),jf(Yf(this).shln(t))}shr(t){return(this.isNegative()||t<0)&&zf("negative-width","shr"),jf(Yf(this).shrn(t))}eq(t){return Yf(this).eq(Yf(t))}lt(t){return Yf(this).lt(Yf(t))}lte(t){return Yf(this).lte(Yf(t))}gt(t){return Yf(this).gt(Yf(t))}gte(t){return Yf(this).gte(Yf(t))}isNegative(){return"-"===this._hex[0]}isZero(){return Yf(this).isZero()}toNumber(){try{return Yf(this).toNumber()}catch(t){zf("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(t){}return kf.throwError("this platform does not support BigInt",fp.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(10===arguments[0]?Gf||(Gf=!0,kf.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?kf.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",fp.errors.UNEXPECTED_ARGUMENT,{}):kf.throwError("BigNumber.toString does not accept parameters",fp.errors.UNEXPECTED_ARGUMENT,{})),Yf(this).toString(10)}toHexString(){return this._hex}toJSON(t){return{type:"BigNumber",hex:this.toHexString()}}static from(t){if(t instanceof Vf)return t;if("string"==typeof t)return t.match(/^-?0x[0-9a-f]+$/i)?new Vf(Uf,Hf(t)):t.match(/^-?[0-9]+$/)?new Vf(Uf,Hf(new Qf(t))):kf.throwArgumentError("invalid BigNumber string","value",t);if("number"==typeof t)return t%1&&zf("underflow","BigNumber.from",t),(t>=Pf||t<=-Pf)&&zf("overflow","BigNumber.from",t),Vf.from(String(t));const e=t;if("bigint"==typeof e)return Vf.from(e.toString());if(yp(e))return Vf.from(bp(e));if(e)if(e.toHexString){const t=e.toHexString();if("string"==typeof t)return Vf.from(t)}else{let t=e._hex;if(null==t&&"BigNumber"===e.type&&(t=e.hex),"string"==typeof t&&(Tp(t)||"-"===t[0]&&Tp(t.substring(1))))return Vf.from(t)}return kf.throwArgumentError("invalid BigNumber value","value",t)}static isBigNumber(t){return!(!t||!t._isBigNumber)}}function Hf(t){if("string"!=typeof t)return Hf(t.toString(16));if("-"===t[0])return"-"===(t=t.substring(1))[0]&&kf.throwArgumentError("invalid hex","value",t),"0x00"===(t=Hf(t))?t:"-"+t;if("0x"!==t.substring(0,2)&&(t="0x"+t),"0x"===t)return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&"0x00"===t.substring(0,4);)t="0x"+t.substring(4);return t}function jf(t){return Vf.from(Hf(t))}function Yf(t){const e=Vf.from(t).toHexString();return"-"===e[0]?new Qf("-"+e.substring(3),16):new Qf(e.substring(2),16)}function zf(t,e,n){const r={fault:t,operation:e};return null!=n&&(r.value=n),kf.throwError(t,fp.errors.NUMERIC_FAULT,r)}var Jf=s(1176),Wf=s.n(Jf);function qf(t){return"0x"+Wf().keccak_256(Ip(t))}const Kf=new fp("address/5.8.0");function Xf(t){Tp(t,20)||Kf.throwArgumentError("invalid address","address",t);const e=(t=t.toLowerCase()).substring(2).split(""),n=new Uint8Array(40);for(let t=0;t<40;t++)n[t]=e[t].charCodeAt(0);const r=Ip(qf(n));for(let t=0;t<40;t+=2)r[t>>1]>>4>=8&&(e[t]=e[t].toUpperCase()),(15&r[t>>1])>=8&&(e[t+1]=e[t+1].toUpperCase());return"0x"+e.join("")}const Zf={};for(let t=0;t<10;t++)Zf[String(t)]=String(t);for(let t=0;t<26;t++)Zf[String.fromCharCode(65+t)]=String(10+t);const $f=Math.floor((tA=9007199254740991,Math.log10?Math.log10(tA):Math.log(tA)/Math.LN10));var tA;function eA(t){let e=(t=(t=t.toUpperCase()).substring(4)+t.substring(0,2)+"00").split("").map(t=>Zf[t]).join("");for(;e.length>=$f;){let t=e.substring(0,$f);e=parseInt(t,10)%97+e.substring(t.length)}let n=String(98-parseInt(e,10)%97);for(;n.length<2;)n="0"+n;return n}function nA(t){let e=null;if("string"!=typeof t&&Kf.throwArgumentError("invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==t.substring(0,2)&&(t="0x"+t),e=Xf(t),t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==t&&Kf.throwArgumentError("bad address checksum","address",t);else if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(t.substring(2,4)!==eA(t)&&Kf.throwArgumentError("bad icap checksum","address",t),n=t.substring(4),e=new Qf(n,36).toString(16);e.length<40;)e="0"+e;e=Xf("0x"+e)}else Kf.throwArgumentError("invalid address","address",t);var n;return e}const rA=new fp("rlp/5.8.0");function iA(t){const e=[];for(;t;)e.unshift(255&t),t>>=8;return e}function oA(t){if(Array.isArray(t)){let e=[];if(t.forEach(function(t){e=e.concat(oA(t))}),e.length<=55)return e.unshift(192+e.length),e;const n=iA(e.length);return n.unshift(247+n.length),n.concat(e)}mp(t)||rA.throwArgumentError("RLP object must be BytesLike","object",t);const e=Array.prototype.slice.call(Ip(t));if(1===e.length&&e[0]<=127)return e;if(e.length<=55)return e.unshift(128+e.length),e;const n=iA(e.length);return n.unshift(183+n.length),n.concat(e)}function sA(t){return bp(oA(t))}const aA=new fp("transactions/5.8.0");var cA;!function(t){t[t.legacy=0]="legacy",t[t.eip2930=1]="eip2930",t[t.eip1559=2]="eip1559"}(cA||(cA={}));const lA=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],uA={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function hA(t){return nA(Np(qf(Np(Of(t),1)),12))}function dA(t,e){return hA(function(t,e){const n=_p(e),r={r:Ip(n.r),s:Ip(n.s)};return"0x"+Rf().recoverPubKey(Ip(t),r,n.recoveryParam).encode("hex",!1)}(Ip(t),e))}function pA(t,e){const n=Bp(Vf.from(t).toHexString());return n.length>32&&aA.throwArgumentError("invalid length for "+e,"transaction:"+e,t),n}function fA(t,e){return{address:nA(t),storageKeys:(e||[]).map((e,n)=>(32!==Mp(e)&&aA.throwArgumentError("invalid access list storageKey",`accessList[${t}:${n}]`,e),e.toLowerCase()))}}function AA(t){if(Array.isArray(t))return t.map((t,e)=>Array.isArray(t)?(t.length>2&&aA.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${e}]`,t),fA(t[0],t[1])):fA(t.address,t.storageKeys));const e=Object.keys(t).map(e=>{const n=t[e].reduce((t,e)=>(t[e]=!0,t),{});return fA(e,Object.keys(n).sort())});return e.sort((t,e)=>t.address.localeCompare(e.address)),e}function gA(t){return AA(t).map(t=>[t.address,t.storageKeys])}function EA(t,e){if(null!=t.gasPrice){const e=Vf.from(t.gasPrice),n=Vf.from(t.maxFeePerGas||0);e.eq(n)||aA.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:e,maxFeePerGas:n})}const n=[pA(t.chainId||0,"chainId"),pA(t.nonce||0,"nonce"),pA(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),pA(t.maxFeePerGas||0,"maxFeePerGas"),pA(t.gasLimit||0,"gasLimit"),null!=t.to?nA(t.to):"0x",pA(t.value||0,"value"),t.data||"0x",gA(t.accessList||[])];if(e){const t=_p(e);n.push(pA(t.recoveryParam,"recoveryParam")),n.push(Bp(t.r)),n.push(Bp(t.s))}return vp(["0x02",sA(n)])}function mA(t,e){const n=[pA(t.chainId||0,"chainId"),pA(t.nonce||0,"nonce"),pA(t.gasPrice||0,"gasPrice"),pA(t.gasLimit||0,"gasLimit"),null!=t.to?nA(t.to):"0x",pA(t.value||0,"value"),t.data||"0x",gA(t.accessList||[])];if(e){const t=_p(e);n.push(pA(t.recoveryParam,"recoveryParam")),n.push(Bp(t.r)),n.push(Bp(t.s))}return vp(["0x01",sA(n)])}function wA(t,e){var n,r;r=uA,(n=t)&&"object"==typeof n||Bf.throwArgumentError("invalid object","object",n),Object.keys(n).forEach(t=>{r[t]||Bf.throwArgumentError("invalid object key - "+t,"transaction:"+t,n)});const i=[];lA.forEach(function(e){let n=t[e.name]||[];const r={};e.numeric&&(r.hexPad="left"),n=Ip(bp(n,r)),e.length&&n.length!==e.length&&n.length>0&&aA.throwArgumentError("invalid length for "+e.name,"transaction:"+e.name,n),e.maxLength&&(n=Bp(n),n.length>e.maxLength&&aA.throwArgumentError("invalid length for "+e.name,"transaction:"+e.name,n)),i.push(bp(n))});let o=0;if(null!=t.chainId?(o=t.chainId,"number"!=typeof o&&aA.throwArgumentError("invalid transaction.chainId","transaction",t)):e&&!mp(e)&&e.v>28&&(o=Math.floor((e.v-35)/2)),0!==o&&(i.push(bp(o)),i.push("0x"),i.push("0x")),!e)return sA(i);const s=_p(e);let a=27+s.recoveryParam;return 0!==o?(i.pop(),i.pop(),i.pop(),a+=2*o+8,s.v>28&&s.v!==a&&aA.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e)):s.v!==a&&aA.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e),i.push(bp(a)),i.push(Bp(Ip(s.r))),i.push(Bp(Ip(s.s))),sA(i)}function yA(t,e){if(null==t.type||0===t.type)return null!=t.accessList&&aA.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",t),wA(t,e);switch(t.type){case 1:return mA(t,e);case 2:return EA(t,e)}return aA.throwError(`unsupported transaction type: ${t.type}`,fp.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:t.type})}function IA(){let t=0,e=0;for(let n=0;n<28;n+=7){let r=this.buf[this.pos++];if(t|=(127&r)<<n,!(128&r))return this.assertBounds(),[t,e]}let n=this.buf[this.pos++];if(t|=(15&n)<<28,e=(112&n)>>4,!(128&n))return this.assertBounds(),[t,e];for(let n=3;n<=31;n+=7){let r=this.buf[this.pos++];if(e|=(127&r)<<n,!(128&r))return this.assertBounds(),[t,e]}throw new Error("invalid varint")}function CA(t,e,n){for(let r=0;r<28;r+=7){const i=t>>>r,o=!(i>>>7==0&&0==e),s=255&(o?128|i:i);if(n.push(s),!o)return}const r=t>>>28&15|(7&e)<<4,i=!!(e>>3);if(n.push(255&(i?128|r:r)),i){for(let t=3;t<31;t+=7){const r=e>>>t,i=!(r>>>7==0),o=255&(i?128|r:r);if(n.push(o),!i)return}n.push(e>>>31&1)}}const BA=4294967296;function TA(t){const e="-"===t[0];e&&(t=t.slice(1));const n=1e6;let r=0,i=0;function o(e,o){const s=Number(t.slice(e,o));i*=n,r=r*n+s,r>=BA&&(i+=r/BA|0,r%=BA)}return o(-24,-18),o(-18,-12),o(-12,-6),o(-6),e?MA(r,i):bA(r,i)}function DA(t,e){if(({lo:t,hi:e}=function(t,e){return{lo:t>>>0,hi:e>>>0}}(t,e)),e<=2097151)return String(BA*e+t);const n=16777215&(t>>>24|e<<8),r=e>>16&65535;let i=(16777215&t)+6777216*n+6710656*r,o=n+8147497*r,s=2*r;const a=1e7;return i>=a&&(o+=Math.floor(i/a),i%=a),o>=a&&(s+=Math.floor(o/a),o%=a),s.toString()+NA(o)+NA(i)}function bA(t,e){return{lo:0|t,hi:0|e}}function MA(t,e){return e=~e,t?t=1+~t:e+=1,bA(t,e)}const NA=t=>{const e=String(t);return"0000000".slice(e.length)+e};function vA(t,e){if(t>=0){for(;t>127;)e.push(127&t|128),t>>>=7;e.push(t)}else{for(let n=0;n<9;n++)e.push(127&t|128),t>>=7;e.push(1)}}function SA(){let t=this.buf[this.pos++],e=127&t;if(!(128&t))return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(127&t)<<7,!(128&t))return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(127&t)<<14,!(128&t))return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(127&t)<<21,!(128&t))return this.assertBounds(),e;t=this.buf[this.pos++],e|=(15&t)<<28;for(let e=5;128&t&&e<10;e++)t=this.buf[this.pos++];if(128&t)throw new Error("invalid varint");return this.assertBounds(),e>>>0}var _A=s(5606);const LA=xA();function xA(){const t=new DataView(new ArrayBuffer(8));if("function"==typeof BigInt&&"function"==typeof t.getBigInt64&&"function"==typeof t.getBigUint64&&"function"==typeof t.setBigInt64&&"function"==typeof t.setBigUint64&&(!!globalThis.Deno||"object"!=typeof _A||"object"!=typeof _A.env||"1"!==_A.env.BUF_BIGINT_DISABLE)){const e=BigInt("-9223372036854775808"),n=BigInt("9223372036854775807"),r=BigInt("0"),i=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(t){const r="bigint"==typeof t?t:BigInt(t);if(r>n||r<e)throw new Error(`invalid int64: ${t}`);return r},uParse(t){const e="bigint"==typeof t?t:BigInt(t);if(e>i||e<r)throw new Error(`invalid uint64: ${t}`);return e},enc(e){return t.setBigInt64(0,this.parse(e),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},uEnc(e){return t.setBigInt64(0,this.uParse(e),!0),{lo:t.getInt32(0,!0),hi:t.getInt32(4,!0)}},dec:(e,n)=>(t.setInt32(0,e,!0),t.setInt32(4,n,!0),t.getBigInt64(0,!0)),uDec:(e,n)=>(t.setInt32(0,e,!0),t.setInt32(4,n,!0),t.getBigUint64(0,!0))}}return{zero:"0",supported:!1,parse:t=>("string"!=typeof t&&(t=t.toString()),RA(t),t),uParse:t=>("string"!=typeof t&&(t=t.toString()),FA(t),t),enc:t=>("string"!=typeof t&&(t=t.toString()),RA(t),TA(t)),uEnc:t=>("string"!=typeof t&&(t=t.toString()),FA(t),TA(t)),dec:(t,e)=>function(t,e){let n=bA(t,e);const r=2147483648&n.hi;r&&(n=MA(n.lo,n.hi));const i=DA(n.lo,n.hi);return r?"-"+i:i}(t,e),uDec:(t,e)=>DA(t,e)}}function RA(t){if(!/^-?[0-9]+$/.test(t))throw new Error("invalid int64: "+t)}function FA(t){if(!/^[0-9]+$/.test(t))throw new Error("invalid uint64: "+t)}const OA=Symbol.for("@bufbuild/protobuf/text-encoding");function QA(){if(null==globalThis[OA]){const t=new globalThis.TextEncoder,e=new globalThis.TextDecoder;globalThis[OA]={encodeUtf8:e=>t.encode(e),decodeUtf8:t=>e.decode(t),checkUtf8(t){try{return encodeURIComponent(t),!0}catch(t){return!1}}}}return globalThis[OA]}var kA;!function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"}(kA||(kA={}));const UA=34028234663852886e22,PA=-34028234663852886e22;class GA{constructor(t=QA().encodeUtf8){this.encodeUtf8=t,this.stack=[],this.chunks=[],this.buf=[]}finish(){this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]);let t=0;for(let e=0;e<this.chunks.length;e++)t+=this.chunks[e].length;let e=new Uint8Array(t),n=0;for(let t=0;t<this.chunks.length;t++)e.set(this.chunks[t],n),n+=this.chunks[t].length;return this.chunks=[],e}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let t=this.finish(),e=this.stack.pop();if(!e)throw new Error("invalid state, fork stack empty");return this.chunks=e.chunks,this.buf=e.buf,this.uint32(t.byteLength),this.raw(t)}tag(t,e){return this.uint32((t<<3|e)>>>0)}raw(t){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(t),this}uint32(t){for(jA(t);t>127;)this.buf.push(127&t|128),t>>>=7;return this.buf.push(t),this}int32(t){return HA(t),vA(t,this.buf),this}bool(t){return this.buf.push(t?1:0),this}bytes(t){return this.uint32(t.byteLength),this.raw(t)}string(t){let e=this.encodeUtf8(t);return this.uint32(e.byteLength),this.raw(e)}float(t){!function(t){if("string"==typeof t){const e=t;if(t=Number(t),Number.isNaN(t)&&"NaN"!==e)throw new Error("invalid float32: "+e)}else if("number"!=typeof t)throw new Error("invalid float32: "+typeof t);if(Number.isFinite(t)&&(t>UA||t<PA))throw new Error("invalid float32: "+t)}(t);let e=new Uint8Array(4);return new DataView(e.buffer).setFloat32(0,t,!0),this.raw(e)}double(t){let e=new Uint8Array(8);return new DataView(e.buffer).setFloat64(0,t,!0),this.raw(e)}fixed32(t){jA(t);let e=new Uint8Array(4);return new DataView(e.buffer).setUint32(0,t,!0),this.raw(e)}sfixed32(t){HA(t);let e=new Uint8Array(4);return new DataView(e.buffer).setInt32(0,t,!0),this.raw(e)}sint32(t){return HA(t),vA(t=(t<<1^t>>31)>>>0,this.buf),this}sfixed64(t){let e=new Uint8Array(8),n=new DataView(e.buffer),r=LA.enc(t);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(e)}fixed64(t){let e=new Uint8Array(8),n=new DataView(e.buffer),r=LA.uEnc(t);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(e)}int64(t){let e=LA.enc(t);return CA(e.lo,e.hi,this.buf),this}sint64(t){const e=LA.enc(t),n=e.hi>>31;return CA(e.lo<<1^n,(e.hi<<1|e.lo>>>31)^n,this.buf),this}uint64(t){const e=LA.uEnc(t);return CA(e.lo,e.hi,this.buf),this}}class VA{constructor(t,e=QA().decodeUtf8){this.decodeUtf8=e,this.varint64=IA,this.uint32=SA,this.buf=t,this.len=t.length,this.pos=0,this.view=new DataView(t.buffer,t.byteOffset,t.byteLength)}tag(){let t=this.uint32(),e=t>>>3,n=7&t;if(e<=0||n<0||n>5)throw new Error("illegal tag: field no "+e+" wire type "+n);return[e,n]}skip(t,e){let n=this.pos;switch(t){case kA.Varint:for(;128&this.buf[this.pos++];);break;case kA.Bit64:this.pos+=4;case kA.Bit32:this.pos+=4;break;case kA.LengthDelimited:let n=this.uint32();this.pos+=n;break;case kA.StartGroup:for(;;){const[t,n]=this.tag();if(n===kA.EndGroup){if(void 0!==e&&t!==e)throw new Error("invalid end group tag");break}this.skip(n,t)}break;default:throw new Error("cant skip wire type "+t)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw new RangeError("premature EOF")}int32(){return 0|this.uint32()}sint32(){let t=this.uint32();return t>>>1^-(1&t)}int64(){return LA.dec(...this.varint64())}uint64(){return LA.uDec(...this.varint64())}sint64(){let[t,e]=this.varint64(),n=-(1&t);return t=(t>>>1|(1&e)<<31)^n,e=e>>>1^n,LA.dec(t,e)}bool(){let[t,e]=this.varint64();return 0!==t||0!==e}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return LA.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return LA.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let t=this.uint32(),e=this.pos;return this.pos+=t,this.assertBounds(),this.buf.subarray(e,e+t)}string(){return this.decodeUtf8(this.bytes())}}function HA(t){if("string"==typeof t)t=Number(t);else if("number"!=typeof t)throw new Error("invalid int32: "+typeof t);if(!Number.isInteger(t)||t>2147483647||t<-2147483648)throw new Error("invalid int32: "+t)}function jA(t){if("string"==typeof t)t=Number(t);else if("number"!=typeof t)throw new Error("invalid uint32: "+typeof t);if(!Number.isInteger(t)||t>4294967295||t<0)throw new Error("invalid uint32: "+t)}const YA=0,zA=1,JA=2,WA=-1;function qA(t){switch(t){case 0:case"TRANSCRIPT_MESSAGE_SENDER_TYPE_UNKNOWN":return YA;case 1:case"TRANSCRIPT_MESSAGE_SENDER_TYPE_CLIENT":return zA;case 2:case"TRANSCRIPT_MESSAGE_SENDER_TYPE_SERVER":return JA;default:return WA}}const KA=0,XA=1,ZA=-1;function $A(t){switch(t){case 0:case"SERVICE_SIGNATURE_TYPE_UNKNOWN":return KA;case 1:case"SERVICE_SIGNATURE_TYPE_ETH":return XA;default:return ZA}}const tg=0,eg=1,ng=2,rg=3,ig=4,og=5,sg=-1;function ag(t){switch(t){case 0:case"ATTESTOR_VERSION_UNKNOWN":return tg;case 1:case"ATTESTOR_VERSION_1_0_0":return eg;case 2:case"ATTESTOR_VERSION_1_1_0":return ng;case 3:case"ATTESTOR_VERSION_2_0_0":return rg;case 4:case"ATTESTOR_VERSION_2_0_1":return ig;case 5:case"ATTESTOR_VERSION_3_0_0":return og;default:return sg}}const cg={ERROR_NO_ERROR:0,ERROR_INTERNAL:1,ERROR_BAD_REQUEST:2,ERROR_NOT_FOUND:3,ERROR_PROXY_ERROR:4,ERROR_INVALID_CLAIM:5,ERROR_NETWORK_ERROR:6,ERROR_PAYMENT_REFUSED:7,ERROR_BGP_ANNOUNCEMENT_OVERLAP:8,ERROR_AUTHENTICATION_FAILED:9,ERROR_TIMEOUT:10,ERROR_TOPRF_OUT_OF_BOUNDS:11,ERROR_CERTIFICATE_FETCH_FAILED:12,UNRECOGNIZED:-1};function lg(t){switch(t){case 0:case"ERROR_NO_ERROR":return cg.ERROR_NO_ERROR;case 1:case"ERROR_INTERNAL":return cg.ERROR_INTERNAL;case 2:case"ERROR_BAD_REQUEST":return cg.ERROR_BAD_REQUEST;case 3:case"ERROR_NOT_FOUND":return cg.ERROR_NOT_FOUND;case 4:case"ERROR_PROXY_ERROR":return cg.ERROR_PROXY_ERROR;case 5:case"ERROR_INVALID_CLAIM":return cg.ERROR_INVALID_CLAIM;case 6:case"ERROR_NETWORK_ERROR":return cg.ERROR_NETWORK_ERROR;case 7:case"ERROR_PAYMENT_REFUSED":return cg.ERROR_PAYMENT_REFUSED;case 8:case"ERROR_BGP_ANNOUNCEMENT_OVERLAP":return cg.ERROR_BGP_ANNOUNCEMENT_OVERLAP;case 9:case"ERROR_AUTHENTICATION_FAILED":return cg.ERROR_AUTHENTICATION_FAILED;case 10:case"ERROR_TIMEOUT":return cg.ERROR_TIMEOUT;case 11:case"ERROR_TOPRF_OUT_OF_BOUNDS":return cg.ERROR_TOPRF_OUT_OF_BOUNDS;case 12:case"ERROR_CERTIFICATE_FETCH_FAILED":return cg.ERROR_CERTIFICATE_FETCH_FAILED;default:return cg.UNRECOGNIZED}}const ug=0,hg=1,dg=-1;function pg(t){switch(t){case 0:case"ZK_ENGINE_SNARKJS":return ug;case 1:case"ZK_ENGINE_GNARK":return hg;default:return dg}}function fg(t){switch(t){case ug:return"ZK_ENGINE_SNARKJS";case hg:return"ZK_ENGINE_GNARK";default:return"UNRECOGNIZED"}}const Ag={encode:(t,e=new GA)=>(""!==t.provider&&e.uint32(10).string(t.provider),""!==t.parameters&&e.uint32(18).string(t.parameters),""!==t.owner&&e.uint32(26).string(t.owner),0!==t.timestampS&&e.uint32(32).uint32(t.timestampS),""!==t.context&&e.uint32(50).string(t.context),""!==t.identifier&&e.uint32(66).string(t.identifier),0!==t.epoch&&e.uint32(72).uint32(t.epoch),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={provider:"",parameters:"",owner:"",timestampS:0,context:"",identifier:"",epoch:0};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.provider=n.string();continue;case 2:if(18!==t)break;i.parameters=n.string();continue;case 3:if(26!==t)break;i.owner=n.string();continue;case 4:if(32!==t)break;i.timestampS=n.uint32();continue;case 6:if(50!==t)break;i.context=n.string();continue;case 8:if(66!==t)break;i.identifier=n.string();continue;case 9:if(72!==t)break;i.epoch=n.uint32();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({provider:CE(t.provider)?globalThis.String(t.provider):"",parameters:CE(t.parameters)?globalThis.String(t.parameters):"",owner:CE(t.owner)?globalThis.String(t.owner):"",timestampS:CE(t.timestampS)?globalThis.Number(t.timestampS):0,context:CE(t.context)?globalThis.String(t.context):"",identifier:CE(t.identifier)?globalThis.String(t.identifier):"",epoch:CE(t.epoch)?globalThis.Number(t.epoch):0}),toJSON(t){const e={};return""!==t.provider&&(e.provider=t.provider),""!==t.parameters&&(e.parameters=t.parameters),""!==t.owner&&(e.owner=t.owner),0!==t.timestampS&&(e.timestampS=Math.round(t.timestampS)),""!==t.context&&(e.context=t.context),""!==t.identifier&&(e.identifier=t.identifier),0!==t.epoch&&(e.epoch=Math.round(t.epoch)),e},create:t=>Ag.fromPartial(t??{}),fromPartial(t){const e={provider:"",parameters:"",owner:"",timestampS:0,context:"",identifier:"",epoch:0};return e.provider=t.provider??"",e.parameters=t.parameters??"",e.owner=t.owner??"",e.timestampS=t.timestampS??0,e.context=t.context??"",e.identifier=t.identifier??"",e.epoch=t.epoch??0,e}};const gg={encode:(t,e=new GA)=>(0!==t.code&&e.uint32(8).int32(t.code),""!==t.message&&e.uint32(18).string(t.message),""!==t.data&&e.uint32(26).string(t.data),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={code:0,message:"",data:""};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(8!==t)break;i.code=n.int32();continue;case 2:if(18!==t)break;i.message=n.string();continue;case 3:if(26!==t)break;i.data=n.string();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({code:CE(t.code)?lg(t.code):0,message:CE(t.message)?globalThis.String(t.message):"",data:CE(t.data)?globalThis.String(t.data):""}),toJSON(t){const e={};return 0!==t.code&&(e.code=function(t){switch(t){case cg.ERROR_NO_ERROR:return"ERROR_NO_ERROR";case cg.ERROR_INTERNAL:return"ERROR_INTERNAL";case cg.ERROR_BAD_REQUEST:return"ERROR_BAD_REQUEST";case cg.ERROR_NOT_FOUND:return"ERROR_NOT_FOUND";case cg.ERROR_PROXY_ERROR:return"ERROR_PROXY_ERROR";case cg.ERROR_INVALID_CLAIM:return"ERROR_INVALID_CLAIM";case cg.ERROR_NETWORK_ERROR:return"ERROR_NETWORK_ERROR";case cg.ERROR_PAYMENT_REFUSED:return"ERROR_PAYMENT_REFUSED";case cg.ERROR_BGP_ANNOUNCEMENT_OVERLAP:return"ERROR_BGP_ANNOUNCEMENT_OVERLAP";case cg.ERROR_AUTHENTICATION_FAILED:return"ERROR_AUTHENTICATION_FAILED";case cg.ERROR_TIMEOUT:return"ERROR_TIMEOUT";case cg.ERROR_TOPRF_OUT_OF_BOUNDS:return"ERROR_TOPRF_OUT_OF_BOUNDS";case cg.ERROR_CERTIFICATE_FETCH_FAILED:return"ERROR_CERTIFICATE_FETCH_FAILED";default:return"UNRECOGNIZED"}}(t.code)),""!==t.message&&(e.message=t.message),""!==t.data&&(e.data=t.data),e},create:t=>gg.fromPartial(t??{}),fromPartial(t){const e={code:0,message:"",data:""};return e.code=t.code??0,e.message=t.message??"",e.data=t.data??"",e}};const Eg={encode:(t,e=new GA)=>(0!==t.id&&e.uint32(8).uint32(t.id),""!==t.host&&e.uint32(18).string(t.host),0!==t.port&&e.uint32(24).uint32(t.port),""!==t.geoLocation&&e.uint32(34).string(t.geoLocation),""!==t.proxySessionId&&e.uint32(42).string(t.proxySessionId),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={id:0,host:"",port:0,geoLocation:"",proxySessionId:""};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(8!==t)break;i.id=n.uint32();continue;case 2:if(18!==t)break;i.host=n.string();continue;case 3:if(24!==t)break;i.port=n.uint32();continue;case 4:if(34!==t)break;i.geoLocation=n.string();continue;case 5:if(42!==t)break;i.proxySessionId=n.string();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({id:CE(t.id)?globalThis.Number(t.id):0,host:CE(t.host)?globalThis.String(t.host):"",port:CE(t.port)?globalThis.Number(t.port):0,geoLocation:CE(t.geoLocation)?globalThis.String(t.geoLocation):"",proxySessionId:CE(t.proxySessionId)?globalThis.String(t.proxySessionId):""}),toJSON(t){const e={};return 0!==t.id&&(e.id=Math.round(t.id)),""!==t.host&&(e.host=t.host),0!==t.port&&(e.port=Math.round(t.port)),""!==t.geoLocation&&(e.geoLocation=t.geoLocation),""!==t.proxySessionId&&(e.proxySessionId=t.proxySessionId),e},create:t=>Eg.fromPartial(t??{}),fromPartial(t){const e={id:0,host:"",port:0,geoLocation:"",proxySessionId:""};return e.id=t.id??0,e.host=t.host??"",e.port=t.port??0,e.geoLocation=t.geoLocation??"",e.proxySessionId=t.proxySessionId??"",e}};const mg={encode:(t,e=new GA)=>(""!==t.url&&e.uint32(10).string(t.url),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={url:""};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.url=n.string();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({url:CE(t.url)?globalThis.String(t.url):""}),toJSON(t){const e={};return""!==t.url&&(e.url=t.url),e},create:t=>mg.fromPartial(t??{}),fromPartial(t){const e={url:""};return e.url=t.url??"",e}};function wg(){return{bytes:new Uint8Array(0)}}const yg={encode:(t,e=new GA)=>(0!==t.bytes.length&&e.uint32(10).bytes(t.bytes),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=wg();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.bytes=n.bytes();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({bytes:CE(t.bytes)?wE(t.bytes):new Uint8Array(0)}),toJSON(t){const e={};return 0!==t.bytes.length&&(e.bytes=yE(t.bytes)),e},create:t=>yg.fromPartial(t??{}),fromPartial(t){const e=wg();return e.bytes=t.bytes??new Uint8Array(0),e}};const Ig={encode:(t,e=new GA)=>(0!==t.id&&e.uint32(8).uint32(t.id),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={id:0};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(8!==t)break;i.id=n.uint32();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({id:CE(t.id)?globalThis.Number(t.id):0}),toJSON(t){const e={};return 0!==t.id&&(e.id=Math.round(t.id)),e},create:t=>Ig.fromPartial(t??{}),fromPartial(t){const e={id:0};return e.id=t.id??0,e}};const Cg={encode:(t,e=new GA)=>e,decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={};for(;n.pos<r;){const t=n.uint32();if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({}),toJSON:t=>({}),create:t=>Cg.fromPartial(t??{}),fromPartial:t=>({})};function Bg(){return{tunnelId:0,message:new Uint8Array(0)}}const Tg={encode:(t,e=new GA)=>(0!==t.tunnelId&&e.uint32(8).uint32(t.tunnelId),0!==t.message.length&&e.uint32(18).bytes(t.message),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=Bg();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(8!==t)break;i.tunnelId=n.uint32();continue;case 2:if(18!==t)break;i.message=n.bytes();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({tunnelId:CE(t.tunnelId)?globalThis.Number(t.tunnelId):0,message:CE(t.message)?wE(t.message):new Uint8Array(0)}),toJSON(t){const e={};return 0!==t.tunnelId&&(e.tunnelId=Math.round(t.tunnelId)),0!==t.message.length&&(e.message=yE(t.message)),e},create:t=>Tg.fromPartial(t??{}),fromPartial(t){const e=Bg();return e.tunnelId=t.tunnelId??0,e.message=t.message??new Uint8Array(0),e}};const Dg={encode:(t,e=new GA)=>(0!==t.tunnelId&&e.uint32(8).uint32(t.tunnelId),void 0!==t.error&&gg.encode(t.error,e.uint32(18).fork()).join(),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={tunnelId:0,error:void 0};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(8!==t)break;i.tunnelId=n.uint32();continue;case 2:if(18!==t)break;i.error=gg.decode(n,n.uint32());continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({tunnelId:CE(t.tunnelId)?globalThis.Number(t.tunnelId):0,error:CE(t.error)?gg.fromJSON(t.error):void 0}),toJSON(t){const e={};return 0!==t.tunnelId&&(e.tunnelId=Math.round(t.tunnelId)),void 0!==t.error&&(e.error=gg.toJSON(t.error)),e},create:t=>Dg.fromPartial(t??{}),fromPartial(t){const e={tunnelId:0,error:void 0};return e.tunnelId=t.tunnelId??0,e.error=void 0!==t.error&&null!==t.error?gg.fromPartial(t.error):void 0,e}};const bg={encode:(t,e=new GA)=>(void 0!==t.directReveal&&Ng.encode(t.directReveal,e.uint32(10).fork()).join(),void 0!==t.zkReveal&&vg.encode(t.zkReveal,e.uint32(18).fork()).join(),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={directReveal:void 0,zkReveal:void 0};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.directReveal=Ng.decode(n,n.uint32());continue;case 2:if(18!==t)break;i.zkReveal=vg.decode(n,n.uint32());continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({directReveal:CE(t.directReveal)?Ng.fromJSON(t.directReveal):void 0,zkReveal:CE(t.zkReveal)?vg.fromJSON(t.zkReveal):void 0}),toJSON(t){const e={};return void 0!==t.directReveal&&(e.directReveal=Ng.toJSON(t.directReveal)),void 0!==t.zkReveal&&(e.zkReveal=vg.toJSON(t.zkReveal)),e},create:t=>bg.fromPartial(t??{}),fromPartial(t){const e={directReveal:void 0,zkReveal:void 0};return e.directReveal=void 0!==t.directReveal&&null!==t.directReveal?Ng.fromPartial(t.directReveal):void 0,e.zkReveal=void 0!==t.zkReveal&&null!==t.zkReveal?vg.fromPartial(t.zkReveal):void 0,e}};function Mg(){return{key:new Uint8Array(0),iv:new Uint8Array(0),recordNumber:0}}const Ng={encode:(t,e=new GA)=>(0!==t.key.length&&e.uint32(10).bytes(t.key),0!==t.iv.length&&e.uint32(18).bytes(t.iv),0!==t.recordNumber&&e.uint32(24).uint32(t.recordNumber),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=Mg();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.key=n.bytes();continue;case 2:if(18!==t)break;i.iv=n.bytes();continue;case 3:if(24!==t)break;i.recordNumber=n.uint32();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({key:CE(t.key)?wE(t.key):new Uint8Array(0),iv:CE(t.iv)?wE(t.iv):new Uint8Array(0),recordNumber:CE(t.recordNumber)?globalThis.Number(t.recordNumber):0}),toJSON(t){const e={};return 0!==t.key.length&&(e.key=yE(t.key)),0!==t.iv.length&&(e.iv=yE(t.iv)),0!==t.recordNumber&&(e.recordNumber=Math.round(t.recordNumber)),e},create:t=>Ng.fromPartial(t??{}),fromPartial(t){const e=Mg();return e.key=t.key??new Uint8Array(0),e.iv=t.iv??new Uint8Array(0),e.recordNumber=t.recordNumber??0,e}};const vg={encode(t,e=new GA){for(const n of t.proofs)_g.encode(n,e.uint32(10).fork()).join();for(const n of t.toprfs)xg.encode(n,e.uint32(18).fork()).join();return e},decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={proofs:[],toprfs:[]};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.proofs.push(_g.decode(n,n.uint32()));continue;case 2:if(18!==t)break;i.toprfs.push(xg.decode(n,n.uint32()));continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({proofs:globalThis.Array.isArray(t?.proofs)?t.proofs.map(t=>_g.fromJSON(t)):[],toprfs:globalThis.Array.isArray(t?.toprfs)?t.toprfs.map(t=>xg.fromJSON(t)):[]}),toJSON(t){const e={};return t.proofs?.length&&(e.proofs=t.proofs.map(t=>_g.toJSON(t))),t.toprfs?.length&&(e.toprfs=t.toprfs.map(t=>xg.toJSON(t))),e},create:t=>vg.fromPartial(t??{}),fromPartial(t){const e={proofs:[],toprfs:[]};return e.proofs=t.proofs?.map(t=>_g.fromPartial(t))||[],e.toprfs=t.toprfs?.map(t=>xg.fromPartial(t))||[],e}};function Sg(){return{decryptedRedactedCiphertext:new Uint8Array(0),redactedPlaintext:new Uint8Array(0),startIdx:0,proofData:new Uint8Array(0)}}const _g={encode:(t,e=new GA)=>(0!==t.decryptedRedactedCiphertext.length&&e.uint32(18).bytes(t.decryptedRedactedCiphertext),0!==t.redactedPlaintext.length&&e.uint32(26).bytes(t.redactedPlaintext),0!==t.startIdx&&e.uint32(32).uint32(t.startIdx),0!==t.proofData.length&&e.uint32(42).bytes(t.proofData),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=Sg();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 2:if(18!==t)break;i.decryptedRedactedCiphertext=n.bytes();continue;case 3:if(26!==t)break;i.redactedPlaintext=n.bytes();continue;case 4:if(32!==t)break;i.startIdx=n.uint32();continue;case 5:if(42!==t)break;i.proofData=n.bytes();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({decryptedRedactedCiphertext:CE(t.decryptedRedactedCiphertext)?wE(t.decryptedRedactedCiphertext):new Uint8Array(0),redactedPlaintext:CE(t.redactedPlaintext)?wE(t.redactedPlaintext):new Uint8Array(0),startIdx:CE(t.startIdx)?globalThis.Number(t.startIdx):0,proofData:CE(t.proofData)?wE(t.proofData):new Uint8Array(0)}),toJSON(t){const e={};return 0!==t.decryptedRedactedCiphertext.length&&(e.decryptedRedactedCiphertext=yE(t.decryptedRedactedCiphertext)),0!==t.redactedPlaintext.length&&(e.redactedPlaintext=yE(t.redactedPlaintext)),0!==t.startIdx&&(e.startIdx=Math.round(t.startIdx)),0!==t.proofData.length&&(e.proofData=yE(t.proofData)),e},create:t=>_g.fromPartial(t??{}),fromPartial(t){const e=Sg();return e.decryptedRedactedCiphertext=t.decryptedRedactedCiphertext??new Uint8Array(0),e.redactedPlaintext=t.redactedPlaintext??new Uint8Array(0),e.startIdx=t.startIdx??0,e.proofData=t.proofData??new Uint8Array(0),e}};function Lg(){return{startIdx:0,proofData:new Uint8Array(0),payload:void 0}}const xg={encode:(t,e=new GA)=>(0!==t.startIdx&&e.uint32(8).uint32(t.startIdx),0!==t.proofData.length&&e.uint32(18).bytes(t.proofData),void 0!==t.payload&&Fg.encode(t.payload,e.uint32(26).fork()).join(),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=Lg();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(8!==t)break;i.startIdx=n.uint32();continue;case 2:if(18!==t)break;i.proofData=n.bytes();continue;case 3:if(26!==t)break;i.payload=Fg.decode(n,n.uint32());continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({startIdx:CE(t.startIdx)?globalThis.Number(t.startIdx):0,proofData:CE(t.proofData)?wE(t.proofData):new Uint8Array(0),payload:CE(t.payload)?Fg.fromJSON(t.payload):void 0}),toJSON(t){const e={};return 0!==t.startIdx&&(e.startIdx=Math.round(t.startIdx)),0!==t.proofData.length&&(e.proofData=yE(t.proofData)),void 0!==t.payload&&(e.payload=Fg.toJSON(t.payload)),e},create:t=>xg.fromPartial(t??{}),fromPartial(t){const e=Lg();return e.startIdx=t.startIdx??0,e.proofData=t.proofData??new Uint8Array(0),e.payload=void 0!==t.payload&&null!==t.payload?Fg.fromPartial(t.payload):void 0,e}};function Rg(){return{dataLocation:void 0,nullifier:new Uint8Array(0),responses:[]}}const Fg={encode(t,e=new GA){void 0!==t.dataLocation&&Og.encode(t.dataLocation,e.uint32(10).fork()).join(),0!==t.nullifier.length&&e.uint32(18).bytes(t.nullifier);for(const n of t.responses)gE.encode(n,e.uint32(26).fork()).join();return e},decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=Rg();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.dataLocation=Og.decode(n,n.uint32());continue;case 2:if(18!==t)break;i.nullifier=n.bytes();continue;case 3:if(26!==t)break;i.responses.push(gE.decode(n,n.uint32()));continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({dataLocation:CE(t.dataLocation)?Og.fromJSON(t.dataLocation):void 0,nullifier:CE(t.nullifier)?wE(t.nullifier):new Uint8Array(0),responses:globalThis.Array.isArray(t?.responses)?t.responses.map(t=>gE.fromJSON(t)):[]}),toJSON(t){const e={};return void 0!==t.dataLocation&&(e.dataLocation=Og.toJSON(t.dataLocation)),0!==t.nullifier.length&&(e.nullifier=yE(t.nullifier)),t.responses?.length&&(e.responses=t.responses.map(t=>gE.toJSON(t))),e},create:t=>Fg.fromPartial(t??{}),fromPartial(t){const e=Rg();return e.dataLocation=void 0!==t.dataLocation&&null!==t.dataLocation?Og.fromPartial(t.dataLocation):void 0,e.nullifier=t.nullifier??new Uint8Array(0),e.responses=t.responses?.map(t=>gE.fromPartial(t))||[],e}};const Og={encode:(t,e=new GA)=>(0!==t.fromIndex&&e.uint32(8).uint32(t.fromIndex),0!==t.length&&e.uint32(16).uint32(t.length),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={fromIndex:0,length:0};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(8!==t)break;i.fromIndex=n.uint32();continue;case 2:if(16!==t)break;i.length=n.uint32();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({fromIndex:CE(t.fromIndex)?globalThis.Number(t.fromIndex):0,length:CE(t.length)?globalThis.Number(t.length):0}),toJSON(t){const e={};return 0!==t.fromIndex&&(e.fromIndex=Math.round(t.fromIndex)),0!==t.length&&(e.length=Math.round(t.length)),e},create:t=>Og.fromPartial(t??{}),fromPartial(t){const e={fromIndex:0,length:0};return e.fromIndex=t.fromIndex??0,e.length=t.length??0,e}};const Qg={encode:(t,e=new GA)=>(""!==t.provider&&e.uint32(10).string(t.provider),""!==t.parameters&&e.uint32(18).string(t.parameters),""!==t.owner&&e.uint32(26).string(t.owner),0!==t.timestampS&&e.uint32(32).uint32(t.timestampS),""!==t.context&&e.uint32(42).string(t.context),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={provider:"",parameters:"",owner:"",timestampS:0,context:""};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.provider=n.string();continue;case 2:if(18!==t)break;i.parameters=n.string();continue;case 3:if(26!==t)break;i.owner=n.string();continue;case 4:if(32!==t)break;i.timestampS=n.uint32();continue;case 5:if(42!==t)break;i.context=n.string();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({provider:CE(t.provider)?globalThis.String(t.provider):"",parameters:CE(t.parameters)?globalThis.String(t.parameters):"",owner:CE(t.owner)?globalThis.String(t.owner):"",timestampS:CE(t.timestampS)?globalThis.Number(t.timestampS):0,context:CE(t.context)?globalThis.String(t.context):""}),toJSON(t){const e={};return""!==t.provider&&(e.provider=t.provider),""!==t.parameters&&(e.parameters=t.parameters),""!==t.owner&&(e.owner=t.owner),0!==t.timestampS&&(e.timestampS=Math.round(t.timestampS)),""!==t.context&&(e.context=t.context),e},create:t=>Qg.fromPartial(t??{}),fromPartial(t){const e={provider:"",parameters:"",owner:"",timestampS:0,context:""};return e.provider=t.provider??"",e.parameters=t.parameters??"",e.owner=t.owner??"",e.timestampS=t.timestampS??0,e.context=t.context??"",e}};function kg(){return{verificationBundle:new Uint8Array(0),data:void 0,signatures:void 0}}const Ug={encode:(t,e=new GA)=>(0!==t.verificationBundle.length&&e.uint32(10).bytes(t.verificationBundle),void 0!==t.data&&Qg.encode(t.data,e.uint32(18).fork()).join(),void 0!==t.signatures&&Gg.encode(t.signatures,e.uint32(26).fork()).join(),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=kg();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.verificationBundle=n.bytes();continue;case 2:if(18!==t)break;i.data=Qg.decode(n,n.uint32());continue;case 3:if(26!==t)break;i.signatures=Gg.decode(n,n.uint32());continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({verificationBundle:CE(t.verificationBundle)?wE(t.verificationBundle):new Uint8Array(0),data:CE(t.data)?Qg.fromJSON(t.data):void 0,signatures:CE(t.signatures)?Gg.fromJSON(t.signatures):void 0}),toJSON(t){const e={};return 0!==t.verificationBundle.length&&(e.verificationBundle=yE(t.verificationBundle)),void 0!==t.data&&(e.data=Qg.toJSON(t.data)),void 0!==t.signatures&&(e.signatures=Gg.toJSON(t.signatures)),e},create:t=>Ug.fromPartial(t??{}),fromPartial(t){const e=kg();return e.verificationBundle=t.verificationBundle??new Uint8Array(0),e.data=void 0!==t.data&&null!==t.data?Qg.fromPartial(t.data):void 0,e.signatures=void 0!==t.signatures&&null!==t.signatures?Gg.fromPartial(t.signatures):void 0,e}};function Pg(){return{requestSignature:new Uint8Array(0)}}const Gg={encode:(t,e=new GA)=>(0!==t.requestSignature.length&&e.uint32(10).bytes(t.requestSignature),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=Pg();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.requestSignature=n.bytes();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({requestSignature:CE(t.requestSignature)?wE(t.requestSignature):new Uint8Array(0)}),toJSON(t){const e={};return 0!==t.requestSignature.length&&(e.requestSignature=yE(t.requestSignature)),e},create:t=>Gg.fromPartial(t??{}),fromPartial(t){const e=Pg();return e.requestSignature=t.requestSignature??new Uint8Array(0),e}};const Vg={encode:(t,e=new GA)=>(void 0!==t.request&&Ug.encode(t.request,e.uint32(10).fork()).join(),void 0!==t.claim&&Ag.encode(t.claim,e.uint32(18).fork()).join(),void 0!==t.error&&gg.encode(t.error,e.uint32(26).fork()).join(),void 0!==t.signatures&&jg.encode(t.signatures,e.uint32(34).fork()).join(),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={request:void 0,claim:void 0,error:void 0,signatures:void 0};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.request=Ug.decode(n,n.uint32());continue;case 2:if(18!==t)break;i.claim=Ag.decode(n,n.uint32());continue;case 3:if(26!==t)break;i.error=gg.decode(n,n.uint32());continue;case 4:if(34!==t)break;i.signatures=jg.decode(n,n.uint32());continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({request:CE(t.request)?Ug.fromJSON(t.request):void 0,claim:CE(t.claim)?Ag.fromJSON(t.claim):void 0,error:CE(t.error)?gg.fromJSON(t.error):void 0,signatures:CE(t.signatures)?jg.fromJSON(t.signatures):void 0}),toJSON(t){const e={};return void 0!==t.request&&(e.request=Ug.toJSON(t.request)),void 0!==t.claim&&(e.claim=Ag.toJSON(t.claim)),void 0!==t.error&&(e.error=gg.toJSON(t.error)),void 0!==t.signatures&&(e.signatures=jg.toJSON(t.signatures)),e},create:t=>Vg.fromPartial(t??{}),fromPartial(t){const e={request:void 0,claim:void 0,error:void 0,signatures:void 0};return e.request=void 0!==t.request&&null!==t.request?Ug.fromPartial(t.request):void 0,e.claim=void 0!==t.claim&&null!==t.claim?Ag.fromPartial(t.claim):void 0,e.error=void 0!==t.error&&null!==t.error?gg.fromPartial(t.error):void 0,e.signatures=void 0!==t.signatures&&null!==t.signatures?jg.fromPartial(t.signatures):void 0,e}};function Hg(){return{attestorAddress:"",claimSignature:new Uint8Array(0),resultSignature:new Uint8Array(0)}}const jg={encode:(t,e=new GA)=>(""!==t.attestorAddress&&e.uint32(10).string(t.attestorAddress),0!==t.claimSignature.length&&e.uint32(18).bytes(t.claimSignature),0!==t.resultSignature.length&&e.uint32(26).bytes(t.resultSignature),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=Hg();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.attestorAddress=n.string();continue;case 2:if(18!==t)break;i.claimSignature=n.bytes();continue;case 3:if(26!==t)break;i.resultSignature=n.bytes();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({attestorAddress:CE(t.attestorAddress)?globalThis.String(t.attestorAddress):"",claimSignature:CE(t.claimSignature)?wE(t.claimSignature):new Uint8Array(0),resultSignature:CE(t.resultSignature)?wE(t.resultSignature):new Uint8Array(0)}),toJSON(t){const e={};return""!==t.attestorAddress&&(e.attestorAddress=t.attestorAddress),0!==t.claimSignature.length&&(e.claimSignature=yE(t.claimSignature)),0!==t.resultSignature.length&&(e.resultSignature=yE(t.resultSignature)),e},create:t=>jg.fromPartial(t??{}),fromPartial(t){const e=Hg();return e.attestorAddress=t.attestorAddress??"",e.claimSignature=t.claimSignature??new Uint8Array(0),e.resultSignature=t.resultSignature??new Uint8Array(0),e}};function Yg(){return{request:void 0,data:void 0,transcript:[],signatures:void 0,zkEngine:0,fixedServerIV:new Uint8Array(0),fixedClientIV:new Uint8Array(0)}}const zg={encode(t,e=new GA){void 0!==t.request&&Eg.encode(t.request,e.uint32(10).fork()).join(),void 0!==t.data&&Qg.encode(t.data,e.uint32(18).fork()).join();for(const n of t.transcript)Kg.encode(n,e.uint32(26).fork()).join();return void 0!==t.signatures&&Wg.encode(t.signatures,e.uint32(34).fork()).join(),0!==t.zkEngine&&e.uint32(40).int32(t.zkEngine),0!==t.fixedServerIV.length&&e.uint32(50).bytes(t.fixedServerIV),0!==t.fixedClientIV.length&&e.uint32(58).bytes(t.fixedClientIV),e},decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=Yg();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.request=Eg.decode(n,n.uint32());continue;case 2:if(18!==t)break;i.data=Qg.decode(n,n.uint32());continue;case 3:if(26!==t)break;i.transcript.push(Kg.decode(n,n.uint32()));continue;case 4:if(34!==t)break;i.signatures=Wg.decode(n,n.uint32());continue;case 5:if(40!==t)break;i.zkEngine=n.int32();continue;case 6:if(50!==t)break;i.fixedServerIV=n.bytes();continue;case 7:if(58!==t)break;i.fixedClientIV=n.bytes();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({request:CE(t.request)?Eg.fromJSON(t.request):void 0,data:CE(t.data)?Qg.fromJSON(t.data):void 0,transcript:globalThis.Array.isArray(t?.transcript)?t.transcript.map(t=>Kg.fromJSON(t)):[],signatures:CE(t.signatures)?Wg.fromJSON(t.signatures):void 0,zkEngine:CE(t.zkEngine)?pg(t.zkEngine):0,fixedServerIV:CE(t.fixedServerIV)?wE(t.fixedServerIV):new Uint8Array(0),fixedClientIV:CE(t.fixedClientIV)?wE(t.fixedClientIV):new Uint8Array(0)}),toJSON(t){const e={};return void 0!==t.request&&(e.request=Eg.toJSON(t.request)),void 0!==t.data&&(e.data=Qg.toJSON(t.data)),t.transcript?.length&&(e.transcript=t.transcript.map(t=>Kg.toJSON(t))),void 0!==t.signatures&&(e.signatures=Wg.toJSON(t.signatures)),0!==t.zkEngine&&(e.zkEngine=fg(t.zkEngine)),0!==t.fixedServerIV.length&&(e.fixedServerIV=yE(t.fixedServerIV)),0!==t.fixedClientIV.length&&(e.fixedClientIV=yE(t.fixedClientIV)),e},create:t=>zg.fromPartial(t??{}),fromPartial(t){const e=Yg();return e.request=void 0!==t.request&&null!==t.request?Eg.fromPartial(t.request):void 0,e.data=void 0!==t.data&&null!==t.data?Qg.fromPartial(t.data):void 0,e.transcript=t.transcript?.map(t=>Kg.fromPartial(t))||[],e.signatures=void 0!==t.signatures&&null!==t.signatures?Wg.fromPartial(t.signatures):void 0,e.zkEngine=t.zkEngine??0,e.fixedServerIV=t.fixedServerIV??new Uint8Array(0),e.fixedClientIV=t.fixedClientIV??new Uint8Array(0),e}};function Jg(){return{requestSignature:new Uint8Array(0)}}const Wg={encode:(t,e=new GA)=>(0!==t.requestSignature.length&&e.uint32(10).bytes(t.requestSignature),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=Jg();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.requestSignature=n.bytes();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({requestSignature:CE(t.requestSignature)?wE(t.requestSignature):new Uint8Array(0)}),toJSON(t){const e={};return 0!==t.requestSignature.length&&(e.requestSignature=yE(t.requestSignature)),e},create:t=>Wg.fromPartial(t??{}),fromPartial(t){const e=Jg();return e.requestSignature=t.requestSignature??new Uint8Array(0),e}};function qg(){return{sender:0,message:new Uint8Array(0),reveal:void 0}}const Kg={encode:(t,e=new GA)=>(0!==t.sender&&e.uint32(8).int32(t.sender),0!==t.message.length&&e.uint32(18).bytes(t.message),void 0!==t.reveal&&bg.encode(t.reveal,e.uint32(26).fork()).join(),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=qg();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(8!==t)break;i.sender=n.int32();continue;case 2:if(18!==t)break;i.message=n.bytes();continue;case 3:if(26!==t)break;i.reveal=bg.decode(n,n.uint32());continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({sender:CE(t.sender)?qA(t.sender):0,message:CE(t.message)?wE(t.message):new Uint8Array(0),reveal:CE(t.reveal)?bg.fromJSON(t.reveal):void 0}),toJSON(t){const e={};return 0!==t.sender&&(e.sender=function(t){switch(t){case YA:return"TRANSCRIPT_MESSAGE_SENDER_TYPE_UNKNOWN";case zA:return"TRANSCRIPT_MESSAGE_SENDER_TYPE_CLIENT";case JA:return"TRANSCRIPT_MESSAGE_SENDER_TYPE_SERVER";default:return"UNRECOGNIZED"}}(t.sender)),0!==t.message.length&&(e.message=yE(t.message)),void 0!==t.reveal&&(e.reveal=bg.toJSON(t.reveal)),e},create:t=>Kg.fromPartial(t??{}),fromPartial(t){const e=qg();return e.sender=t.sender??0,e.message=t.message??new Uint8Array(0),e.reveal=void 0!==t.reveal&&null!==t.reveal?bg.fromPartial(t.reveal):void 0,e}};const Xg={encode:(t,e=new GA)=>(void 0!==t.request&&zg.encode(t.request,e.uint32(10).fork()).join(),void 0!==t.claim&&Ag.encode(t.claim,e.uint32(18).fork()).join(),void 0!==t.error&&gg.encode(t.error,e.uint32(26).fork()).join(),void 0!==t.signatures&&$g.encode(t.signatures,e.uint32(34).fork()).join(),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={request:void 0,claim:void 0,error:void 0,signatures:void 0};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.request=zg.decode(n,n.uint32());continue;case 2:if(18!==t)break;i.claim=Ag.decode(n,n.uint32());continue;case 3:if(26!==t)break;i.error=gg.decode(n,n.uint32());continue;case 4:if(34!==t)break;i.signatures=$g.decode(n,n.uint32());continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({request:CE(t.request)?zg.fromJSON(t.request):void 0,claim:CE(t.claim)?Ag.fromJSON(t.claim):void 0,error:CE(t.error)?gg.fromJSON(t.error):void 0,signatures:CE(t.signatures)?$g.fromJSON(t.signatures):void 0}),toJSON(t){const e={};return void 0!==t.request&&(e.request=zg.toJSON(t.request)),void 0!==t.claim&&(e.claim=Ag.toJSON(t.claim)),void 0!==t.error&&(e.error=gg.toJSON(t.error)),void 0!==t.signatures&&(e.signatures=$g.toJSON(t.signatures)),e},create:t=>Xg.fromPartial(t??{}),fromPartial(t){const e={request:void 0,claim:void 0,error:void 0,signatures:void 0};return e.request=void 0!==t.request&&null!==t.request?zg.fromPartial(t.request):void 0,e.claim=void 0!==t.claim&&null!==t.claim?Ag.fromPartial(t.claim):void 0,e.error=void 0!==t.error&&null!==t.error?gg.fromPartial(t.error):void 0,e.signatures=void 0!==t.signatures&&null!==t.signatures?$g.fromPartial(t.signatures):void 0,e}};function Zg(){return{attestorAddress:"",claimSignature:new Uint8Array(0),resultSignature:new Uint8Array(0)}}const $g={encode:(t,e=new GA)=>(""!==t.attestorAddress&&e.uint32(10).string(t.attestorAddress),0!==t.claimSignature.length&&e.uint32(18).bytes(t.claimSignature),0!==t.resultSignature.length&&e.uint32(26).bytes(t.resultSignature),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=Zg();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.attestorAddress=n.string();continue;case 2:if(18!==t)break;i.claimSignature=n.bytes();continue;case 3:if(26!==t)break;i.resultSignature=n.bytes();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({attestorAddress:CE(t.attestorAddress)?globalThis.String(t.attestorAddress):"",claimSignature:CE(t.claimSignature)?wE(t.claimSignature):new Uint8Array(0),resultSignature:CE(t.resultSignature)?wE(t.resultSignature):new Uint8Array(0)}),toJSON(t){const e={};return""!==t.attestorAddress&&(e.attestorAddress=t.attestorAddress),0!==t.claimSignature.length&&(e.claimSignature=yE(t.claimSignature)),0!==t.resultSignature.length&&(e.resultSignature=yE(t.resultSignature)),e},create:t=>$g.fromPartial(t??{}),fromPartial(t){const e=Zg();return e.attestorAddress=t.attestorAddress??"",e.claimSignature=t.claimSignature??new Uint8Array(0),e.resultSignature=t.resultSignature??new Uint8Array(0),e}};function tE(){return{chainId:0,jsonCreateClaimRequest:"",requestSignature:new Uint8Array(0)}}const eE={encode:(t,e=new GA)=>(0!==t.chainId&&e.uint32(8).uint32(t.chainId),""!==t.jsonCreateClaimRequest&&e.uint32(18).string(t.jsonCreateClaimRequest),0!==t.requestSignature.length&&e.uint32(26).bytes(t.requestSignature),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=tE();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(8!==t)break;i.chainId=n.uint32();continue;case 2:if(18!==t)break;i.jsonCreateClaimRequest=n.string();continue;case 3:if(26!==t)break;i.requestSignature=n.bytes();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({chainId:CE(t.chainId)?globalThis.Number(t.chainId):0,jsonCreateClaimRequest:CE(t.jsonCreateClaimRequest)?globalThis.String(t.jsonCreateClaimRequest):"",requestSignature:CE(t.requestSignature)?wE(t.requestSignature):new Uint8Array(0)}),toJSON(t){const e={};return 0!==t.chainId&&(e.chainId=Math.round(t.chainId)),""!==t.jsonCreateClaimRequest&&(e.jsonCreateClaimRequest=t.jsonCreateClaimRequest),0!==t.requestSignature.length&&(e.requestSignature=yE(t.requestSignature)),e},create:t=>eE.fromPartial(t??{}),fromPartial(t){const e=tE();return e.chainId=t.chainId??0,e.jsonCreateClaimRequest=t.jsonCreateClaimRequest??"",e.requestSignature=t.requestSignature??new Uint8Array(0),e}};const nE={encode:(t,e=new GA)=>(""!==t.txHash&&e.uint32(10).string(t.txHash),0!==t.taskIndex&&e.uint32(16).uint32(t.taskIndex),""!==t.jsonTask&&e.uint32(26).string(t.jsonTask),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={txHash:"",taskIndex:0,jsonTask:""};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.txHash=n.string();continue;case 2:if(16!==t)break;i.taskIndex=n.uint32();continue;case 3:if(26!==t)break;i.jsonTask=n.string();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({txHash:CE(t.txHash)?globalThis.String(t.txHash):"",taskIndex:CE(t.taskIndex)?globalThis.Number(t.taskIndex):0,jsonTask:CE(t.jsonTask)?globalThis.String(t.jsonTask):""}),toJSON(t){const e={};return""!==t.txHash&&(e.txHash=t.txHash),0!==t.taskIndex&&(e.taskIndex=Math.round(t.taskIndex)),""!==t.jsonTask&&(e.jsonTask=t.jsonTask),e},create:t=>nE.fromPartial(t??{}),fromPartial(t){const e={txHash:"",taskIndex:0,jsonTask:""};return e.txHash=t.txHash??"",e.taskIndex=t.taskIndex??0,e.jsonTask=t.jsonTask??"",e}};const rE={encode:(t,e=new GA)=>(0!==t.chainId&&e.uint32(8).uint32(t.chainId),0!==t.taskIndex&&e.uint32(16).uint32(t.taskIndex),""!==t.completedTaskJson&&e.uint32(26).string(t.completedTaskJson),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={chainId:0,taskIndex:0,completedTaskJson:""};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(8!==t)break;i.chainId=n.uint32();continue;case 2:if(16!==t)break;i.taskIndex=n.uint32();continue;case 3:if(26!==t)break;i.completedTaskJson=n.string();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({chainId:CE(t.chainId)?globalThis.Number(t.chainId):0,taskIndex:CE(t.taskIndex)?globalThis.Number(t.taskIndex):0,completedTaskJson:CE(t.completedTaskJson)?globalThis.String(t.completedTaskJson):""}),toJSON(t){const e={};return 0!==t.chainId&&(e.chainId=Math.round(t.chainId)),0!==t.taskIndex&&(e.taskIndex=Math.round(t.taskIndex)),""!==t.completedTaskJson&&(e.completedTaskJson=t.completedTaskJson),e},create:t=>rE.fromPartial(t??{}),fromPartial(t){const e={chainId:0,taskIndex:0,completedTaskJson:""};return e.chainId=t.chainId??0,e.taskIndex=t.taskIndex??0,e.completedTaskJson=t.completedTaskJson??"",e}};const iE={encode:(t,e=new GA)=>(""!==t.txHash&&e.uint32(10).string(t.txHash),""!==t.taskCompletedObjectJson&&e.uint32(18).string(t.taskCompletedObjectJson),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={txHash:"",taskCompletedObjectJson:""};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.txHash=n.string();continue;case 2:if(18!==t)break;i.taskCompletedObjectJson=n.string();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({txHash:CE(t.txHash)?globalThis.String(t.txHash):"",taskCompletedObjectJson:CE(t.taskCompletedObjectJson)?globalThis.String(t.taskCompletedObjectJson):""}),toJSON(t){const e={};return""!==t.txHash&&(e.txHash=t.txHash),""!==t.taskCompletedObjectJson&&(e.taskCompletedObjectJson=t.taskCompletedObjectJson),e},create:t=>iE.fromPartial(t??{}),fromPartial(t){const e={txHash:"",taskCompletedObjectJson:""};return e.txHash=t.txHash??"",e.taskCompletedObjectJson=t.taskCompletedObjectJson??"",e}};const oE={encode:(t,e=new GA)=>(0!==t.timestamp&&e.uint32(8).uint32(t.timestamp),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={timestamp:0};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(8!==t)break;i.timestamp=n.uint32();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({timestamp:CE(t.timestamp)?globalThis.Number(t.timestamp):0}),toJSON(t){const e={};return 0!==t.timestamp&&(e.timestamp=Math.round(t.timestamp)),e},create:t=>oE.fromPartial(t??{}),fromPartial(t){const e={timestamp:0};return e.timestamp=t.timestamp??0,e}};const sE={encode(t,e=new GA){0!==t.taskId&&e.uint32(8).uint32(t.taskId),0!==t.requiredAttestors&&e.uint32(16).uint32(t.requiredAttestors);for(const n of t.hosts)e.uint32(26).string(n);return e},decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={taskId:0,requiredAttestors:0,hosts:[]};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(8!==t)break;i.taskId=n.uint32();continue;case 2:if(16!==t)break;i.requiredAttestors=n.uint32();continue;case 3:if(26!==t)break;i.hosts.push(n.string());continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({taskId:CE(t.taskId)?globalThis.Number(t.taskId):0,requiredAttestors:CE(t.requiredAttestors)?globalThis.Number(t.requiredAttestors):0,hosts:globalThis.Array.isArray(t?.hosts)?t.hosts.map(t=>globalThis.String(t)):[]}),toJSON(t){const e={};return 0!==t.taskId&&(e.taskId=Math.round(t.taskId)),0!==t.requiredAttestors&&(e.requiredAttestors=Math.round(t.requiredAttestors)),t.hosts?.length&&(e.hosts=t.hosts),e},create:t=>sE.fromPartial(t??{}),fromPartial(t){const e={taskId:0,requiredAttestors:0,hosts:[]};return e.taskId=t.taskId??0,e.requiredAttestors=t.requiredAttestors??0,e.hosts=t.hosts?.map(t=>t)||[],e}};const aE={encode(t,e=new GA){""!==t.id&&e.uint32(10).string(t.id),0!==t.createdAt&&e.uint32(16).uint32(t.createdAt),0!==t.expiresAt&&e.uint32(24).uint32(t.expiresAt);for(const n of t.hostWhitelist)e.uint32(34).string(n);return e},decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={id:"",createdAt:0,expiresAt:0,hostWhitelist:[]};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.id=n.string();continue;case 2:if(16!==t)break;i.createdAt=n.uint32();continue;case 3:if(24!==t)break;i.expiresAt=n.uint32();continue;case 4:if(34!==t)break;i.hostWhitelist.push(n.string());continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({id:CE(t.id)?globalThis.String(t.id):"",createdAt:CE(t.createdAt)?globalThis.Number(t.createdAt):0,expiresAt:CE(t.expiresAt)?globalThis.Number(t.expiresAt):0,hostWhitelist:globalThis.Array.isArray(t?.hostWhitelist)?t.hostWhitelist.map(t=>globalThis.String(t)):[]}),toJSON(t){const e={};return""!==t.id&&(e.id=t.id),0!==t.createdAt&&(e.createdAt=Math.round(t.createdAt)),0!==t.expiresAt&&(e.expiresAt=Math.round(t.expiresAt)),t.hostWhitelist?.length&&(e.hostWhitelist=t.hostWhitelist),e},create:t=>aE.fromPartial(t??{}),fromPartial(t){const e={id:"",createdAt:0,expiresAt:0,hostWhitelist:[]};return e.id=t.id??"",e.createdAt=t.createdAt??0,e.expiresAt=t.expiresAt??0,e.hostWhitelist=t.hostWhitelist?.map(t=>t)||[],e}};function cE(){return{data:void 0,signature:new Uint8Array(0)}}const lE={encode:(t,e=new GA)=>(void 0!==t.data&&aE.encode(t.data,e.uint32(10).fork()).join(),0!==t.signature.length&&e.uint32(18).bytes(t.signature),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=cE();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.data=aE.decode(n,n.uint32());continue;case 2:if(18!==t)break;i.signature=n.bytes();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({data:CE(t.data)?aE.fromJSON(t.data):void 0,signature:CE(t.signature)?wE(t.signature):new Uint8Array(0)}),toJSON(t){const e={};return void 0!==t.data&&(e.data=aE.toJSON(t.data)),0!==t.signature.length&&(e.signature=yE(t.signature)),e},create:t=>lE.fromPartial(t??{}),fromPartial(t){const e=cE();return e.data=void 0!==t.data&&null!==t.data?aE.fromPartial(t.data):void 0,e.signature=t.signature??new Uint8Array(0),e}};const uE={encode:(t,e=new GA)=>(0!==t.clientVersion&&e.uint32(16).int32(t.clientVersion),0!==t.signatureType&&e.uint32(24).int32(t.signatureType),void 0!==t.auth&&lE.encode(t.auth,e.uint32(34).fork()).join(),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={clientVersion:0,signatureType:0,auth:void 0};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 2:if(16!==t)break;i.clientVersion=n.int32();continue;case 3:if(24!==t)break;i.signatureType=n.int32();continue;case 4:if(34!==t)break;i.auth=lE.decode(n,n.uint32());continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({clientVersion:CE(t.clientVersion)?ag(t.clientVersion):0,signatureType:CE(t.signatureType)?$A(t.signatureType):0,auth:CE(t.auth)?lE.fromJSON(t.auth):void 0}),toJSON(t){const e={};return 0!==t.clientVersion&&(e.clientVersion=function(t){switch(t){case tg:return"ATTESTOR_VERSION_UNKNOWN";case eg:return"ATTESTOR_VERSION_1_0_0";case ng:return"ATTESTOR_VERSION_1_1_0";case rg:return"ATTESTOR_VERSION_2_0_0";case ig:return"ATTESTOR_VERSION_2_0_1";case og:return"ATTESTOR_VERSION_3_0_0";default:return"UNRECOGNIZED"}}(t.clientVersion)),0!==t.signatureType&&(e.signatureType=function(t){switch(t){case KA:return"SERVICE_SIGNATURE_TYPE_UNKNOWN";case XA:return"SERVICE_SIGNATURE_TYPE_ETH";default:return"UNRECOGNIZED"}}(t.signatureType)),void 0!==t.auth&&(e.auth=lE.toJSON(t.auth)),e},create:t=>uE.fromPartial(t??{}),fromPartial(t){const e={clientVersion:0,signatureType:0,auth:void 0};return e.clientVersion=t.clientVersion??0,e.signatureType=t.signatureType??0,e.auth=void 0!==t.auth&&null!==t.auth?lE.fromPartial(t.auth):void 0,e}};function hE(){return{toprfPublicKey:new Uint8Array(0)}}const dE={encode:(t,e=new GA)=>(0!==t.toprfPublicKey.length&&e.uint32(10).bytes(t.toprfPublicKey),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=hE();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.toprfPublicKey=n.bytes();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({toprfPublicKey:CE(t.toprfPublicKey)?wE(t.toprfPublicKey):new Uint8Array(0)}),toJSON(t){const e={};return 0!==t.toprfPublicKey.length&&(e.toprfPublicKey=yE(t.toprfPublicKey)),e},create:t=>dE.fromPartial(t??{}),fromPartial(t){const e=hE();return e.toprfPublicKey=t.toprfPublicKey??new Uint8Array(0),e}};function pE(){return{maskedData:new Uint8Array(0),engine:0}}const fE={encode:(t,e=new GA)=>(0!==t.maskedData.length&&e.uint32(10).bytes(t.maskedData),0!==t.engine&&e.uint32(16).int32(t.engine),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=pE();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.maskedData=n.bytes();continue;case 2:if(16!==t)break;i.engine=n.int32();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({maskedData:CE(t.maskedData)?wE(t.maskedData):new Uint8Array(0),engine:CE(t.engine)?pg(t.engine):0}),toJSON(t){const e={};return 0!==t.maskedData.length&&(e.maskedData=yE(t.maskedData)),0!==t.engine&&(e.engine=fg(t.engine)),e},create:t=>fE.fromPartial(t??{}),fromPartial(t){const e=pE();return e.maskedData=t.maskedData??new Uint8Array(0),e.engine=t.engine??0,e}};function AE(){return{publicKeyShare:new Uint8Array(0),evaluated:new Uint8Array(0),c:new Uint8Array(0),r:new Uint8Array(0)}}const gE={encode:(t,e=new GA)=>(0!==t.publicKeyShare.length&&e.uint32(10).bytes(t.publicKeyShare),0!==t.evaluated.length&&e.uint32(18).bytes(t.evaluated),0!==t.c.length&&e.uint32(26).bytes(t.c),0!==t.r.length&&e.uint32(34).bytes(t.r),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i=AE();for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.publicKeyShare=n.bytes();continue;case 2:if(18!==t)break;i.evaluated=n.bytes();continue;case 3:if(26!==t)break;i.c=n.bytes();continue;case 4:if(34!==t)break;i.r=n.bytes();continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({publicKeyShare:CE(t.publicKeyShare)?wE(t.publicKeyShare):new Uint8Array(0),evaluated:CE(t.evaluated)?wE(t.evaluated):new Uint8Array(0),c:CE(t.c)?wE(t.c):new Uint8Array(0),r:CE(t.r)?wE(t.r):new Uint8Array(0)}),toJSON(t){const e={};return 0!==t.publicKeyShare.length&&(e.publicKeyShare=yE(t.publicKeyShare)),0!==t.evaluated.length&&(e.evaluated=yE(t.evaluated)),0!==t.c.length&&(e.c=yE(t.c)),0!==t.r.length&&(e.r=yE(t.r)),e},create:t=>gE.fromPartial(t??{}),fromPartial(t){const e=AE();return e.publicKeyShare=t.publicKeyShare??new Uint8Array(0),e.evaluated=t.evaluated??new Uint8Array(0),e.c=t.c??new Uint8Array(0),e.r=t.r??new Uint8Array(0),e}};const EE={encode:(t,e=new GA)=>(0!==t.id&&e.uint32(8).uint64(t.id),void 0!==t.initRequest&&uE.encode(t.initRequest,e.uint32(18).fork()).join(),void 0!==t.initResponse&&dE.encode(t.initResponse,e.uint32(26).fork()).join(),void 0!==t.connectionTerminationAlert&&gg.encode(t.connectionTerminationAlert,e.uint32(34).fork()).join(),void 0!==t.requestError&&gg.encode(t.requestError,e.uint32(42).fork()).join(),void 0!==t.createTunnelRequest&&Eg.encode(t.createTunnelRequest,e.uint32(50).fork()).join(),void 0!==t.createTunnelResponse&&Cg.encode(t.createTunnelResponse,e.uint32(58).fork()).join(),void 0!==t.disconnectTunnelRequest&&Ig.encode(t.disconnectTunnelRequest,e.uint32(66).fork()).join(),void 0!==t.disconnectTunnelResponse&&Cg.encode(t.disconnectTunnelResponse,e.uint32(74).fork()).join(),void 0!==t.tunnelMessage&&Tg.encode(t.tunnelMessage,e.uint32(82).fork()).join(),void 0!==t.tunnelDisconnectEvent&&Dg.encode(t.tunnelDisconnectEvent,e.uint32(90).fork()).join(),void 0!==t.claimTunnelRequest&&zg.encode(t.claimTunnelRequest,e.uint32(98).fork()).join(),void 0!==t.claimTunnelResponse&&Xg.encode(t.claimTunnelResponse,e.uint32(106).fork()).join(),void 0!==t.createClaimOnChainRequest&&eE.encode(t.createClaimOnChainRequest,e.uint32(114).fork()).join(),void 0!==t.createClaimOnChainResponse&&nE.encode(t.createClaimOnChainResponse,e.uint32(122).fork()).join(),void 0!==t.completeClaimOnChainRequest&&rE.encode(t.completeClaimOnChainRequest,e.uint32(130).fork()).join(),void 0!==t.completeClaimOnChainResponse&&iE.encode(t.completeClaimOnChainResponse,e.uint32(138).fork()).join(),void 0!==t.toprfRequest&&fE.encode(t.toprfRequest,e.uint32(146).fork()).join(),void 0!==t.toprfResponse&&gE.encode(t.toprfResponse,e.uint32(154).fork()).join(),void 0!==t.createTaskOnMechainRequest&&oE.encode(t.createTaskOnMechainRequest,e.uint32(162).fork()).join(),void 0!==t.createTaskOnMechainResponse&&sE.encode(t.createTaskOnMechainResponse,e.uint32(170).fork()).join(),void 0!==t.claimTeeBundleRequest&&Ug.encode(t.claimTeeBundleRequest,e.uint32(178).fork()).join(),void 0!==t.claimTeeBundleResponse&&Vg.encode(t.claimTeeBundleResponse,e.uint32(186).fork()).join(),void 0!==t.fetchCertificateBytesRequest&&mg.encode(t.fetchCertificateBytesRequest,e.uint32(194).fork()).join(),void 0!==t.fetchCertificateBytesResponse&&yg.encode(t.fetchCertificateBytesResponse,e.uint32(202).fork()).join(),e),decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={id:0,initRequest:void 0,initResponse:void 0,connectionTerminationAlert:void 0,requestError:void 0,createTunnelRequest:void 0,createTunnelResponse:void 0,disconnectTunnelRequest:void 0,disconnectTunnelResponse:void 0,tunnelMessage:void 0,tunnelDisconnectEvent:void 0,claimTunnelRequest:void 0,claimTunnelResponse:void 0,createClaimOnChainRequest:void 0,createClaimOnChainResponse:void 0,completeClaimOnChainRequest:void 0,completeClaimOnChainResponse:void 0,toprfRequest:void 0,toprfResponse:void 0,createTaskOnMechainRequest:void 0,createTaskOnMechainResponse:void 0,claimTeeBundleRequest:void 0,claimTeeBundleResponse:void 0,fetchCertificateBytesRequest:void 0,fetchCertificateBytesResponse:void 0};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(8!==t)break;i.id=IE(n.uint64());continue;case 2:if(18!==t)break;i.initRequest=uE.decode(n,n.uint32());continue;case 3:if(26!==t)break;i.initResponse=dE.decode(n,n.uint32());continue;case 4:if(34!==t)break;i.connectionTerminationAlert=gg.decode(n,n.uint32());continue;case 5:if(42!==t)break;i.requestError=gg.decode(n,n.uint32());continue;case 6:if(50!==t)break;i.createTunnelRequest=Eg.decode(n,n.uint32());continue;case 7:if(58!==t)break;i.createTunnelResponse=Cg.decode(n,n.uint32());continue;case 8:if(66!==t)break;i.disconnectTunnelRequest=Ig.decode(n,n.uint32());continue;case 9:if(74!==t)break;i.disconnectTunnelResponse=Cg.decode(n,n.uint32());continue;case 10:if(82!==t)break;i.tunnelMessage=Tg.decode(n,n.uint32());continue;case 11:if(90!==t)break;i.tunnelDisconnectEvent=Dg.decode(n,n.uint32());continue;case 12:if(98!==t)break;i.claimTunnelRequest=zg.decode(n,n.uint32());continue;case 13:if(106!==t)break;i.claimTunnelResponse=Xg.decode(n,n.uint32());continue;case 14:if(114!==t)break;i.createClaimOnChainRequest=eE.decode(n,n.uint32());continue;case 15:if(122!==t)break;i.createClaimOnChainResponse=nE.decode(n,n.uint32());continue;case 16:if(130!==t)break;i.completeClaimOnChainRequest=rE.decode(n,n.uint32());continue;case 17:if(138!==t)break;i.completeClaimOnChainResponse=iE.decode(n,n.uint32());continue;case 18:if(146!==t)break;i.toprfRequest=fE.decode(n,n.uint32());continue;case 19:if(154!==t)break;i.toprfResponse=gE.decode(n,n.uint32());continue;case 20:if(162!==t)break;i.createTaskOnMechainRequest=oE.decode(n,n.uint32());continue;case 21:if(170!==t)break;i.createTaskOnMechainResponse=sE.decode(n,n.uint32());continue;case 22:if(178!==t)break;i.claimTeeBundleRequest=Ug.decode(n,n.uint32());continue;case 23:if(186!==t)break;i.claimTeeBundleResponse=Vg.decode(n,n.uint32());continue;case 24:if(194!==t)break;i.fetchCertificateBytesRequest=mg.decode(n,n.uint32());continue;case 25:if(202!==t)break;i.fetchCertificateBytesResponse=yg.decode(n,n.uint32());continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({id:CE(t.id)?globalThis.Number(t.id):0,initRequest:CE(t.initRequest)?uE.fromJSON(t.initRequest):void 0,initResponse:CE(t.initResponse)?dE.fromJSON(t.initResponse):void 0,connectionTerminationAlert:CE(t.connectionTerminationAlert)?gg.fromJSON(t.connectionTerminationAlert):void 0,requestError:CE(t.requestError)?gg.fromJSON(t.requestError):void 0,createTunnelRequest:CE(t.createTunnelRequest)?Eg.fromJSON(t.createTunnelRequest):void 0,createTunnelResponse:CE(t.createTunnelResponse)?Cg.fromJSON(t.createTunnelResponse):void 0,disconnectTunnelRequest:CE(t.disconnectTunnelRequest)?Ig.fromJSON(t.disconnectTunnelRequest):void 0,disconnectTunnelResponse:CE(t.disconnectTunnelResponse)?Cg.fromJSON(t.disconnectTunnelResponse):void 0,tunnelMessage:CE(t.tunnelMessage)?Tg.fromJSON(t.tunnelMessage):void 0,tunnelDisconnectEvent:CE(t.tunnelDisconnectEvent)?Dg.fromJSON(t.tunnelDisconnectEvent):void 0,claimTunnelRequest:CE(t.claimTunnelRequest)?zg.fromJSON(t.claimTunnelRequest):void 0,claimTunnelResponse:CE(t.claimTunnelResponse)?Xg.fromJSON(t.claimTunnelResponse):void 0,createClaimOnChainRequest:CE(t.createClaimOnChainRequest)?eE.fromJSON(t.createClaimOnChainRequest):void 0,createClaimOnChainResponse:CE(t.createClaimOnChainResponse)?nE.fromJSON(t.createClaimOnChainResponse):void 0,completeClaimOnChainRequest:CE(t.completeClaimOnChainRequest)?rE.fromJSON(t.completeClaimOnChainRequest):void 0,completeClaimOnChainResponse:CE(t.completeClaimOnChainResponse)?iE.fromJSON(t.completeClaimOnChainResponse):void 0,toprfRequest:CE(t.toprfRequest)?fE.fromJSON(t.toprfRequest):void 0,toprfResponse:CE(t.toprfResponse)?gE.fromJSON(t.toprfResponse):void 0,createTaskOnMechainRequest:CE(t.createTaskOnMechainRequest)?oE.fromJSON(t.createTaskOnMechainRequest):void 0,createTaskOnMechainResponse:CE(t.createTaskOnMechainResponse)?sE.fromJSON(t.createTaskOnMechainResponse):void 0,claimTeeBundleRequest:CE(t.claimTeeBundleRequest)?Ug.fromJSON(t.claimTeeBundleRequest):void 0,claimTeeBundleResponse:CE(t.claimTeeBundleResponse)?Vg.fromJSON(t.claimTeeBundleResponse):void 0,fetchCertificateBytesRequest:CE(t.fetchCertificateBytesRequest)?mg.fromJSON(t.fetchCertificateBytesRequest):void 0,fetchCertificateBytesResponse:CE(t.fetchCertificateBytesResponse)?yg.fromJSON(t.fetchCertificateBytesResponse):void 0}),toJSON(t){const e={};return 0!==t.id&&(e.id=Math.round(t.id)),void 0!==t.initRequest&&(e.initRequest=uE.toJSON(t.initRequest)),void 0!==t.initResponse&&(e.initResponse=dE.toJSON(t.initResponse)),void 0!==t.connectionTerminationAlert&&(e.connectionTerminationAlert=gg.toJSON(t.connectionTerminationAlert)),void 0!==t.requestError&&(e.requestError=gg.toJSON(t.requestError)),void 0!==t.createTunnelRequest&&(e.createTunnelRequest=Eg.toJSON(t.createTunnelRequest)),void 0!==t.createTunnelResponse&&(e.createTunnelResponse=Cg.toJSON(t.createTunnelResponse)),void 0!==t.disconnectTunnelRequest&&(e.disconnectTunnelRequest=Ig.toJSON(t.disconnectTunnelRequest)),void 0!==t.disconnectTunnelResponse&&(e.disconnectTunnelResponse=Cg.toJSON(t.disconnectTunnelResponse)),void 0!==t.tunnelMessage&&(e.tunnelMessage=Tg.toJSON(t.tunnelMessage)),void 0!==t.tunnelDisconnectEvent&&(e.tunnelDisconnectEvent=Dg.toJSON(t.tunnelDisconnectEvent)),void 0!==t.claimTunnelRequest&&(e.claimTunnelRequest=zg.toJSON(t.claimTunnelRequest)),void 0!==t.claimTunnelResponse&&(e.claimTunnelResponse=Xg.toJSON(t.claimTunnelResponse)),void 0!==t.createClaimOnChainRequest&&(e.createClaimOnChainRequest=eE.toJSON(t.createClaimOnChainRequest)),void 0!==t.createClaimOnChainResponse&&(e.createClaimOnChainResponse=nE.toJSON(t.createClaimOnChainResponse)),void 0!==t.completeClaimOnChainRequest&&(e.completeClaimOnChainRequest=rE.toJSON(t.completeClaimOnChainRequest)),void 0!==t.completeClaimOnChainResponse&&(e.completeClaimOnChainResponse=iE.toJSON(t.completeClaimOnChainResponse)),void 0!==t.toprfRequest&&(e.toprfRequest=fE.toJSON(t.toprfRequest)),void 0!==t.toprfResponse&&(e.toprfResponse=gE.toJSON(t.toprfResponse)),void 0!==t.createTaskOnMechainRequest&&(e.createTaskOnMechainRequest=oE.toJSON(t.createTaskOnMechainRequest)),void 0!==t.createTaskOnMechainResponse&&(e.createTaskOnMechainResponse=sE.toJSON(t.createTaskOnMechainResponse)),void 0!==t.claimTeeBundleRequest&&(e.claimTeeBundleRequest=Ug.toJSON(t.claimTeeBundleRequest)),void 0!==t.claimTeeBundleResponse&&(e.claimTeeBundleResponse=Vg.toJSON(t.claimTeeBundleResponse)),void 0!==t.fetchCertificateBytesRequest&&(e.fetchCertificateBytesRequest=mg.toJSON(t.fetchCertificateBytesRequest)),void 0!==t.fetchCertificateBytesResponse&&(e.fetchCertificateBytesResponse=yg.toJSON(t.fetchCertificateBytesResponse)),e},create:t=>EE.fromPartial(t??{}),fromPartial(t){const e={id:0,initRequest:void 0,initResponse:void 0,connectionTerminationAlert:void 0,requestError:void 0,createTunnelRequest:void 0,createTunnelResponse:void 0,disconnectTunnelRequest:void 0,disconnectTunnelResponse:void 0,tunnelMessage:void 0,tunnelDisconnectEvent:void 0,claimTunnelRequest:void 0,claimTunnelResponse:void 0,createClaimOnChainRequest:void 0,createClaimOnChainResponse:void 0,completeClaimOnChainRequest:void 0,completeClaimOnChainResponse:void 0,toprfRequest:void 0,toprfResponse:void 0,createTaskOnMechainRequest:void 0,createTaskOnMechainResponse:void 0,claimTeeBundleRequest:void 0,claimTeeBundleResponse:void 0,fetchCertificateBytesRequest:void 0,fetchCertificateBytesResponse:void 0};return e.id=t.id??0,e.initRequest=void 0!==t.initRequest&&null!==t.initRequest?uE.fromPartial(t.initRequest):void 0,e.initResponse=void 0!==t.initResponse&&null!==t.initResponse?dE.fromPartial(t.initResponse):void 0,e.connectionTerminationAlert=void 0!==t.connectionTerminationAlert&&null!==t.connectionTerminationAlert?gg.fromPartial(t.connectionTerminationAlert):void 0,e.requestError=void 0!==t.requestError&&null!==t.requestError?gg.fromPartial(t.requestError):void 0,e.createTunnelRequest=void 0!==t.createTunnelRequest&&null!==t.createTunnelRequest?Eg.fromPartial(t.createTunnelRequest):void 0,e.createTunnelResponse=void 0!==t.createTunnelResponse&&null!==t.createTunnelResponse?Cg.fromPartial(t.createTunnelResponse):void 0,e.disconnectTunnelRequest=void 0!==t.disconnectTunnelRequest&&null!==t.disconnectTunnelRequest?Ig.fromPartial(t.disconnectTunnelRequest):void 0,e.disconnectTunnelResponse=void 0!==t.disconnectTunnelResponse&&null!==t.disconnectTunnelResponse?Cg.fromPartial(t.disconnectTunnelResponse):void 0,e.tunnelMessage=void 0!==t.tunnelMessage&&null!==t.tunnelMessage?Tg.fromPartial(t.tunnelMessage):void 0,e.tunnelDisconnectEvent=void 0!==t.tunnelDisconnectEvent&&null!==t.tunnelDisconnectEvent?Dg.fromPartial(t.tunnelDisconnectEvent):void 0,e.claimTunnelRequest=void 0!==t.claimTunnelRequest&&null!==t.claimTunnelRequest?zg.fromPartial(t.claimTunnelRequest):void 0,e.claimTunnelResponse=void 0!==t.claimTunnelResponse&&null!==t.claimTunnelResponse?Xg.fromPartial(t.claimTunnelResponse):void 0,e.createClaimOnChainRequest=void 0!==t.createClaimOnChainRequest&&null!==t.createClaimOnChainRequest?eE.fromPartial(t.createClaimOnChainRequest):void 0,e.createClaimOnChainResponse=void 0!==t.createClaimOnChainResponse&&null!==t.createClaimOnChainResponse?nE.fromPartial(t.createClaimOnChainResponse):void 0,e.completeClaimOnChainRequest=void 0!==t.completeClaimOnChainRequest&&null!==t.completeClaimOnChainRequest?rE.fromPartial(t.completeClaimOnChainRequest):void 0,e.completeClaimOnChainResponse=void 0!==t.completeClaimOnChainResponse&&null!==t.completeClaimOnChainResponse?iE.fromPartial(t.completeClaimOnChainResponse):void 0,e.toprfRequest=void 0!==t.toprfRequest&&null!==t.toprfRequest?fE.fromPartial(t.toprfRequest):void 0,e.toprfResponse=void 0!==t.toprfResponse&&null!==t.toprfResponse?gE.fromPartial(t.toprfResponse):void 0,e.createTaskOnMechainRequest=void 0!==t.createTaskOnMechainRequest&&null!==t.createTaskOnMechainRequest?oE.fromPartial(t.createTaskOnMechainRequest):void 0,e.createTaskOnMechainResponse=void 0!==t.createTaskOnMechainResponse&&null!==t.createTaskOnMechainResponse?sE.fromPartial(t.createTaskOnMechainResponse):void 0,e.claimTeeBundleRequest=void 0!==t.claimTeeBundleRequest&&null!==t.claimTeeBundleRequest?Ug.fromPartial(t.claimTeeBundleRequest):void 0,e.claimTeeBundleResponse=void 0!==t.claimTeeBundleResponse&&null!==t.claimTeeBundleResponse?Vg.fromPartial(t.claimTeeBundleResponse):void 0,e.fetchCertificateBytesRequest=void 0!==t.fetchCertificateBytesRequest&&null!==t.fetchCertificateBytesRequest?mg.fromPartial(t.fetchCertificateBytesRequest):void 0,e.fetchCertificateBytesResponse=void 0!==t.fetchCertificateBytesResponse&&null!==t.fetchCertificateBytesResponse?yg.fromPartial(t.fetchCertificateBytesResponse):void 0,e}};const mE={encode(t,e=new GA){for(const n of t.messages)EE.encode(n,e.uint32(10).fork()).join();return e},decode(t,e){const n=t instanceof VA?t:new VA(t);let r=void 0===e?n.len:n.pos+e;const i={messages:[]};for(;n.pos<r;){const t=n.uint32();switch(t>>>3){case 1:if(10!==t)break;i.messages.push(EE.decode(n,n.uint32()));continue}if(4==(7&t)||0===t)break;n.skip(7&t)}return i},fromJSON:t=>({messages:globalThis.Array.isArray(t?.messages)?t.messages.map(t=>EE.fromJSON(t)):[]}),toJSON(t){const e={};return t.messages?.length&&(e.messages=t.messages.map(t=>EE.toJSON(t))),e},create:t=>mE.fromPartial(t??{}),fromPartial(t){const e={messages:[]};return e.messages=t.messages?.map(t=>EE.fromPartial(t))||[],e}};function wE(t){if(globalThis.Buffer)return Uint8Array.from(globalThis.Buffer.from(t,"base64"));{const e=globalThis.atob(t),n=new Uint8Array(e.length);for(let t=0;t<e.length;++t)n[t]=e.charCodeAt(t);return n}}function yE(t){if(globalThis.Buffer)return globalThis.Buffer.from(t).toString("base64");{const e=[];return t.forEach(t=>{e.push(globalThis.String.fromCharCode(t))}),globalThis.btoa(e.join(""))}}function IE(t){const e=globalThis.Number(t.toString());if(e>globalThis.Number.MAX_SAFE_INTEGER)throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");if(e<globalThis.Number.MIN_SAFE_INTEGER)throw new globalThis.Error("Value is smaller than Number.MIN_SAFE_INTEGER");return e}function CE(t){return null!=t}const BE=443,TE="/browser-rpc/resources",DE={signatureType:XA,clientVersion:og,auth:void 0},bE={version:og},ME=9e4,NE="joclaim-toprf";s(8287).hp;const vE="*".charCodeAt(0);function SE(t){return"number"==typeof t?new Uint32Array(t):Uint32Array.from(t)}function _E(t){const e=[];for(const n of t)for(let t=0;t<8;t++)n>>7-t&1?e.push(1):e.push(0);return e}function LE(t){const e=new Uint8Array(t.length/8);for(let n=0;n<t.length;n+=8)e[n/8]=OE(t.slice(n,n+8));return e}function xE(t,...e){const{uint8ArrayToBits:n}=PE[t],r=[];for(const i of e)"number"==typeof i?r.push(...RE(t,i)):r.push(...n(i));return r}function RE(t,e){const{uint8ArrayToBits:n,isLittleEndian:r}=PE[t],i=new Uint8Array(4);return new DataView(i.buffer).setUint32(0,e,r),n(function(t,e){const{isLittleEndian:n}=PE[t],r=new Uint8Array(4),i=new DataView(r.buffer);return i.setUint32(0,e,n),r}(t,e)).flat()}function FE(t,e=32){const n=[];for(let r=2**(e-1);r>=1;r/=2){const e=t>=r?1:0;n.push(e),t-=e*r}return n}function OE(t){let e=0,n=2**(t.length-1);for(const r of t)e+=r*n,n/=2;return e}function QE(t){const{chunkSize:e,bitsPerWord:n,blocksPerChunk:r}=PE[t];return e*n/(8*r)}function kE(t,e,n){const r=QE(t),i=[];for(let t=0;t<e.length;t+=r)i.push({iv:n,ciphertext:e.slice(t,t+r),offsetBytes:t});return i}function UE(t,e){const n=QE(e);return Math.ceil(t/n)*n}const PE={chacha20:{index:0,chunkSize:32,bitsPerWord:32,keySizeBytes:32,ivSizeBytes:12,startCounter:1,blocksPerChunk:2,isLittleEndian:!0,uint8ArrayToBits:t=>function(t){const e=[];for(const n of t)e.push(FE(n));return e}(function(t){const e=SE(t.length/4),n=new DataView(t.buffer,t.byteOffset,t.byteLength);for(let t=0;t<e.length;t++)e[t]=n.getUint32(4*t,!0);return e}(t)).flat(),bitsToUint8Array:t=>{const e=function(t){const e=new Uint32Array(t.length/32);for(let n=0;n<t.length;n+=32)e[n/32]=OE(t.slice(n,n+32));return e}(t);return function(t){const e=new Uint8Array(4*t.length),n=new DataView(e.buffer,e.byteOffset,e.byteLength);for(const[e,r]of t.entries())n.setUint32(4*e,r,!0);return e}(e)},encrypt:GE("CHACHA20-POLY1305")},"aes-256-ctr":{index:2,chunkSize:80,bitsPerWord:8,keySizeBytes:32,ivSizeBytes:12,startCounter:2,blocksPerChunk:5,isLittleEndian:!1,uint8ArrayToBits:_E,bitsToUint8Array:LE,encrypt:GE("AES-256-GCM")},"aes-128-ctr":{index:1,chunkSize:80,bitsPerWord:8,keySizeBytes:16,ivSizeBytes:12,startCounter:2,blocksPerChunk:5,isLittleEndian:!1,uint8ArrayToBits:_E,bitsToUint8Array:LE,encrypt:GE("AES-128-GCM")}};function GE(t){return async({key:e,iv:n,in:r})=>{const i=await F.importKey(t,e),{ciphertext:o}=await F.authenticatedEncrypt(t,{key:i,iv:n,data:r,aead:new Uint8Array(0)});return o.slice(0,r.length)}}async function VE(t){const{algorithm:e,operator:n,logger:r}=t,{witness:i,plaintextArray:o}=await async function({algorithm:t,privateInput:{key:e},publicInput:n}){const{keySizeBytes:r}=PE[t];if(e.length!==r)throw new Error(`key must be ${r} bytes`);const i={key:e,...await HE({publicInput:n,algorithm:t,key:e})};return{witness:i,plaintextArray:i.out}}(t);let s;s="mask"in t?await n.generateWitness({...i,toprf:t.toprf,mask:t.mask}):await n.generateWitness(i);const{proof:a}=await n.groth16Prove(s,r);return{algorithm:e,proofData:a,plaintext:"mask"in t?void 0:o}}async function HE({publicInput:t,algorithm:e,...n}){const{ivSizeBytes:r}=PE[e],i=[],o=[],s=[],a=QE(e),c=jE(e);if(!(t=Array.isArray(t)?t:[t]).length)throw new Error("at least one public input is required");for(const[n,{ciphertext:r,iv:o,offsetBytes:s=0}]of t.entries()){const l=kE(e,r,o);for(const t of l)await u({...t,offsetBytes:s+(t.offsetBytes||0)});if(n<t.length-1)continue;const h=i.reduce((t,e)=>t+e.length,0);if(h>=c)continue;const d=c-h,p=s+UE(r.length,e);for(let t=0;t<d;t+=a)await u({ciphertext:new Uint8Array,iv:o,offsetBytes:p+t})}const l={noncesAndCounters:s,in:ct(i),out:"plaintext"in n&&n.plaintext?n.plaintext:ct(o)};if(l.in.length!==jE(e))throw new Error(`Ciphertext must be exactly ${c}b, got ${l.in.length}b`);return l;async function u({ciphertext:t,iv:c,offsetBytes:l=0}){if(c.length!==r)throw new Error(`iv must be ${r} bytes`);const u=function(t,e){const{startCounter:n}=PE[t],r=QE(t);if(e%r!==0)throw new Error(`offset(${e}) must be a multiple of block size(${r})`);return n+e/r}(e,l);if(s.push({nonce:c,counter:u,boundary:void 0}),t=function(t,e){if(t.length>e)throw new Error(`ciphertext must be <= ${e}b`);if(t.length<e){const n=new Uint8Array(e);n.set(t),t=n}return t}(t,a),i.push(t),"key"in n){const r=await async function({algorithm:t,key:e,iv:n,startOffset:r,ciphertext:i}){const{encrypt:o}=PE[t],s=new Uint8Array(r+i.length);s.set(i,r);const a=await o({key:e,iv:n,in:s});return a.slice(r)}({algorithm:e,key:n.key,iv:c,startOffset:l,ciphertext:t});o.push(r)}}}function jE(t){const{blocksPerChunk:e}=PE[t];return QE(t)*e}function YE({baseUrl:t="http://localhost:8001/browser-rpc/resources/"}={}){return{async fetch(e,n){const r=`${t}/${e}/${n}`,i=await fetch(r);if(!i.ok)throw new Error(`${e}-${n} fetch failed with code: ${i.status}`);const o=await i.arrayBuffer();return new Uint8Array(o)}}}function zE({basePath:t="../resources"}={}){return{async fetch(e,n){const r=`${t}/${e}/${n}`,{readFile:i}=await s.e(174).then(s.t.bind(s,7174,19)),{join:o,dirname:a}=await s.e(975).then(s.t.bind(s,7975,19)),c=o(a("file:///Users/joseph/code/github/reclaim-re/reclaim-browser-extension-sdk/node_modules/@joclaim/zk-symmetric-crypto/lib/file-fetch.js".replace("file://","")),r);return await i(c)}}}new Uint8Array(4).fill(vE);function JE(t){return(new TextDecoder).decode(t)}function WE(t){return(new TextEncoder).encode(t)}const qE=()=>Math.floor(Date.now()/1e3);function KE(t,e){for(let n=0;n<t.length;n++)if(lt(t.slice(n,n+e.length),e))return n;return-1}function XE(t){if(t.includes("CHACHA20"))return"chacha20";if(t.includes("AES_256_GCM"))return"aes-256-ctr";if(t.includes("AES_128_GCM"))return"aes-128-ctr";throw new Error(`${t} not supported for ZK ops`)}function ZE(t,e,n){return"function"==typeof e?e(t,n):e}function $E(){return ut(F.randomBytes(4)).getUint32(0)}function tm(){return $E()}function em(t){return t.endsWith("Request")?{type:t.slice(0,-7),direction:"request"}:t.endsWith("Response")?{type:t.slice(0,-8),direction:"response"}:void 0}function nm(t){return`${t}Request`}function rm(t,e){return"ciphertext"===t.type&&("APPLICATION_DATA"===t.contentType||t.data[0]===ot.WRAPPED_RECORD&&"TLS1_2"===e)}function im(...t){return mE.create({messages:t.map(t=>EE.create({...t,id:t.id||$E()}))})}var om=s(4874),sm=s(5606);function am(){return"undefined"!=typeof navigator&&"ReactNative"===navigator.product?"react-native":"undefined"!=typeof window?"browser":"node"}function cm(t){if(void 0!==sm)return sm?.env[t]}const lm=["ownerPrivateKey","secretParams"],um=cm("LOG_LEVEL");let hm,dm,pm=(0,om.pino)();function fm(t){return"object"==typeof t&&!Array.isArray(t)&&null!==t}function Am(t){if(!fm(t)&&!Array.isArray(t))return t;const e=JSON.parse(JSON.stringify(t,function(){const t=new WeakSet;return function(e,n){if("object"==typeof n&&null!==n){if(t.has(n))return"[CIRCULAR]";t.add(n)}return n}}()));for(const t in e)if(lm.includes(t)&&(e[t]="[REDACTED]"),Array.isArray(e[t]))for(const[n,r]of e[t].entries())e[t][n]=Am(r);else fm(e[t])&&(e[t]=Am(e[t]));return e}function gm(t){return hm||(hm="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),dm=hm.slice(0,-2).concat("-","_")),"url"==t?dm:hm}!function(t,e,n){const r={timestamp:om.stdTimeFunctions.isoTime};t&&(r.formatters={log:Am},r.serializers={redact:Am},r.browser={write:{fatal:t=>o("fatal",t),error:t=>o("error",t),warn:t=>o("warn",t),info:t=>o("info",t),debug:t=>o("debug",t),trace:t=>o("trace",t)}});const i=(0,om.pino)(r);return i.level=e||"info",pm=i,i;function o(t,e){e=Am(e);const{msg:r,...i}=e;console[t]?console[t](i,r):console.log(i,r),n?.(t,e)}}(!1,um);const Em="*".charCodeAt(0);function mm(t){for(const e of t)if("*"!==e&&e!==Em)return!1;return!0}function wm(t,e){const n=new Uint8Array(t);for(const t of e)for(let e=t.fromIndex;e<t.toIndex;e++)n[e]=Em;return n}function ym(t,e){return function(t,e="std"){const n=gm(e),r="std"==e;let i,o="",s=0,a=0;for(let e=0;e<t.length;e++)switch(i=t[e],s){case 0:o+=n[i>>2],a=(3&i)<<4,s=1;break;case 1:o+=n[a|i>>4],a=(15&i)<<2,s=2;break;case 2:o+=n[a|i>>6],o+=n[63&i],s=0}return s&&(o+=n[a],r&&(o+="=",1==s&&(o+="="))),o}(t).padEnd(e,"0").slice(0,e)}const Im=ht("\r\n");function Cm(){const t={statusCode:0,statusMessage:"",headers:{},body:new Uint8Array,complete:!1,headersComplete:!1,headerIndices:new Map,headerEndIdx:0};let e=0,n=!1,r=new Uint8Array,i=0;return{res:t,onChunk(a){if(r=ct([r,a]),!t.headersComplete)for(let r=s();void 0!==r;r=s())if(t.statusCode){if(""===r){if(t.headersComplete=!0,t.headerEndIdx=i-4,t.headers["transfer-encoding"]?.includes("chunked")){n=!0,t.chunks=[];break}if(t.headers["content-length"]){e=Number(t.headers["content-length"]);break}e=-1;break}if(t.complete)throw new Error("got more data after response was complete");{const[e,n]=r.split(": ");t.headers[e.toLowerCase()]=n,t.headerIndices[e.toLowerCase()]={fromIndex:i-r.length-Im.length,toIndex:i-Im.length}}}else{const[,e,n]=r.match(/HTTP\/\d\.\d (\d+) (.*)/)||[];t.statusCode=Number(e),t.statusMessage=n,t.statusLineEndIndex=i-Im.length}if(t.headersComplete&&(e&&(o(),e||n||(t.complete=!0)),"0"===t.headers["content-length"]&&(t.complete=!0),n))for(let n=s();void 0!==n;n=s()){if(""===n)continue;const r=Number.parseInt(n,16);if(r){if(t.chunks?.push({fromIndex:i,toIndex:i+r}),e=r,o(),e)break}else t.complete=!0}},streamEnded(){if(!t.headersComplete)throw new Error("stream ended before headers were complete");if(r.length)throw new Error("stream ended before remaining data arrived");if(e>0)throw new Error("stream ended before all body bytes were received");t.complete=!0}};function o(){if(t.complete)throw new Error("got more data after response was complete");let n;t.bodyStartIndex||(t.bodyStartIndex=i),-1===e?n=r.length:(n=Math.min(e,r.length),e-=n),t.body=ct([t.body,r.slice(0,n)]),r=r.slice(n),i+=n}function s(){const t=KE(r,Im);if(-1===t)return;const e=JE(r.slice(0,t));return r=r.slice(t+Im.length),i+=t+Im.length,e}}var Bm=s(8287).hp;const Tm="function"==typeof Bm,Dm=("function"==typeof TextDecoder&&new TextDecoder,"function"==typeof TextEncoder&&new TextEncoder,Array.prototype.slice.call("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=")),bm=(t=>{let e={};return t.forEach((t,n)=>e[t]=n),e})(Dm),Mm=/^(?:[A-Za-z\d+\/]{4})*?(?:[A-Za-z\d+\/]{2}(?:==)?|[A-Za-z\d+\/]{3}=?)?$/,Nm=String.fromCharCode.bind(String),vm="function"==typeof Uint8Array.from?Uint8Array.from.bind(Uint8Array):t=>new Uint8Array(Array.prototype.slice.call(t,0)),Sm=t=>t.replace(/=/g,"").replace(/[+\/]/g,t=>"+"==t?"-":"_"),_m=t=>t.replace(/[^A-Za-z0-9\+\/]/g,""),Lm=t=>{let e,n,r,i,o="";const s=t.length%3;for(let s=0;s<t.length;){if((n=t.charCodeAt(s++))>255||(r=t.charCodeAt(s++))>255||(i=t.charCodeAt(s++))>255)throw new TypeError("invalid character found");e=n<<16|r<<8|i,o+=Dm[e>>18&63]+Dm[e>>12&63]+Dm[e>>6&63]+Dm[63&e]}return s?o.slice(0,s-3)+"===".substring(s):o},xm="function"==typeof btoa?t=>btoa(t):Tm?t=>Bm.from(t,"binary").toString("base64"):Lm,Rm=Tm?t=>Bm.from(t).toString("base64"):t=>{let e=[];for(let n=0,r=t.length;n<r;n+=4096)e.push(Nm.apply(null,t.subarray(n,n+4096)));return xm(e.join(""))},Fm=(t,e=!1)=>e?Sm(Rm(t)):Rm(t),Om=t=>{if(t=t.replace(/\s+/g,""),!Mm.test(t))throw new TypeError("malformed base64.");let e,n,r;t+="==".slice(2-(3&t.length));let i=[];for(let o=0;o<t.length;)e=bm[t.charAt(o++)]<<18|bm[t.charAt(o++)]<<12|(n=bm[t.charAt(o++)])<<6|(r=bm[t.charAt(o++)]),64===n?i.push(Nm(e>>16&255)):64===r?i.push(Nm(e>>16&255,e>>8&255)):i.push(Nm(e>>16&255,e>>8&255,255&e));return i.join("")},Qm="function"==typeof atob?t=>atob(_m(t)):Tm?t=>Bm.from(t,"base64").toString("binary"):Om,km=Tm?t=>vm(Bm.from(t,"base64")):t=>vm(Qm(t).split("").map(t=>t.charCodeAt(0))),Um=t=>km(Pm(t)),Pm=t=>_m(t.replace(/[-_]/g,t=>"-"==t?"+":"/")),Gm=Fm,Vm=Um;var Hm=s(5606),jm=s(8287).hp;const Ym="../../bin/gnark";let zm;const Jm={x64:"x86_64"},Wm={};async function qm(t,e,n,r){zm??=async function(){const t=await Promise.resolve().then(s.t.bind(s,2447,19)).catch(()=>{});if(!t)throw new Error("Koffi not available, cannot use gnark");const{join:e,dirname:n}=await s.e(975).then(s.t.bind(s,7975,19)),r=n("file:///Users/joseph/code/github/reclaim-re/reclaim-browser-extension-sdk/node_modules/@joclaim/zk-symmetric-crypto/lib/gnark/utils.js".replace("file://","")),{default:i}=t;i.reset();const o=i.struct("GoSlice",{data:"void *",len:"longlong",cap:"longlong"}),a=i.struct("ProveReturn",{r0:"void *",r1:"longlong"}),c=i.struct("LibReturn",{r0:"void *",r1:"longlong"}),l=Jm[Hm.arch]||Hm.arch,u=Hm.platform,h=e(r,`${Ym}/${u}-${l}-libverify.so`),d=e(r,`${Ym}/${u}-${l}-libprove.so`);try{const t=i.load(h),e=i.load(d);return{verify:t.func("Verify","unsigned char",[o]),free:e.func("Free","void",["void *"]),vfree:t.func("VFree","void",["void *"]),prove:e.func("Prove",a,[o]),initAlgorithm:e.func("InitAlgorithm","unsigned char",["unsigned char",o,o]),generateThresholdKeys:t.func("GenerateThresholdKeys",c,[o]),oprfEvaluate:t.func("OPRFEvaluate",c,[o]),generateOPRFRequest:e.func("GenerateOPRFRequestData",c,[o]),toprfFinalize:e.func("TOPRFFinalize",c,[o]),koffi:i}}catch(t){if(t.message.includes("not a mach-o"))throw new Error(`Gnark library not compatible with OS/arch (${u}/${l})`);if(t.message.toLowerCase().includes("no such file"))throw new Error(`Gnark library not built for OS/arch (${u}/${l})`);throw t}}();const i=await zm;if(Wm[t])return i;const[o,a]=await Promise.all([n.fetch("gnark",`pk.${e}`,r),n.fetch("gnark",`r1cs.${e}`,r)]),c={data:o,len:o.length,cap:o.length},l={data:a,len:a.length,cap:a.length};return await i.initAlgorithm(t,c,l),Wm[t]=!0,i}function Km(t){return(new TextEncoder).encode(t)}function Xm(t,e){const n=Zm(t,e);return Km(JSON.stringify(n))}function Zm(t,e){return{cipher:t+("toprf"in e?"-toprf":""),key:"key"in e?Gm(e.key):void 0,ciphertext:"out"in e&&e.out?.length?Gm(e.out):void 0,blocks:e.noncesAndCounters.map(t=>({nonce:Gm(t.nonce),counter:t.counter,boundary:t.boundary||null})),input:Gm(e.in),toprf:function(){if(!("toprf"in e))return{};const{locations:t,domainSeparator:n,output:r,responses:i}=e.toprf;return{locations:t,domainSeparator:Gm(Km(n)),output:Gm(r),responses:i.map($m),mask:"mask"in e?Gm(e.mask):""}}()}}function $m({publicKeyShare:t,evaluated:e,c:n,r}){return{publicKeyShare:Gm(t),evaluated:Gm(e),c:Gm(n),r:Gm(r)}}function tw(t,e){return t({data:"string"==typeof e?jm.from(e):e,len:e.length,cap:e.length})}async function ew(t,e){const{free:n,koffi:r}=await zm,i=tw(t,e),o=jm.from(r.decode(i.r0,"unsigned char",i.r1)).toString();return n(i.r0),JSON.parse(o)}const nw={chacha20:{ext:"chacha20"},"aes-128-ctr":{ext:"aes128"},"aes-256-ctr":{ext:"aes256"}};async function rw(t,e,n){const{ext:r}=nw[t],{index:i}=PE[t];return qm(i,r,e,n)}var iw=s(2447),ow=s(8287).hp;const sw={chacha20:{ext:"chacha20_oprf",id:3},"aes-128-ctr":{ext:"aes128_oprf",id:4},"aes-256-ctr":{ext:"aes256_oprf",id:5}};var aw=s(228);class cw extends Error{constructor(t){super(t),this.name="TimeoutError"}}class lw extends Error{constructor(t){super(),this.name="AbortError",this.message=t}}const uw=t=>void 0===globalThis.DOMException?new lw(t):new DOMException(t),hw=t=>{const e=void 0===t.reason?uw("This operation was aborted."):t.reason;return e instanceof Error?e:uw(e)};class dw{#t=[];enqueue(t,e){const n={priority:(e={priority:0,...e}).priority,id:e.id,run:t};if(0===this.size||this.#t[this.size-1].priority>=e.priority)return void this.#t.push(n);const r=function(t,e,n){let r=0,i=t.length;for(;i>0;){const o=Math.trunc(i/2);let s=r+o;n(t[s],e)<=0?(r=++s,i-=o+1):i=o}return r}(this.#t,n,(t,e)=>e.priority-t.priority);this.#t.splice(r,0,n)}setPriority(t,e){const n=this.#t.findIndex(e=>e.id===t);if(-1===n)throw new ReferenceError(`No promise function with the id "${t}" exists in the queue.`);const[r]=this.#t.splice(n,1);this.enqueue(r.run,{priority:e,id:t})}dequeue(){const t=this.#t.shift();return t?.run}filter(t){return this.#t.filter(e=>e.priority===t.priority).map(t=>t.run)}get size(){return this.#t.length}}class pw extends aw{#e;#n;#r=0;#i;#o;#s=0;#a;#c;#t;#l;#u=0;#h;#d;#p;#f=1n;timeout;constructor(t){if(super(),!("number"==typeof(t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:dw,...t}).intervalCap&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${t.intervalCap?.toString()??""}\` (${typeof t.intervalCap})`);if(void 0===t.interval||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${t.interval?.toString()??""}\` (${typeof t.interval})`);this.#e=t.carryoverConcurrencyCount,this.#n=t.intervalCap===Number.POSITIVE_INFINITY||0===t.interval,this.#i=t.intervalCap,this.#o=t.interval,this.#t=new t.queueClass,this.#l=t.queueClass,this.concurrency=t.concurrency,this.timeout=t.timeout,this.#p=!0===t.throwOnTimeout,this.#d=!1===t.autoStart}get#A(){return this.#n||this.#r<this.#i}get#g(){return this.#u<this.#h}#E(){this.#u--,this.#m(),this.emit("next")}#w(){this.#y(),this.#I(),this.#c=void 0}get#C(){const t=Date.now();if(void 0===this.#a){const e=this.#s-t;if(!(e<0))return void 0===this.#c&&(this.#c=setTimeout(()=>{this.#w()},e)),!0;this.#r=this.#e?this.#u:0}return!1}#m(){if(0===this.#t.size)return this.#a&&clearInterval(this.#a),this.#a=void 0,this.emit("empty"),0===this.#u&&this.emit("idle"),!1;if(!this.#d){const t=!this.#C;if(this.#A&&this.#g){const e=this.#t.dequeue();return!!e&&(this.emit("active"),e(),t&&this.#I(),!0)}}return!1}#I(){this.#n||void 0!==this.#a||(this.#a=setInterval(()=>{this.#y()},this.#o),this.#s=Date.now()+this.#o)}#y(){0===this.#r&&0===this.#u&&this.#a&&(clearInterval(this.#a),this.#a=void 0),this.#r=this.#e?this.#u:0,this.#B()}#B(){for(;this.#m(););}get concurrency(){return this.#h}set concurrency(t){if(!("number"==typeof t&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);this.#h=t,this.#B()}async#T(t){return new Promise((e,n)=>{t.addEventListener("abort",()=>{n(t.reason)},{once:!0})})}setPriority(t,e){this.#t.setPriority(t,e)}async add(t,e={}){return e.id??=(this.#f++).toString(),e={timeout:this.timeout,throwOnTimeout:this.#p,...e},new Promise((n,r)=>{this.#t.enqueue(async()=>{this.#u++;try{e.signal?.throwIfAborted(),this.#r++;let r=t({signal:e.signal});e.timeout&&(r=function(t,e){const{milliseconds:n,fallback:r,message:i,customTimers:o={setTimeout,clearTimeout}}=e;let s,a;const c=new Promise((c,l)=>{if("number"!=typeof n||1!==Math.sign(n))throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${n}\``);if(e.signal){const{signal:t}=e;t.aborted&&l(hw(t)),a=()=>{l(hw(t))},t.addEventListener("abort",a,{once:!0})}if(n===Number.POSITIVE_INFINITY)return void t.then(c,l);const u=new cw;s=o.setTimeout.call(void 0,()=>{if(r)try{c(r())}catch(t){l(t)}else"function"==typeof t.cancel&&t.cancel(),!1===i?c():i instanceof Error?l(i):(u.message=i??`Promise timed out after ${n} milliseconds`,l(u))},n),(async()=>{try{c(await t)}catch(t){l(t)}})()}).finally(()=>{c.clear(),a&&e.signal&&e.signal.removeEventListener("abort",a)});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}(Promise.resolve(r),{milliseconds:e.timeout})),e.signal&&(r=Promise.race([r,this.#T(e.signal)]));const i=await r;n(i),this.emit("completed",i)}catch(t){if(t instanceof cw&&!e.throwOnTimeout)return void n();r(t),this.emit("error",t)}finally{this.#E()}},e),this.emit("add"),this.#m()})}async addAll(t,e){return Promise.all(t.map(async t=>this.add(t,e)))}start(){return this.#d?(this.#d=!1,this.#B(),this):this}pause(){this.#d=!0}clear(){this.#t=new this.#l}async onEmpty(){0!==this.#t.size&&await this.#D("empty")}async onSizeLessThan(t){this.#t.size<t||await this.#D("next",()=>this.#t.size<t)}async onIdle(){0===this.#u&&0===this.#t.size||await this.#D("idle")}async#D(t,e){return new Promise(n=>{const r=()=>{e&&!e()||(this.off(t,r),n())};this.on(t,r)})}get size(){return this.#t.size}sizeBy(t){return this.#t.filter(t).length}get pending(){return this.#u}get isPaused(){return this.#d}}const fw=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];function Aw(t,e){return e&&10!=e?16==e?"0x"==t.slice(0,2)?BigInt(t):BigInt("0x"+t):void 0:BigInt(t)}const gw=Aw;function Ew(t){const e=t.toString(16);return 4*(e.length-1)+fw[parseInt(e[0],16)]}function mw(t){return BigInt(t)<BigInt(0)}function ww(t){return!t}function yw(t,e){return BigInt(t)<<BigInt(e)}function Iw(t,e){return BigInt(t)>>BigInt(e)}const Cw=yw,Bw=Iw;function Tw(t){return(BigInt(t)&BigInt(1))==BigInt(1)}function Dw(t){let e=BigInt(t);const n=[];for(;e;){if(e&BigInt(1)){const t=2-Number(e%BigInt(4));n.push(t),e-=BigInt(t)}else n.push(0);e>>=BigInt(1)}return n}function bw(t){let e=BigInt(t);const n=[];for(;e;)e&BigInt(1)?n.push(1):n.push(0),e>>=BigInt(1);return n}function Mw(t){if(t>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Number too big");return Number(t)}function Nw(t,e){return BigInt(t)+BigInt(e)}function vw(t,e){return BigInt(t)-BigInt(e)}function Sw(t){return-BigInt(t)}function _w(t,e){return BigInt(t)*BigInt(e)}function Lw(t,e){return BigInt(t)**BigInt(e)}function xw(t,e){return BigInt(t)/BigInt(e)}function Rw(t,e){return BigInt(t)%BigInt(e)}function Fw(t,e){return BigInt(t)==BigInt(e)}function Ow(t,e){return BigInt(t)>BigInt(e)}function Qw(t,e){return BigInt(t)>=BigInt(e)}function kw(t,e){return BigInt(t)&BigInt(e)}function Uw(t,e,n,r){const i="0000000"+n.toString(16),o=new Uint32Array(t.buffer,t.byteOffset+e,r/4),s=1+(4*(i.length-7)-1>>5);for(let t=0;t<s;t++)o[t]=parseInt(i.substring(i.length-8*t-8,i.length-8*t),16);for(let t=s;t<o.length;t++)o[t]=0;for(let e=4*o.length;e<r;e++)t[e]=Mw(kw(Iw(n,8*e),255))}function Pw(t,e,n,r){const i="0000000"+n.toString(16),o=new DataView(t.buffer,t.byteOffset+e,r),s=1+(4*(i.length-7)-1>>5);for(let t=0;t<s;t++)o.setUint32(r-4*t-4,parseInt(i.substring(i.length-8*t-8,i.length-8*t),16),!1);for(let t=0;t<r/4-s;t++)o[t]=0}function Gw(t,e,n){n=n||t.byteLength,e=e||0;const r=new Uint32Array(t.buffer,t.byteOffset+e,n/4),i=new Array(n/4);return r.forEach((t,e)=>i[i.length-e-1]=t.toString(16).padStart(8,"0")),Aw(i.join(""),16)}function Vw(t,e,n){n=n||t.byteLength,e=e||0;const r=new DataView(t.buffer,t.byteOffset+e,n),i=new Array(n/4);for(let t=0;t<n/4;t++)i[t]=r.getUint32(4*t,!1).toString(16).padStart(8,"0");return Aw(i.join(""),16)}function Hw(t,e){return t.toString(e)}function jw(t){const e=new Uint8Array(Math.floor((Ew(t)-1)/8)+1);return Uw(e,0,t,e.byteLength),e}const Yw=gw(0),zw=gw(1);var Jw=Object.freeze({__proto__:null,abs:function(t){return BigInt(t)>=0?BigInt(t):-BigInt(t)},add:Nw,band:kw,bitLength:Ew,bits:bw,bor:function(t,e){return BigInt(t)|BigInt(e)},bxor:function(t,e){return BigInt(t)^BigInt(e)},div:xw,e:gw,eq:Fw,exp:function(t,e){return BigInt(t)**BigInt(e)},fromArray:function(t,e){let n=BigInt(0);e=BigInt(e);for(let r=0;r<t.length;r++)n=n*e+BigInt(t[r]);return n},fromRprBE:Vw,fromRprLE:Gw,fromString:Aw,geq:Qw,gt:Ow,isNegative:mw,isOdd:Tw,isZero:ww,land:function(t,e){return BigInt(t)&&BigInt(e)},leq:function(t,e){return BigInt(t)<=BigInt(e)},lnot:function(t){return!BigInt(t)},lor:function(t,e){return BigInt(t)||BigInt(e)},lt:function(t,e){return BigInt(t)<BigInt(e)},mod:Rw,mul:_w,naf:Dw,neg:Sw,neq:function(t,e){return BigInt(t)!=BigInt(e)},one:zw,pow:Lw,shiftLeft:yw,shiftRight:Iw,shl:Cw,shr:Bw,square:function(t){return BigInt(t)*BigInt(t)},sub:vw,toArray:function(t,e){const n=[];let r=BigInt(t);for(e=BigInt(e);r;)n.unshift(Number(r%e)),r/=e;return n},toLEBuff:jw,toNumber:Mw,toRprBE:Pw,toRprLE:Uw,toString:Hw,zero:Yw});const Ww=[];for(let t=0;t<256;t++)Ww[t]=qw(t,8);function qw(t,e){let n=0,r=t;for(let t=0;t<e;t++)n<<=1,n|=1&r,r>>=1;return n}function Kw(t,e,n){if(ww(n))return t.one;const r=bw(n);if(0==r.length)return t.one;let i=e;for(let n=r.length-2;n>=0;n--)i=t.square(i),r[n]&&(i=t.mul(i,e));return i}function Xw(t){if(t.m%2==1)if(Fw(Rw(t.p,4),1))if(Fw(Rw(t.p,8),1))if(Fw(Rw(t.p,16),1))!function(t){t.sqrt_q=Lw(t.p,t.m),t.sqrt_s=0,t.sqrt_t=vw(t.sqrt_q,1);for(;!Tw(t.sqrt_t);)t.sqrt_s=t.sqrt_s+1,t.sqrt_t=xw(t.sqrt_t,2);let e=t.one;for(;t.eq(e,t.one);){const n=t.random();t.sqrt_z=t.pow(n,t.sqrt_t),e=t.pow(t.sqrt_z,2**(t.sqrt_s-1))}t.sqrt_tm1d2=xw(vw(t.sqrt_t,1),2),t.sqrt=function(t){const e=this;if(e.isZero(t))return e.zero;let n=e.pow(t,e.sqrt_tm1d2);const r=e.pow(e.mul(e.square(n),t),2**(e.sqrt_s-1));if(e.eq(r,e.negone))return null;let i=e.sqrt_s,o=e.mul(t,n),s=e.mul(o,n),a=e.sqrt_z;for(;!e.eq(s,e.one);){let t=e.square(s),r=1;for(;!e.eq(t,e.one);)t=e.square(t),r++;n=a;for(let t=0;t<i-r-1;t++)n=e.square(n);a=e.square(n),s=e.mul(s,a),o=e.mul(o,n),i=r}return e.geq(o,e.zero)?o:e.neg(o)}}(t);else{if(!Fw(Rw(t.p,16),9))throw new Error("Field withot sqrt");!function(t){t.sqrt=function(){throw new Error("Sqrt alg 4 not implemented")}}(t)}else{if(!Fw(Rw(t.p,8),5))throw new Error("Field withot sqrt");!function(t){t.sqrt=function(){throw new Error("Sqrt alg 3 not implemented")}}(t)}else Fw(Rw(t.p,4),3)&&function(t){t.sqrt_q=Lw(t.p,t.m),t.sqrt_e1=xw(vw(t.sqrt_q,3),4),t.sqrt=function(e){if(this.isZero(e))return this.zero;const n=this.pow(e,this.sqrt_e1),r=this.mul(this.square(n),e);if(this.eq(r,this.negone))return null;const i=this.mul(n,e);return t.geq(i,t.zero)?i:t.neg(i)}}(t);else{const e=Rw(Lw(t.p,t.m/2),4);1==e?function(t){t.sqrt=function(){throw new Error("Sqrt alg 10 not implemented")}}(t):3==e?function(t){t.sqrt_q=Lw(t.p,t.m/2),t.sqrt_e34=xw(vw(t.sqrt_q,3),4),t.sqrt_e12=xw(vw(t.sqrt_q,1),2),t.frobenius=function(e,n){return e%2==1?t.conjugate(n):n},t.sqrt=function(t){const e=this,n=e.pow(t,e.sqrt_e34),r=e.mul(e.square(n),t),i=e.mul(e.frobenius(1,r),r);if(e.eq(i,e.negone))return null;const o=e.mul(n,t);let s;if(e.eq(r,e.negone))s=e.mul(o,[e.F.zero,e.F.one]);else{const t=e.pow(e.add(e.one,r),e.sqrt_e12);s=e.mul(t,o)}return e.geq(s,e.zero)?s:e.neg(s)}}(t):function(t){t.sqrt=function(){throw new Error("Sqrt alg 8 not implemented")}}(t)}}function Zw(t,e,n,r,i){t[e]=t[e]+t[n]>>>0,t[i]=(t[i]^t[e])>>>0,t[i]=(t[i]<<16|t[i]>>>16&65535)>>>0,t[r]=t[r]+t[i]>>>0,t[n]=(t[n]^t[r])>>>0,t[n]=(t[n]<<12|t[n]>>>20&4095)>>>0,t[e]=t[e]+t[n]>>>0,t[i]=(t[i]^t[e])>>>0,t[i]=(t[i]<<8|t[i]>>>24&255)>>>0,t[r]=t[r]+t[i]>>>0,t[n]=(t[n]^t[r])>>>0,t[n]=(t[n]<<7|t[n]>>>25&127)>>>0}function $w(t){Zw(t,0,4,8,12),Zw(t,1,5,9,13),Zw(t,2,6,10,14),Zw(t,3,7,11,15),Zw(t,0,5,10,15),Zw(t,1,6,11,12),Zw(t,2,7,8,13),Zw(t,3,4,9,14)}class ty{constructor(t){t=t||[0,0,0,0,0,0,0,0],this.state=[1634760805,857760878,2036477234,1797285236,t[0],t[1],t[2],t[3],t[4],t[5],t[6],t[7],0,0,0,0],this.idx=16,this.buff=new Array(16)}nextU32(){return 16==this.idx&&this.update(),this.buff[this.idx++]}nextU64(){return Nw(_w(this.nextU32(),4294967296),this.nextU32())}nextBool(){return!(1&~this.nextU32())}update(){for(let t=0;t<16;t++)this.buff[t]=this.state[t];for(let t=0;t<10;t++)$w(this.buff);for(let t=0;t<16;t++)this.buff[t]=this.buff[t]+this.state[t]>>>0;this.idx=0,this.state[12]=this.state[12]+1>>>0,0==this.state[12]&&(this.state[13]=this.state[13]+1>>>0,0==this.state[13]&&(this.state[14]=this.state[14]+1>>>0,0==this.state[14]&&(this.state[15]=this.state[15]+1>>>0)))}}function ey(t){let e=new Uint8Array(t);if(void 0!==globalThis.crypto)globalThis.crypto.getRandomValues(e);else for(let n=0;n<t;n++)e[n]=4294967296*Math.random()>>>0;return e}let ny=null;function ry(){return ny||(ny=new ty(function(){const t=ey(32),e=new Uint32Array(t.buffer),n=[];for(let t=0;t<8;t++)n.push(e[t]);return n}()),ny)}class iy{constructor(t,e,n){this.F=e,this.G=t,this.opMulGF=n;let r=e.sqrt_t||e.t,i=e.sqrt_s||e.s,o=e.one;for(;e.eq(e.pow(o,e.half),e.one);)o=e.add(o,e.one);this.w=new Array(i+1),this.wi=new Array(i+1),this.w[i]=this.F.pow(o,r),this.wi[i]=this.F.inv(this.w[i]);let s=i-1;for(;s>=0;)this.w[s]=this.F.square(this.w[s+1]),this.wi[s]=this.F.square(this.wi[s+1]),s--;this.roots=[],this._setRoots(Math.min(i,15))}_setRoots(t){for(let e=t;e>=0&&!this.roots[e];e--){let t=this.F.one;const n=1<<e,r=new Array(n);for(let i=0;i<n;i++)r[i]=t,t=this.F.mul(t,this.w[e]);this.roots[e]=r}}fft(t){if(t.length<=1)return t;const e=oy(t.length-1)+1;this._setRoots(e);const n=1<<e;if(t.length!=n)throw new Error("Size must be multiple of 2");return sy(this,t,e,0,1)}ifft(t){if(t.length<=1)return t;const e=oy(t.length-1)+1;this._setRoots(e);const n=1<<e;if(t.length!=n)throw new Error("Size must be multiple of 2");const r=sy(this,t,e,0,1),i=this.F.inv(this.F.mulScalar(this.F.one,n)),o=new Array(n);for(let t=0;t<n;t++)o[t]=this.opMulGF(r[(n-t)%n],i);return o}}function oy(t){return(4294901760&t?(t&=4294901760,16):0)|(4278255360&t?(t&=4278255360,8):0)|(4042322160&t?(t&=4042322160,4):0)|(3435973836&t?(t&=3435973836,2):0)|!!(2863311530&t)}function sy(t,e,n,r,i){const o=1<<n;if(1==o)return[e[r]];if(2==o)return[t.G.add(e[r],e[r+i]),t.G.sub(e[r],e[r+i])];const s=o>>1,a=sy(t,e,n-1,r,2*i),c=sy(t,e,n-1,r+i,2*i),l=new Array(o);for(let e=0;e<s;e++)l[e]=t.G.add(a[e],t.opMulGF(c[e],t.roots[n][e])),l[e+s]=t.G.sub(a[e],t.opMulGF(c[e],t.roots[n][e]));return l}class ay{constructor(t){this.type="F1",this.one=BigInt(1),this.zero=BigInt(0),this.p=BigInt(t),this.m=1,this.negone=this.p-this.one,this.two=BigInt(2),this.half=this.p>>this.one,this.bitLength=Ew(this.p),this.mask=(this.one<<BigInt(this.bitLength))-this.one,this.n64=Math.floor((this.bitLength-1)/64)+1,this.n32=2*this.n64,this.n8=8*this.n64,this.R=this.e(this.one<<BigInt(64*this.n64)),this.Ri=this.inv(this.R);const e=this.negone>>this.one;this.nqr=this.two;let n=this.pow(this.nqr,e);for(;!this.eq(n,this.negone);)this.nqr=this.nqr+this.one,n=this.pow(this.nqr,e);for(this.s=0,this.t=this.negone;(this.t&this.one)==this.zero;)this.s=this.s+1,this.t=this.t>>this.one;this.nqr_to_t=this.pow(this.nqr,this.t),Xw(this),this.FFT=new iy(this,this,this.mul.bind(this)),this.fft=this.FFT.fft.bind(this.FFT),this.ifft=this.FFT.ifft.bind(this.FFT),this.w=this.FFT.w,this.wi=this.FFT.wi,this.shift=this.square(this.nqr),this.k=this.exp(this.nqr,2**this.s)}e(t,e){let n;if(e?16==e&&(n=BigInt("0x"+t)):n=BigInt(t),n<0){let t=-n;return t>=this.p&&(t%=this.p),this.p-t}return n>=this.p?n%this.p:n}add(t,e){const n=t+e;return n>=this.p?n-this.p:n}sub(t,e){return t>=e?t-e:this.p-e+t}neg(t){return t?this.p-t:t}mul(t,e){return t*e%this.p}mulScalar(t,e){return t*this.e(e)%this.p}square(t){return t*t%this.p}eq(t,e){return t==e}neq(t,e){return t!=e}lt(t,e){return(t>this.half?t-this.p:t)<(e>this.half?e-this.p:e)}gt(t,e){return(t>this.half?t-this.p:t)>(e>this.half?e-this.p:e)}leq(t,e){return(t>this.half?t-this.p:t)<=(e>this.half?e-this.p:e)}geq(t,e){return(t>this.half?t-this.p:t)>=(e>this.half?e-this.p:e)}div(t,e){return this.mul(t,this.inv(e))}idiv(t,e){if(!e)throw new Error("Division by zero");return t/e}inv(t){if(!t)throw new Error("Division by zero");let e=this.zero,n=this.p,r=this.one,i=t%this.p;for(;i;){let t=n/i;[e,r]=[r,e-t*r],[n,i]=[i,n-t*i]}return e<this.zero&&(e+=this.p),e}mod(t,e){return t%e}pow(t,e){return Kw(this,t,e)}exp(t,e){return Kw(this,t,e)}band(t,e){const n=t&e&this.mask;return n>=this.p?n-this.p:n}bor(t,e){const n=(t|e)&this.mask;return n>=this.p?n-this.p:n}bxor(t,e){const n=(t^e)&this.mask;return n>=this.p?n-this.p:n}bnot(t){const e=t^this.mask;return e>=this.p?e-this.p:e}shl(t,e){if(Number(e)<this.bitLength){const n=t<<e&this.mask;return n>=this.p?n-this.p:n}{const n=this.p-e;return Number(n)<this.bitLength?t>>n:this.zero}}shr(t,e){if(Number(e)<this.bitLength)return t>>e;{const n=this.p-e;if(Number(n)<this.bitLength){const e=t<<n&this.mask;return e>=this.p?e-this.p:e}return 0}}land(t,e){return t&&e?this.one:this.zero}lor(t,e){return t||e?this.one:this.zero}lnot(t){return t?this.zero:this.one}sqrt_old(t){if(t==this.zero)return this.zero;if(this.pow(t,this.negone>>this.one)!=this.one)return null;let e=this.s,n=this.nqr_to_t,r=this.pow(t,this.t),i=this.pow(t,this.add(this.t,this.one)>>this.one);for(;r!=this.one;){let t=this.square(r),o=1;for(;t!=this.one;)o++,t=this.square(t);let s=n;for(let t=0;t<e-o-1;t++)s=this.square(s);e=o,n=this.square(s),r=this.mul(r,n),i=this.mul(i,s)}return i>this.p>>this.one&&(i=this.neg(i)),i}normalize(t,e){if((t=BigInt(t,e))<0){let e=-t;return e>=this.p&&(e%=this.p),this.p-e}return t>=this.p?t%this.p:t}random(){const t=2*this.bitLength/8;let e=this.zero;for(let n=0;n<t;n++)e=(e<<BigInt(8))+BigInt(ey(1)[0]);return e%this.p}toString(t,e){let n;if(e=e||10,t>this.half&&10==e){n="-"+(this.p-t).toString(e)}else n=t.toString(e);return n}isZero(t){return t==this.zero}fromRng(t){let e;do{e=this.zero;for(let n=0;n<this.n64;n++)e+=t.nextU64()<<BigInt(64*n);e&=this.mask}while(e>=this.p);return e=e*this.Ri%this.p,e}fft(t){return this.FFT.fft(t)}ifft(t){return this.FFT.ifft(t)}toRprLE(t,e,n){Uw(t,e,n,8*this.n64)}toRprBE(t,e,n){Pw(t,e,n,8*this.n64)}toRprBEM(t,e,n){return this.toRprBE(t,e,this.mul(this.R,n))}toRprLEM(t,e,n){return this.toRprLE(t,e,this.mul(this.R,n))}fromRprLE(t,e){return Gw(t,e,this.n8)}fromRprBE(t,e){return Vw(t,e,this.n8)}fromRprLEM(t,e){return this.mul(this.fromRprLE(t,e),this.Ri)}fromRprBEM(t,e){return this.mul(this.fromRprBE(t,e),this.Ri)}toObject(t){return t}}var cy={bigInt2BytesLE:function(t,e){const n=Array(e);let r=BigInt(t);for(let t=0;t<e;t++)n[t]=Number(0xFFn&r),r>>=8n;return n},bigInt2U32LE:function(t,e){const n=Array(e);let r=BigInt(t);for(let t=0;t<e;t++)n[t]=Number(0xFFFFFFFFn&r),r>>=32n;return n},isOcamNum:function(t){return!!Array.isArray(t)&&(3==t.length&&("number"==typeof t[0]&&("number"==typeof t[1]&&!!Array.isArray(t[2]))))}},ly=function(t,e,n,r,i,o,s){const a=t.addFunction(e);a.addParam("base","i32"),a.addParam("scalar","i32"),a.addParam("scalarLength","i32"),a.addParam("r","i32"),a.addLocal("i","i32"),a.addLocal("b","i32");const c=a.getCodeBuilder(),l=c.i32_const(t.alloc(n));a.addCode(c.if(c.i32_eqz(c.getLocal("scalarLength")),[...c.call(s,c.getLocal("r")),...c.ret([])])),a.addCode(c.call(o,c.getLocal("base"),l)),a.addCode(c.call(s,c.getLocal("r"))),a.addCode(c.setLocal("i",c.getLocal("scalarLength"))),a.addCode(c.block(c.loop(c.setLocal("i",c.i32_sub(c.getLocal("i"),c.i32_const(1))),c.setLocal("b",c.i32_load8_u(c.i32_add(c.getLocal("scalar"),c.getLocal("i")))),...function(){const t=[];for(let e=0;e<8;e++)t.push(...c.call(i,c.getLocal("r"),c.getLocal("r")),...c.if(c.i32_ge_u(c.getLocal("b"),c.i32_const(128>>e)),[...c.setLocal("b",c.i32_sub(c.getLocal("b"),c.i32_const(128>>e))),...c.call(r,c.getLocal("r"),l,c.getLocal("r"))]));return t}(),c.br_if(1,c.i32_eqz(c.getLocal("i"))),c.br(0))))},uy=function(t,e){const n=8*t.modules[e].n64,r=t.addFunction(e+"_batchInverse");r.addParam("pIn","i32"),r.addParam("inStep","i32"),r.addParam("n","i32"),r.addParam("pOut","i32"),r.addParam("outStep","i32"),r.addLocal("itAux","i32"),r.addLocal("itIn","i32"),r.addLocal("itOut","i32"),r.addLocal("i","i32");const i=r.getCodeBuilder(),o=i.i32_const(t.alloc(n));r.addCode(i.setLocal("itAux",i.i32_load(i.i32_const(0))),i.i32_store(i.i32_const(0),i.i32_add(i.getLocal("itAux"),i.i32_mul(i.i32_add(i.getLocal("n"),i.i32_const(1)),i.i32_const(n))))),r.addCode(i.call(e+"_one",i.getLocal("itAux")),i.setLocal("itIn",i.getLocal("pIn")),i.setLocal("itAux",i.i32_add(i.getLocal("itAux"),i.i32_const(n))),i.setLocal("i",i.i32_const(0)),i.block(i.loop(i.br_if(1,i.i32_eq(i.getLocal("i"),i.getLocal("n"))),i.if(i.call(e+"_isZero",i.getLocal("itIn")),i.call(e+"_copy",i.i32_sub(i.getLocal("itAux"),i.i32_const(n)),i.getLocal("itAux")),i.call(e+"_mul",i.getLocal("itIn"),i.i32_sub(i.getLocal("itAux"),i.i32_const(n)),i.getLocal("itAux"))),i.setLocal("itIn",i.i32_add(i.getLocal("itIn"),i.getLocal("inStep"))),i.setLocal("itAux",i.i32_add(i.getLocal("itAux"),i.i32_const(n))),i.setLocal("i",i.i32_add(i.getLocal("i"),i.i32_const(1))),i.br(0))),i.setLocal("itIn",i.i32_sub(i.getLocal("itIn"),i.getLocal("inStep"))),i.setLocal("itAux",i.i32_sub(i.getLocal("itAux"),i.i32_const(n))),i.setLocal("itOut",i.i32_add(i.getLocal("pOut"),i.i32_mul(i.i32_sub(i.getLocal("n"),i.i32_const(1)),i.getLocal("outStep")))),i.call(e+"_inverse",i.getLocal("itAux"),i.getLocal("itAux")),i.block(i.loop(i.br_if(1,i.i32_eqz(i.getLocal("i"))),i.if(i.call(e+"_isZero",i.getLocal("itIn")),[...i.call(e+"_copy",i.getLocal("itAux"),i.i32_sub(i.getLocal("itAux"),i.i32_const(n))),...i.call(e+"_zero",i.getLocal("itOut"))],[...i.call(e+"_copy",i.i32_sub(i.getLocal("itAux"),i.i32_const(n)),o),...i.call(e+"_mul",i.getLocal("itAux"),i.getLocal("itIn"),i.i32_sub(i.getLocal("itAux"),i.i32_const(n))),...i.call(e+"_mul",i.getLocal("itAux"),o,i.getLocal("itOut"))]),i.setLocal("itIn",i.i32_sub(i.getLocal("itIn"),i.getLocal("inStep"))),i.setLocal("itOut",i.i32_sub(i.getLocal("itOut"),i.getLocal("outStep"))),i.setLocal("itAux",i.i32_sub(i.getLocal("itAux"),i.i32_const(n))),i.setLocal("i",i.i32_sub(i.getLocal("i"),i.i32_const(1))),i.br(0)))),r.addCode(i.i32_store(i.i32_const(0),i.getLocal("itAux")))};var hy=function(t,e,n,r,i,o){void 0===o&&(o=r<i);const s=t.addFunction(e);s.addParam("pIn","i32"),s.addParam("n","i32"),s.addParam("pOut","i32"),s.addLocal("i","i32"),s.addLocal("itIn","i32"),s.addLocal("itOut","i32");const a=s.getCodeBuilder();o?s.addCode(a.setLocal("itIn",a.i32_add(a.getLocal("pIn"),a.i32_mul(a.i32_sub(a.getLocal("n"),a.i32_const(1)),a.i32_const(r)))),a.setLocal("itOut",a.i32_add(a.getLocal("pOut"),a.i32_mul(a.i32_sub(a.getLocal("n"),a.i32_const(1)),a.i32_const(i)))),a.setLocal("i",a.i32_const(0)),a.block(a.loop(a.br_if(1,a.i32_eq(a.getLocal("i"),a.getLocal("n"))),a.call(n,a.getLocal("itIn"),a.getLocal("itOut")),a.setLocal("itIn",a.i32_sub(a.getLocal("itIn"),a.i32_const(r))),a.setLocal("itOut",a.i32_sub(a.getLocal("itOut"),a.i32_const(i))),a.setLocal("i",a.i32_add(a.getLocal("i"),a.i32_const(1))),a.br(0)))):s.addCode(a.setLocal("itIn",a.getLocal("pIn")),a.setLocal("itOut",a.getLocal("pOut")),a.setLocal("i",a.i32_const(0)),a.block(a.loop(a.br_if(1,a.i32_eq(a.getLocal("i"),a.getLocal("n"))),a.call(n,a.getLocal("itIn"),a.getLocal("itOut")),a.setLocal("itIn",a.i32_add(a.getLocal("itIn"),a.i32_const(r))),a.setLocal("itOut",a.i32_add(a.getLocal("itOut"),a.i32_const(i))),a.setLocal("i",a.i32_add(a.getLocal("i"),a.i32_const(1))),a.br(0))))};var dy=function(t,e,n,r,i,o){void 0===o&&(o=r<i);const s=t.addFunction(e);s.addParam("pIn1","i32"),s.addParam("pIn2","i32"),s.addParam("n","i32"),s.addParam("pOut","i32"),s.addLocal("i","i32"),s.addLocal("itIn1","i32"),s.addLocal("itIn2","i32"),s.addLocal("itOut","i32");const a=s.getCodeBuilder();o?s.addCode(a.setLocal("itIn1",a.i32_add(a.getLocal("pIn1"),a.i32_mul(a.i32_sub(a.getLocal("n"),a.i32_const(1)),a.i32_const(r)))),a.setLocal("itIn2",a.i32_add(a.getLocal("pIn2"),a.i32_mul(a.i32_sub(a.getLocal("n"),a.i32_const(1)),a.i32_const(r)))),a.setLocal("itOut",a.i32_add(a.getLocal("pOut"),a.i32_mul(a.i32_sub(a.getLocal("n"),a.i32_const(1)),a.i32_const(i)))),a.setLocal("i",a.i32_const(0)),a.block(a.loop(a.br_if(1,a.i32_eq(a.getLocal("i"),a.getLocal("n"))),a.call(n,a.getLocal("itIn1"),a.getLocal("itIn2"),a.getLocal("itOut")),a.setLocal("itIn1",a.i32_sub(a.getLocal("itIn1"),a.i32_const(r))),a.setLocal("itIn2",a.i32_sub(a.getLocal("itIn2"),a.i32_const(r))),a.setLocal("itOut",a.i32_sub(a.getLocal("itOut"),a.i32_const(i))),a.setLocal("i",a.i32_add(a.getLocal("i"),a.i32_const(1))),a.br(0)))):s.addCode(a.setLocal("itIn1",a.getLocal("pIn1")),a.setLocal("itIn2",a.getLocal("pIn2")),a.setLocal("itOut",a.getLocal("pOut")),a.setLocal("i",a.i32_const(0)),a.block(a.loop(a.br_if(1,a.i32_eq(a.getLocal("i"),a.getLocal("n"))),a.call(n,a.getLocal("itIn1"),a.getLocal("itIn2"),a.getLocal("itOut")),a.setLocal("itIn1",a.i32_add(a.getLocal("itIn1"),a.i32_const(r))),a.setLocal("itIn2",a.i32_add(a.getLocal("itIn2"),a.i32_const(r))),a.setLocal("itOut",a.i32_add(a.getLocal("itOut"),a.i32_const(i))),a.setLocal("i",a.i32_add(a.getLocal("i"),a.i32_const(1))),a.br(0))))};var py={};function fy(t,e){return t===e?0:t>e?1:-1}function Ay(t){return t*t}function gy(t){return t%2n!=0n}function Ey(t){return t%2n==0n}function my(t){return t<0n}function wy(t){return t>0n}function yy(t){return my(t)?t.toString(2).length-1:t.toString(2).length}function Iy(t){return t<0n?-t:t}function Cy(t){return 1n===Iy(t)}function By(t,e){for(var n,r,i,o=0n,s=1n,a=e,c=Iy(t);0n!==c;)n=a/c,r=o,i=a,o=s,a=c,s=r-n*s,c=i-n*c;if(!Cy(a))throw new Error(t.toString()+" and "+e.toString()+" are not co-prime");return-1===fy(o,0n)&&(o+=e),my(t)?-o:o}function Ty(t,e,n){if(0n===n)throw new Error("Cannot take modPow with modulus 0");var r=1n,i=t%n;for(my(e)&&(e*=-1n,i=By(i,n));wy(e);){if(0n===i)return 0n;gy(e)&&(r=r*i%n),e/=2n,i=Ay(i)%n}return r}function Dy(t,e){return 0n!==e&&(!!Cy(e)||(0===function(t,e){return(t=t>=0n?t:-t)===(e=e>=0n?e:-e)?0:t>e?1:-1}(e,2n)?Ey(t):t%e===0n))}function by(t,e){for(var n,r,i,o=function(t){return t-1n}(t),s=o,a=0;Ey(s);)s/=2n,a++;t:for(r=0;r<e.length;r++)if(!(t<e[r]||Cy(i=Ty(BigInt(e[r]),s,t))||i===o)){for(n=a-1;0!=n;n--){if(Cy(i=Ay(i)%t))return!1;if(i===o)continue t}return!1}return!0}py.bitLength=yy,py.isOdd=gy,py.isNegative=my,py.abs=Iy,py.isUnit=Cy,py.compare=fy,py.modInv=By,py.modPow=Ty,py.isPrime=function(t){var e=function(t){var e=Iy(t);return!Cy(e)&&(2n===e||3n===e||5n===e||!(Ey(e)||Dy(e,3n)||Dy(e,5n))&&(e<49n||void 0))}(t);if(void 0!==e)return e;var n=Iy(t),r=yy(n);if(r<=64)return by(n,[2,3,5,7,11,13,17,19,23,29,31,37]);for(var i=Math.log(2)*Number(r),o=Math.ceil(i),s=[],a=0;a<o;a++)s.push(BigInt(a+2));return by(n,s)},py.square=Ay;const My=function(t,e,n){const r=n||"int";if(t.modules[r])return r;t.modules[r]={};const i=2*e,o=8*e;return function(){const n=t.addFunction(r+"_copy");n.addParam("px","i32"),n.addParam("pr","i32");const i=n.getCodeBuilder();for(let t=0;t<e;t++)n.addCode(i.i64_store(i.getLocal("pr"),8*t,i.i64_load(i.getLocal("px"),8*t)))}(),function(){const n=t.addFunction(r+"_zero");n.addParam("pr","i32");const i=n.getCodeBuilder();for(let t=0;t<e;t++)n.addCode(i.i64_store(i.getLocal("pr"),8*t,i.i64_const(0)))}(),function(){const n=t.addFunction(r+"_isZero");n.addParam("px","i32"),n.setReturnType("i32");const i=n.getCodeBuilder();n.addCode(function t(e){return 0==e?i.ret(i.i64_eqz(i.i64_load(i.getLocal("px")))):i.if(i.i64_eqz(i.i64_load(i.getLocal("px"),8*e)),t(e-1),i.ret(i.i32_const(0)))}(e-1)),n.addCode(i.ret(i.i32_const(0)))}(),function(){const n=t.addFunction(r+"_one");n.addParam("pr","i32");const i=n.getCodeBuilder();n.addCode(i.i64_store(i.getLocal("pr"),0,i.i64_const(1)));for(let t=1;t<e;t++)n.addCode(i.i64_store(i.getLocal("pr"),8*t,i.i64_const(0)))}(),function(){const n=t.addFunction(r+"_eq");n.addParam("px","i32"),n.addParam("py","i32"),n.setReturnType("i32");const i=n.getCodeBuilder();n.addCode(function t(e){return 0==e?i.ret(i.i64_eq(i.i64_load(i.getLocal("px")),i.i64_load(i.getLocal("py")))):i.if(i.i64_eq(i.i64_load(i.getLocal("px"),8*e),i.i64_load(i.getLocal("py"),8*e)),t(e-1),i.ret(i.i32_const(0)))}(e-1)),n.addCode(i.ret(i.i32_const(0)))}(),function(){const n=t.addFunction(r+"_gte");n.addParam("px","i32"),n.addParam("py","i32"),n.setReturnType("i32");const i=n.getCodeBuilder();n.addCode(function t(e){return 0==e?i.ret(i.i64_ge_u(i.i64_load(i.getLocal("px")),i.i64_load(i.getLocal("py")))):i.if(i.i64_lt_u(i.i64_load(i.getLocal("px"),8*e),i.i64_load(i.getLocal("py"),8*e)),i.ret(i.i32_const(0)),i.if(i.i64_gt_u(i.i64_load(i.getLocal("px"),8*e),i.i64_load(i.getLocal("py"),8*e)),i.ret(i.i32_const(1)),t(e-1)))}(e-1)),n.addCode(i.ret(i.i32_const(0)))}(),function(){const e=t.addFunction(r+"_add");e.addParam("x","i32"),e.addParam("y","i32"),e.addParam("r","i32"),e.setReturnType("i32"),e.addLocal("c","i64");const n=e.getCodeBuilder();e.addCode(n.setLocal("c",n.i64_add(n.i64_load32_u(n.getLocal("x")),n.i64_load32_u(n.getLocal("y"))))),e.addCode(n.i64_store32(n.getLocal("r"),n.getLocal("c")));for(let t=1;t<i;t++)e.addCode(n.setLocal("c",n.i64_add(n.i64_add(n.i64_load32_u(n.getLocal("x"),4*t),n.i64_load32_u(n.getLocal("y"),4*t)),n.i64_shr_u(n.getLocal("c"),n.i64_const(32))))),e.addCode(n.i64_store32(n.getLocal("r"),4*t,n.getLocal("c")));e.addCode(n.i32_wrap_i64(n.i64_shr_u(n.getLocal("c"),n.i64_const(32))))}(),function(){const e=t.addFunction(r+"_sub");e.addParam("x","i32"),e.addParam("y","i32"),e.addParam("r","i32"),e.setReturnType("i32"),e.addLocal("c","i64");const n=e.getCodeBuilder();e.addCode(n.setLocal("c",n.i64_sub(n.i64_load32_u(n.getLocal("x")),n.i64_load32_u(n.getLocal("y"))))),e.addCode(n.i64_store32(n.getLocal("r"),n.i64_and(n.getLocal("c"),n.i64_const("0xFFFFFFFF"))));for(let t=1;t<i;t++)e.addCode(n.setLocal("c",n.i64_add(n.i64_sub(n.i64_load32_u(n.getLocal("x"),4*t),n.i64_load32_u(n.getLocal("y"),4*t)),n.i64_shr_s(n.getLocal("c"),n.i64_const(32))))),e.addCode(n.i64_store32(n.getLocal("r"),4*t,n.i64_and(n.getLocal("c"),n.i64_const("0xFFFFFFFF"))));e.addCode(n.i32_wrap_i64(n.i64_shr_s(n.getLocal("c"),n.i64_const(32))))}(),function(){const e=t.addFunction(r+"_mul");e.addParam("x","i32"),e.addParam("y","i32"),e.addParam("r","i32"),e.addLocal("c0","i64"),e.addLocal("c1","i64");for(let t=0;t<i;t++)e.addLocal("x"+t,"i64"),e.addLocal("y"+t,"i64");const n=e.getCodeBuilder(),o=[],s=[];function a(t,e){let r,i;return o[t]?r=n.getLocal("x"+t):(r=n.teeLocal("x"+t,n.i64_load32_u(n.getLocal("x"),4*t)),o[t]=!0),s[e]?i=n.getLocal("y"+e):(i=n.teeLocal("y"+e,n.i64_load32_u(n.getLocal("y"),4*e)),s[e]=!0),n.i64_mul(r,i)}let c="c0",l="c1";for(let t=0;t<2*i-1;t++){for(let r=Math.max(0,t-i+1);r<=t&&r<i;r++){const i=t-r;e.addCode(n.setLocal(c,n.i64_add(n.i64_and(n.getLocal(c),n.i64_const(4294967295)),a(r,i)))),e.addCode(n.setLocal(l,n.i64_add(n.getLocal(l),n.i64_shr_u(n.getLocal(c),n.i64_const(32)))))}e.addCode(n.i64_store32(n.getLocal("r"),4*t,n.getLocal(c))),[c,l]=[l,c],e.addCode(n.setLocal(l,n.i64_shr_u(n.getLocal(c),n.i64_const(32))))}e.addCode(n.i64_store32(n.getLocal("r"),4*i*2-4,n.getLocal(c)))}(),function(){const e=t.addFunction(r+"_square");e.addParam("x","i32"),e.addParam("r","i32"),e.addLocal("c0","i64"),e.addLocal("c1","i64"),e.addLocal("c0_old","i64"),e.addLocal("c1_old","i64");for(let t=0;t<i;t++)e.addLocal("x"+t,"i64");const n=e.getCodeBuilder(),o=[];function s(t,e){let r,i;return o[t]?r=n.getLocal("x"+t):(r=n.teeLocal("x"+t,n.i64_load32_u(n.getLocal("x"),4*t)),o[t]=!0),o[e]?i=n.getLocal("x"+e):(i=n.teeLocal("x"+e,n.i64_load32_u(n.getLocal("x"),4*e)),o[e]=!0),n.i64_mul(r,i)}let a="c0",c="c1",l="c0_old",u="c1_old";for(let t=0;t<2*i-1;t++){e.addCode(n.setLocal(a,n.i64_const(0)),n.setLocal(c,n.i64_const(0)));for(let r=Math.max(0,t-i+1);r<t+1>>1&&r<i;r++){const i=t-r;e.addCode(n.setLocal(a,n.i64_add(n.i64_and(n.getLocal(a),n.i64_const(4294967295)),s(r,i)))),e.addCode(n.setLocal(c,n.i64_add(n.getLocal(c),n.i64_shr_u(n.getLocal(a),n.i64_const(32)))))}e.addCode(n.setLocal(a,n.i64_shl(n.i64_and(n.getLocal(a),n.i64_const(4294967295)),n.i64_const(1)))),e.addCode(n.setLocal(c,n.i64_add(n.i64_shl(n.getLocal(c),n.i64_const(1)),n.i64_shr_u(n.getLocal(a),n.i64_const(32))))),t%2==0&&(e.addCode(n.setLocal(a,n.i64_add(n.i64_and(n.getLocal(a),n.i64_const(4294967295)),s(t>>1,t>>1)))),e.addCode(n.setLocal(c,n.i64_add(n.getLocal(c),n.i64_shr_u(n.getLocal(a),n.i64_const(32)))))),t>0&&(e.addCode(n.setLocal(a,n.i64_add(n.i64_and(n.getLocal(a),n.i64_const(4294967295)),n.i64_and(n.getLocal(l),n.i64_const(4294967295))))),e.addCode(n.setLocal(c,n.i64_add(n.i64_add(n.getLocal(c),n.i64_shr_u(n.getLocal(a),n.i64_const(32))),n.getLocal(u))))),e.addCode(n.i64_store32(n.getLocal("r"),4*t,n.getLocal(a))),e.addCode(n.setLocal(l,n.getLocal(c)),n.setLocal(u,n.i64_shr_u(n.getLocal(l),n.i64_const(32))))}e.addCode(n.i64_store32(n.getLocal("r"),4*i*2-4,n.getLocal(l)))}(),function(){const e=t.addFunction(r+"_squareOld");e.addParam("x","i32"),e.addParam("r","i32");const n=e.getCodeBuilder();e.addCode(n.call(r+"_mul",n.getLocal("x"),n.getLocal("x"),n.getLocal("r")))}(),function(){!function(){const e=t.addFunction(r+"__mul1");e.addParam("px","i32"),e.addParam("y","i64"),e.addParam("pr","i32"),e.addLocal("c","i64");const n=e.getCodeBuilder();e.addCode(n.setLocal("c",n.i64_mul(n.i64_load32_u(n.getLocal("px"),0,0),n.getLocal("y")))),e.addCode(n.i64_store32(n.getLocal("pr"),0,0,n.getLocal("c")));for(let t=1;t<i;t++)e.addCode(n.setLocal("c",n.i64_add(n.i64_mul(n.i64_load32_u(n.getLocal("px"),4*t,0),n.getLocal("y")),n.i64_shr_u(n.getLocal("c"),n.i64_const(32))))),e.addCode(n.i64_store32(n.getLocal("pr"),4*t,0,n.getLocal("c")))}(),function(){const e=t.addFunction(r+"__add1");e.addParam("x","i32"),e.addParam("y","i64"),e.addLocal("c","i64"),e.addLocal("px","i32");const n=e.getCodeBuilder();e.addCode(n.setLocal("px",n.getLocal("x"))),e.addCode(n.setLocal("c",n.i64_add(n.i64_load32_u(n.getLocal("px"),0,0),n.getLocal("y")))),e.addCode(n.i64_store32(n.getLocal("px"),0,0,n.getLocal("c"))),e.addCode(n.setLocal("c",n.i64_shr_u(n.getLocal("c"),n.i64_const(32)))),e.addCode(n.block(n.loop(n.br_if(1,n.i64_eqz(n.getLocal("c"))),n.setLocal("px",n.i32_add(n.getLocal("px"),n.i32_const(4))),n.setLocal("c",n.i64_add(n.i64_load32_u(n.getLocal("px"),0,0),n.getLocal("c"))),n.i64_store32(n.getLocal("px"),0,0,n.getLocal("c")),n.setLocal("c",n.i64_shr_u(n.getLocal("c"),n.i64_const(32))),n.br(0))))}();const e=t.addFunction(r+"_div");e.addParam("x","i32"),e.addParam("y","i32"),e.addParam("c","i32"),e.addParam("r","i32"),e.addLocal("rr","i32"),e.addLocal("cc","i32"),e.addLocal("eX","i32"),e.addLocal("eY","i32"),e.addLocal("sy","i64"),e.addLocal("sx","i64"),e.addLocal("ec","i32");const n=e.getCodeBuilder(),s=n.i32_const(t.alloc(o)),a=n.i32_const(t.alloc(o)),c=n.i32_const(t.alloc(o)),l=n.getLocal("cc"),u=n.getLocal("rr"),h=t.alloc(2*o),d=n.i32_const(h),p=n.i32_const(h+o);e.addCode(n.if(n.getLocal("c"),n.setLocal("cc",n.getLocal("c")),n.setLocal("cc",a))),e.addCode(n.if(n.getLocal("r"),n.setLocal("rr",n.getLocal("r")),n.setLocal("rr",c))),e.addCode(n.call(r+"_copy",n.getLocal("x"),u)),e.addCode(n.call(r+"_copy",n.getLocal("y"),s)),e.addCode(n.call(r+"_zero",l)),e.addCode(n.call(r+"_zero",d)),e.addCode(n.setLocal("eX",n.i32_const(o-1))),e.addCode(n.setLocal("eY",n.i32_const(o-1))),e.addCode(n.block(n.loop(n.br_if(1,n.i32_or(n.i32_load8_u(n.i32_add(s,n.getLocal("eY")),0,0),n.i32_eq(n.getLocal("eY"),n.i32_const(3)))),n.setLocal("eY",n.i32_sub(n.getLocal("eY"),n.i32_const(1))),n.br(0)))),e.addCode(n.setLocal("sy",n.i64_add(n.i64_load32_u(n.i32_sub(n.i32_add(s,n.getLocal("eY")),n.i32_const(3)),0,0),n.i64_const(1)))),e.addCode(n.if(n.i64_eq(n.getLocal("sy"),n.i64_const(1)),n.drop(n.i64_div_u(n.i64_const(0),n.i64_const(0))))),e.addCode(n.block(n.loop(n.block(n.loop(n.br_if(1,n.i32_or(n.i32_load8_u(n.i32_add(u,n.getLocal("eX")),0,0),n.i32_eq(n.getLocal("eX"),n.i32_const(7)))),n.setLocal("eX",n.i32_sub(n.getLocal("eX"),n.i32_const(1))),n.br(0))),n.setLocal("sx",n.i64_load(n.i32_sub(n.i32_add(u,n.getLocal("eX")),n.i32_const(7)),0,0)),n.setLocal("sx",n.i64_div_u(n.getLocal("sx"),n.getLocal("sy"))),n.setLocal("ec",n.i32_sub(n.i32_sub(n.getLocal("eX"),n.getLocal("eY")),n.i32_const(4))),n.block(n.loop(n.br_if(1,n.i32_and(n.i64_eqz(n.i64_and(n.getLocal("sx"),n.i64_const("0xFFFFFFFF00000000"))),n.i32_ge_s(n.getLocal("ec"),n.i32_const(0)))),n.setLocal("sx",n.i64_shr_u(n.getLocal("sx"),n.i64_const(8))),n.setLocal("ec",n.i32_add(n.getLocal("ec"),n.i32_const(1))),n.br(0))),n.if(n.i64_eqz(n.getLocal("sx")),[...n.br_if(2,n.i32_eqz(n.call(r+"_gte",u,s))),...n.setLocal("sx",n.i64_const(1)),...n.setLocal("ec",n.i32_const(0))]),n.call(r+"__mul1",s,n.getLocal("sx"),p),n.drop(n.call(r+"_sub",u,n.i32_sub(p,n.getLocal("ec")),u)),n.call(r+"__add1",n.i32_add(l,n.getLocal("ec")),n.getLocal("sx")),n.br(0))))}(),function(){const e=t.addFunction(r+"_inverseMod");e.addParam("px","i32"),e.addParam("pm","i32"),e.addParam("pr","i32"),e.addLocal("t","i32"),e.addLocal("newt","i32"),e.addLocal("r","i32"),e.addLocal("qq","i32"),e.addLocal("qr","i32"),e.addLocal("newr","i32"),e.addLocal("swp","i32"),e.addLocal("x","i32"),e.addLocal("signt","i32"),e.addLocal("signnewt","i32"),e.addLocal("signx","i32");const n=e.getCodeBuilder(),i=n.i32_const(t.alloc(o)),s=n.i32_const(t.alloc(o)),a=n.i32_const(t.alloc(o)),c=n.i32_const(t.alloc(o)),l=n.i32_const(t.alloc(o)),u=n.i32_const(t.alloc(o)),h=n.i32_const(t.alloc(2*o)),d=n.i32_const(t.alloc(o));e.addCode(n.setLocal("t",i),n.call(r+"_zero",i),n.setLocal("signt",n.i32_const(0))),e.addCode(n.setLocal("r",s),n.call(r+"_copy",n.getLocal("pm"),s)),e.addCode(n.setLocal("newt",a),n.call(r+"_one",a),n.setLocal("signnewt",n.i32_const(0))),e.addCode(n.setLocal("newr",c),n.call(r+"_copy",n.getLocal("px"),c)),e.addCode(n.setLocal("qq",l)),e.addCode(n.setLocal("qr",u)),e.addCode(n.setLocal("x",d)),e.addCode(n.block(n.loop(n.br_if(1,n.call(r+"_isZero",n.getLocal("newr"))),n.call(r+"_div",n.getLocal("r"),n.getLocal("newr"),n.getLocal("qq"),n.getLocal("qr")),n.call(r+"_mul",n.getLocal("qq"),n.getLocal("newt"),h),n.if(n.getLocal("signt"),n.if(n.getLocal("signnewt"),n.if(n.call(r+"_gte",h,n.getLocal("t")),[...n.drop(n.call(r+"_sub",h,n.getLocal("t"),n.getLocal("x"))),...n.setLocal("signx",n.i32_const(0))],[...n.drop(n.call(r+"_sub",n.getLocal("t"),h,n.getLocal("x"))),...n.setLocal("signx",n.i32_const(1))]),[...n.drop(n.call(r+"_add",h,n.getLocal("t"),n.getLocal("x"))),...n.setLocal("signx",n.i32_const(1))]),n.if(n.getLocal("signnewt"),[...n.drop(n.call(r+"_add",h,n.getLocal("t"),n.getLocal("x"))),...n.setLocal("signx",n.i32_const(0))],n.if(n.call(r+"_gte",n.getLocal("t"),h),[...n.drop(n.call(r+"_sub",n.getLocal("t"),h,n.getLocal("x"))),...n.setLocal("signx",n.i32_const(0))],[...n.drop(n.call(r+"_sub",h,n.getLocal("t"),n.getLocal("x"))),...n.setLocal("signx",n.i32_const(1))]))),n.setLocal("swp",n.getLocal("t")),n.setLocal("t",n.getLocal("newt")),n.setLocal("newt",n.getLocal("x")),n.setLocal("x",n.getLocal("swp")),n.setLocal("signt",n.getLocal("signnewt")),n.setLocal("signnewt",n.getLocal("signx")),n.setLocal("swp",n.getLocal("r")),n.setLocal("r",n.getLocal("newr")),n.setLocal("newr",n.getLocal("qr")),n.setLocal("qr",n.getLocal("swp")),n.br(0)))),e.addCode(n.if(n.getLocal("signt"),n.drop(n.call(r+"_sub",n.getLocal("pm"),n.getLocal("t"),n.getLocal("pr"))),n.call(r+"_copy",n.getLocal("t"),n.getLocal("pr"))))}(),t.exportFunction(r+"_copy"),t.exportFunction(r+"_zero"),t.exportFunction(r+"_one"),t.exportFunction(r+"_isZero"),t.exportFunction(r+"_eq"),t.exportFunction(r+"_gte"),t.exportFunction(r+"_add"),t.exportFunction(r+"_sub"),t.exportFunction(r+"_mul"),t.exportFunction(r+"_square"),t.exportFunction(r+"_squareOld"),t.exportFunction(r+"_div"),t.exportFunction(r+"_inverseMod"),r},Ny=cy,vy=ly,Sy=uy,_y=hy,Ly=dy,{bitLength:xy,modInv:Ry,modPow:Fy,isPrime:Oy,isOdd:Qy,square:ky}=py;var Uy=function(t,e,n,r){const i=BigInt(e),o=Math.floor((xy(i-1n)-1)/64)+1,s=2*o,a=8*o,c=n||"f1m";if(t.modules[c])return c;const l=My(t,o,r),u=t.alloc(a,Ny.bigInt2BytesLE(i,a)),h=t.alloc(Ny.bigInt2BytesLE(ky(1n<<BigInt(64*o))%i,a)),d=t.alloc(Ny.bigInt2BytesLE((1n<<BigInt(64*o))%i,a)),p=t.alloc(Ny.bigInt2BytesLE(0n,a)),f=i-1n,A=f>>1n,g=t.alloc(a,Ny.bigInt2BytesLE(A,a)),E=A+1n,m=t.alloc(a,Ny.bigInt2BytesLE(E,a));t.modules[c]={pq:u,pR2:h,n64:o,q:i,pOne:d,pZero:p,pePlusOne:m};let w=2n;if(Oy(i))for(;Fy(w,A,i)!==f;)w+=1n;let y=0,I=f;for(;!Qy(I)&&0n!==I;)y++,I>>=1n;const C=t.alloc(a,Ny.bigInt2BytesLE(I,a)),B=Fy(w,I,i),T=t.alloc(Ny.bigInt2BytesLE((B<<BigInt(64*o))%i,a)),D=I+1n>>1n,b=t.alloc(a,Ny.bigInt2BytesLE(D,a));return t.exportFunction(l+"_copy",c+"_copy"),t.exportFunction(l+"_zero",c+"_zero"),t.exportFunction(l+"_isZero",c+"_isZero"),t.exportFunction(l+"_eq",c+"_eq"),function(){const e=t.addFunction(c+"_isOne");e.addParam("x","i32"),e.setReturnType("i32");const n=e.getCodeBuilder();e.addCode(n.ret(n.call(l+"_eq",n.getLocal("x"),n.i32_const(d))))}(),function(){const e=t.addFunction(c+"_add");e.addParam("x","i32"),e.addParam("y","i32"),e.addParam("r","i32");const n=e.getCodeBuilder();e.addCode(n.if(n.call(l+"_add",n.getLocal("x"),n.getLocal("y"),n.getLocal("r")),n.drop(n.call(l+"_sub",n.getLocal("r"),n.i32_const(u),n.getLocal("r"))),n.if(n.call(l+"_gte",n.getLocal("r"),n.i32_const(u)),n.drop(n.call(l+"_sub",n.getLocal("r"),n.i32_const(u),n.getLocal("r"))))))}(),function(){const e=t.addFunction(c+"_sub");e.addParam("x","i32"),e.addParam("y","i32"),e.addParam("r","i32");const n=e.getCodeBuilder();e.addCode(n.if(n.call(l+"_sub",n.getLocal("x"),n.getLocal("y"),n.getLocal("r")),n.drop(n.call(l+"_add",n.getLocal("r"),n.i32_const(u),n.getLocal("r")))))}(),function(){const e=t.addFunction(c+"_neg");e.addParam("x","i32"),e.addParam("r","i32");const n=e.getCodeBuilder();e.addCode(n.call(c+"_sub",n.i32_const(p),n.getLocal("x"),n.getLocal("r")))}(),function(){const e=t.alloc(s*s*8),n=t.addFunction(c+"_mReduct");n.addParam("t","i32"),n.addParam("r","i32"),n.addLocal("np32","i64"),n.addLocal("c","i64"),n.addLocal("m","i64");const r=n.getCodeBuilder(),o=Number(0x100000000n-Ry(i,0x100000000n));n.addCode(r.setLocal("np32",r.i64_const(o)));for(let t=0;t<s;t++){n.addCode(r.setLocal("c",r.i64_const(0))),n.addCode(r.setLocal("m",r.i64_and(r.i64_mul(r.i64_load32_u(r.getLocal("t"),4*t),r.getLocal("np32")),r.i64_const("0xFFFFFFFF"))));for(let e=0;e<s;e++)n.addCode(r.setLocal("c",r.i64_add(r.i64_add(r.i64_load32_u(r.getLocal("t"),4*(t+e)),r.i64_shr_u(r.getLocal("c"),r.i64_const(32))),r.i64_mul(r.i64_load32_u(r.i32_const(u),4*e),r.getLocal("m"))))),n.addCode(r.i64_store32(r.getLocal("t"),4*(t+e),r.getLocal("c")));n.addCode(r.i64_store32(r.i32_const(e),4*t,r.i64_shr_u(r.getLocal("c"),r.i64_const(32))))}n.addCode(r.call(c+"_add",r.i32_const(e),r.i32_add(r.getLocal("t"),r.i32_const(4*s)),r.getLocal("r")))}(),function(){const e=t.addFunction(c+"_mul");e.addParam("x","i32"),e.addParam("y","i32"),e.addParam("r","i32"),e.addLocal("c0","i64"),e.addLocal("c1","i64"),e.addLocal("np32","i64");for(let t=0;t<s;t++)e.addLocal("x"+t,"i64"),e.addLocal("y"+t,"i64"),e.addLocal("m"+t,"i64"),e.addLocal("q"+t,"i64");const n=e.getCodeBuilder(),r=Number(0x100000000n-Ry(i,0x100000000n));e.addCode(n.setLocal("np32",n.i64_const(r)));const o=[],a=[],h=[];function d(t,e){let r,i;return o[t]?r=n.getLocal("x"+t):(r=n.teeLocal("x"+t,n.i64_load32_u(n.getLocal("x"),4*t)),o[t]=!0),a[e]?i=n.getLocal("y"+e):(i=n.teeLocal("y"+e,n.i64_load32_u(n.getLocal("y"),4*e)),a[e]=!0),n.i64_mul(r,i)}function p(t,e){let r,i;return h[t]?r=n.getLocal("q"+t):(r=n.teeLocal("q"+t,n.i64_load32_u(n.i32_const(0),u+4*t)),h[t]=!0),i=n.getLocal("m"+e),n.i64_mul(r,i)}let f="c0",A="c1";for(let t=0;t<2*s-1;t++){for(let r=Math.max(0,t-s+1);r<=t&&r<s;r++){const i=t-r;e.addCode(n.setLocal(f,n.i64_add(n.i64_and(n.getLocal(f),n.i64_const(4294967295)),d(r,i)))),e.addCode(n.setLocal(A,n.i64_add(n.getLocal(A),n.i64_shr_u(n.getLocal(f),n.i64_const(32)))))}for(let r=Math.max(1,t-s+1);r<=t&&r<s;r++){const i=t-r;e.addCode(n.setLocal(f,n.i64_add(n.i64_and(n.getLocal(f),n.i64_const(4294967295)),p(r,i)))),e.addCode(n.setLocal(A,n.i64_add(n.getLocal(A),n.i64_shr_u(n.getLocal(f),n.i64_const(32)))))}t<s&&(e.addCode(n.setLocal("m"+t,n.i64_and(n.i64_mul(n.i64_and(n.getLocal(f),n.i64_const(4294967295)),n.getLocal("np32")),n.i64_const("0xFFFFFFFF")))),e.addCode(n.setLocal(f,n.i64_add(n.i64_and(n.getLocal(f),n.i64_const(4294967295)),p(0,t)))),e.addCode(n.setLocal(A,n.i64_add(n.getLocal(A),n.i64_shr_u(n.getLocal(f),n.i64_const(32)))))),t>=s&&e.addCode(n.i64_store32(n.getLocal("r"),4*(t-s),n.getLocal(f))),[f,A]=[A,f],e.addCode(n.setLocal(A,n.i64_shr_u(n.getLocal(f),n.i64_const(32))))}e.addCode(n.i64_store32(n.getLocal("r"),4*s-4,n.getLocal(f))),e.addCode(n.if(n.i32_wrap_i64(n.getLocal(A)),n.drop(n.call(l+"_sub",n.getLocal("r"),n.i32_const(u),n.getLocal("r"))),n.if(n.call(l+"_gte",n.getLocal("r"),n.i32_const(u)),n.drop(n.call(l+"_sub",n.getLocal("r"),n.i32_const(u),n.getLocal("r"))))))}(),function(){const e=t.addFunction(c+"_square");e.addParam("x","i32"),e.addParam("r","i32"),e.addLocal("c0","i64"),e.addLocal("c1","i64"),e.addLocal("c0_old","i64"),e.addLocal("c1_old","i64"),e.addLocal("np32","i64");for(let t=0;t<s;t++)e.addLocal("x"+t,"i64"),e.addLocal("m"+t,"i64"),e.addLocal("q"+t,"i64");const n=e.getCodeBuilder(),r=Number(0x100000000n-Ry(i,0x100000000n));e.addCode(n.setLocal("np32",n.i64_const(r)));const o=[],a=[];function h(t,e){let r,i;return o[t]?r=n.getLocal("x"+t):(r=n.teeLocal("x"+t,n.i64_load32_u(n.getLocal("x"),4*t)),o[t]=!0),o[e]?i=n.getLocal("x"+e):(i=n.teeLocal("x"+e,n.i64_load32_u(n.getLocal("x"),4*e)),o[e]=!0),n.i64_mul(r,i)}function d(t,e){let r,i;return a[t]?r=n.getLocal("q"+t):(r=n.teeLocal("q"+t,n.i64_load32_u(n.i32_const(0),u+4*t)),a[t]=!0),i=n.getLocal("m"+e),n.i64_mul(r,i)}let p="c0",f="c1",A="c0_old",g="c1_old";for(let t=0;t<2*s-1;t++){e.addCode(n.setLocal(p,n.i64_const(0)),n.setLocal(f,n.i64_const(0)));for(let r=Math.max(0,t-s+1);r<t+1>>1&&r<s;r++){const i=t-r;e.addCode(n.setLocal(p,n.i64_add(n.i64_and(n.getLocal(p),n.i64_const(4294967295)),h(r,i)))),e.addCode(n.setLocal(f,n.i64_add(n.getLocal(f),n.i64_shr_u(n.getLocal(p),n.i64_const(32)))))}e.addCode(n.setLocal(p,n.i64_shl(n.i64_and(n.getLocal(p),n.i64_const(4294967295)),n.i64_const(1)))),e.addCode(n.setLocal(f,n.i64_add(n.i64_shl(n.getLocal(f),n.i64_const(1)),n.i64_shr_u(n.getLocal(p),n.i64_const(32))))),t%2==0&&(e.addCode(n.setLocal(p,n.i64_add(n.i64_and(n.getLocal(p),n.i64_const(4294967295)),h(t>>1,t>>1)))),e.addCode(n.setLocal(f,n.i64_add(n.getLocal(f),n.i64_shr_u(n.getLocal(p),n.i64_const(32)))))),t>0&&(e.addCode(n.setLocal(p,n.i64_add(n.i64_and(n.getLocal(p),n.i64_const(4294967295)),n.i64_and(n.getLocal(A),n.i64_const(4294967295))))),e.addCode(n.setLocal(f,n.i64_add(n.i64_add(n.getLocal(f),n.i64_shr_u(n.getLocal(p),n.i64_const(32))),n.getLocal(g)))));for(let r=Math.max(1,t-s+1);r<=t&&r<s;r++){const i=t-r;e.addCode(n.setLocal(p,n.i64_add(n.i64_and(n.getLocal(p),n.i64_const(4294967295)),d(r,i)))),e.addCode(n.setLocal(f,n.i64_add(n.getLocal(f),n.i64_shr_u(n.getLocal(p),n.i64_const(32)))))}t<s&&(e.addCode(n.setLocal("m"+t,n.i64_and(n.i64_mul(n.i64_and(n.getLocal(p),n.i64_const(4294967295)),n.getLocal("np32")),n.i64_const("0xFFFFFFFF")))),e.addCode(n.setLocal(p,n.i64_add(n.i64_and(n.getLocal(p),n.i64_const(4294967295)),d(0,t)))),e.addCode(n.setLocal(f,n.i64_add(n.getLocal(f),n.i64_shr_u(n.getLocal(p),n.i64_const(32)))))),t>=s&&e.addCode(n.i64_store32(n.getLocal("r"),4*(t-s),n.getLocal(p))),e.addCode(n.setLocal(A,n.getLocal(f)),n.setLocal(g,n.i64_shr_u(n.getLocal(A),n.i64_const(32))))}e.addCode(n.i64_store32(n.getLocal("r"),4*s-4,n.getLocal(A))),e.addCode(n.if(n.i32_wrap_i64(n.getLocal(g)),n.drop(n.call(l+"_sub",n.getLocal("r"),n.i32_const(u),n.getLocal("r"))),n.if(n.call(l+"_gte",n.getLocal("r"),n.i32_const(u)),n.drop(n.call(l+"_sub",n.getLocal("r"),n.i32_const(u),n.getLocal("r"))))))}(),function(){const e=t.addFunction(c+"_squareOld");e.addParam("x","i32"),e.addParam("r","i32");const n=e.getCodeBuilder();e.addCode(n.call(c+"_mul",n.getLocal("x"),n.getLocal("x"),n.getLocal("r")))}(),function(){const e=t.addFunction(c+"_toMontgomery");e.addParam("x","i32"),e.addParam("r","i32");const n=e.getCodeBuilder();e.addCode(n.call(c+"_mul",n.getLocal("x"),n.i32_const(h),n.getLocal("r")))}(),function(){const e=t.alloc(2*a),n=t.addFunction(c+"_fromMontgomery");n.addParam("x","i32"),n.addParam("r","i32");const r=n.getCodeBuilder();n.addCode(r.call(l+"_copy",r.getLocal("x"),r.i32_const(e))),n.addCode(r.call(l+"_zero",r.i32_const(e+a))),n.addCode(r.call(c+"_mReduct",r.i32_const(e),r.getLocal("r")))}(),function(){const e=t.addFunction(c+"_isNegative");e.addParam("x","i32"),e.setReturnType("i32");const n=e.getCodeBuilder(),r=n.i32_const(t.alloc(a));e.addCode(n.call(c+"_fromMontgomery",n.getLocal("x"),r),n.call(l+"_gte",r,n.i32_const(m)))}(),function(){const e=t.addFunction(c+"_sign");e.addParam("x","i32"),e.setReturnType("i32");const n=e.getCodeBuilder(),r=n.i32_const(t.alloc(a));e.addCode(n.if(n.call(l+"_isZero",n.getLocal("x")),n.ret(n.i32_const(0))),n.call(c+"_fromMontgomery",n.getLocal("x"),r),n.if(n.call(l+"_gte",r,n.i32_const(m)),n.ret(n.i32_const(-1))),n.ret(n.i32_const(1)))}(),function(){const e=t.addFunction(c+"_inverse");e.addParam("x","i32"),e.addParam("r","i32");const n=e.getCodeBuilder();e.addCode(n.call(c+"_fromMontgomery",n.getLocal("x"),n.getLocal("r"))),e.addCode(n.call(l+"_inverseMod",n.getLocal("r"),n.i32_const(u),n.getLocal("r"))),e.addCode(n.call(c+"_toMontgomery",n.getLocal("r"),n.getLocal("r")))}(),function(){const e=t.addFunction(c+"_one");e.addParam("pr","i32");const n=e.getCodeBuilder();e.addCode(n.call(l+"_copy",n.i32_const(d),n.getLocal("pr")))}(),function(){const e=t.addFunction(c+"_load");e.addParam("scalar","i32"),e.addParam("scalarLen","i32"),e.addParam("r","i32"),e.addLocal("p","i32"),e.addLocal("l","i32"),e.addLocal("i","i32"),e.addLocal("j","i32");const n=e.getCodeBuilder(),r=n.i32_const(t.alloc(a)),i=t.alloc(a),o=n.i32_const(i);e.addCode(n.call(l+"_zero",n.getLocal("r")),n.setLocal("i",n.i32_const(a)),n.setLocal("p",n.getLocal("scalar")),n.block(n.loop(n.br_if(1,n.i32_gt_u(n.getLocal("i"),n.getLocal("scalarLen"))),n.if(n.i32_eq(n.getLocal("i"),n.i32_const(a)),n.call(c+"_one",r),n.call(c+"_mul",r,n.i32_const(h),r)),n.call(c+"_mul",n.getLocal("p"),r,o),n.call(c+"_add",n.getLocal("r"),o,n.getLocal("r")),n.setLocal("p",n.i32_add(n.getLocal("p"),n.i32_const(a))),n.setLocal("i",n.i32_add(n.getLocal("i"),n.i32_const(a))),n.br(0))),n.setLocal("l",n.i32_rem_u(n.getLocal("scalarLen"),n.i32_const(a))),n.if(n.i32_eqz(n.getLocal("l")),n.ret([])),n.call(l+"_zero",o),n.setLocal("j",n.i32_const(0)),n.block(n.loop(n.br_if(1,n.i32_eq(n.getLocal("j"),n.getLocal("l"))),n.i32_store8(n.getLocal("j"),i,n.i32_load8_u(n.getLocal("p"))),n.setLocal("p",n.i32_add(n.getLocal("p"),n.i32_const(1))),n.setLocal("j",n.i32_add(n.getLocal("j"),n.i32_const(1))),n.br(0))),n.if(n.i32_eq(n.getLocal("i"),n.i32_const(a)),n.call(c+"_one",r),n.call(c+"_mul",r,n.i32_const(h),r)),n.call(c+"_mul",o,r,o),n.call(c+"_add",n.getLocal("r"),o,n.getLocal("r")))}(),function(){const e=t.addFunction(c+"_timesScalar");e.addParam("x","i32"),e.addParam("scalar","i32"),e.addParam("scalarLen","i32"),e.addParam("r","i32");const n=e.getCodeBuilder(),r=n.i32_const(t.alloc(a));e.addCode(n.call(c+"_load",n.getLocal("scalar"),n.getLocal("scalarLen"),r),n.call(c+"_toMontgomery",r,r),n.call(c+"_mul",n.getLocal("x"),r,n.getLocal("r")))}(),Sy(t,c),_y(t,c+"_batchToMontgomery",c+"_toMontgomery",a,a),_y(t,c+"_batchFromMontgomery",c+"_fromMontgomery",a,a),_y(t,c+"_batchNeg",c+"_neg",a,a),Ly(t,c+"_batchAdd",c+"_add",a,a),Ly(t,c+"_batchSub",c+"_sub",a,a),Ly(t,c+"_batchMul",c+"_mul",a,a),t.exportFunction(c+"_add"),t.exportFunction(c+"_sub"),t.exportFunction(c+"_neg"),t.exportFunction(c+"_isNegative"),t.exportFunction(c+"_isOne"),t.exportFunction(c+"_sign"),t.exportFunction(c+"_mReduct"),t.exportFunction(c+"_mul"),t.exportFunction(c+"_square"),t.exportFunction(c+"_squareOld"),t.exportFunction(c+"_fromMontgomery"),t.exportFunction(c+"_toMontgomery"),t.exportFunction(c+"_inverse"),t.exportFunction(c+"_one"),t.exportFunction(c+"_load"),t.exportFunction(c+"_timesScalar"),vy(t,c+"_exp",a,c+"_mul",c+"_square",l+"_copy",c+"_one"),t.exportFunction(c+"_exp"),t.exportFunction(c+"_batchInverse"),Oy(i)&&(!function(){const e=t.addFunction(c+"_sqrt");e.addParam("n","i32"),e.addParam("r","i32"),e.addLocal("m","i32"),e.addLocal("i","i32"),e.addLocal("j","i32");const n=e.getCodeBuilder(),r=n.i32_const(d),i=n.i32_const(t.alloc(a)),o=n.i32_const(t.alloc(a)),s=n.i32_const(t.alloc(a)),l=n.i32_const(t.alloc(a)),u=n.i32_const(t.alloc(a));e.addCode(n.if(n.call(c+"_isZero",n.getLocal("n")),n.ret(n.call(c+"_zero",n.getLocal("r")))),n.setLocal("m",n.i32_const(y)),n.call(c+"_copy",n.i32_const(T),i),n.call(c+"_exp",n.getLocal("n"),n.i32_const(C),n.i32_const(a),o),n.call(c+"_exp",n.getLocal("n"),n.i32_const(b),n.i32_const(a),s),n.block(n.loop(n.br_if(1,n.call(c+"_eq",o,r)),n.call(c+"_square",o,l),n.setLocal("i",n.i32_const(1)),n.block(n.loop(n.br_if(1,n.call(c+"_eq",l,r)),n.call(c+"_square",l,l),n.setLocal("i",n.i32_add(n.getLocal("i"),n.i32_const(1))),n.br(0))),n.call(c+"_copy",i,u),n.setLocal("j",n.i32_sub(n.i32_sub(n.getLocal("m"),n.getLocal("i")),n.i32_const(1))),n.block(n.loop(n.br_if(1,n.i32_eqz(n.getLocal("j"))),n.call(c+"_square",u,u),n.setLocal("j",n.i32_sub(n.getLocal("j"),n.i32_const(1))),n.br(0))),n.setLocal("m",n.getLocal("i")),n.call(c+"_square",u,i),n.call(c+"_mul",o,i,o),n.call(c+"_mul",s,u,s),n.br(0))),n.if(n.call(c+"_isNegative",s),n.call(c+"_neg",s,n.getLocal("r")),n.call(c+"_copy",s,n.getLocal("r"))))}(),function(){const e=t.addFunction(c+"_isSquare");e.addParam("n","i32"),e.setReturnType("i32");const n=e.getCodeBuilder(),r=n.i32_const(d),i=n.i32_const(t.alloc(a));e.addCode(n.if(n.call(c+"_isZero",n.getLocal("n")),n.ret(n.i32_const(1))),n.call(c+"_exp",n.getLocal("n"),n.i32_const(g),n.i32_const(a),i),n.call(c+"_eq",i,r))}(),t.exportFunction(c+"_sqrt"),t.exportFunction(c+"_isSquare")),t.exportFunction(c+"_batchToMontgomery"),t.exportFunction(c+"_batchFromMontgomery"),c};const Py=Uy,{bitLength:Gy}=py;var Vy=function(t,e,n,r,i){const o=BigInt(e),s=Math.floor((Gy(o-1n)-1)/64)+1,a=8*s,c=n||"f1";if(t.modules[c])return c;t.modules[c]={n64:s};const l=i||"int",u=Py(t,o,r,l),h=t.modules[u].pR2,d=t.modules[u].pq,p=t.modules[u].pePlusOne;return function(){const e=t.alloc(a),n=t.addFunction(c+"_mul");n.addParam("x","i32"),n.addParam("y","i32"),n.addParam("r","i32");const r=n.getCodeBuilder();n.addCode(r.call(u+"_mul",r.getLocal("x"),r.getLocal("y"),r.i32_const(e))),n.addCode(r.call(u+"_mul",r.i32_const(e),r.i32_const(h),r.getLocal("r")))}(),function(){const e=t.addFunction(c+"_square");e.addParam("x","i32"),e.addParam("r","i32");const n=e.getCodeBuilder();e.addCode(n.call(c+"_mul",n.getLocal("x"),n.getLocal("x"),n.getLocal("r")))}(),function(){const e=t.addFunction(c+"_inverse");e.addParam("x","i32"),e.addParam("r","i32");const n=e.getCodeBuilder();e.addCode(n.call(l+"_inverseMod",n.getLocal("x"),n.i32_const(d),n.getLocal("r")))}(),function(){const e=t.addFunction(c+"_isNegative");e.addParam("x","i32"),e.setReturnType("i32");const n=e.getCodeBuilder();e.addCode(n.call(l+"_gte",n.getLocal("x"),n.i32_const(p)))}(),t.exportFunction(u+"_add",c+"_add"),t.exportFunction(u+"_sub",c+"_sub"),t.exportFunction(u+"_neg",c+"_neg"),t.exportFunction(c+"_mul"),t.exportFunction(c+"_square"),t.exportFunction(c+"_inverse"),t.exportFunction(c+"_isNegative"),t.exportFunction(u+"_copy",c+"_copy"),t.exportFunction(u+"_zero",c+"_zero"),t.exportFunction(u+"_one",c+"_one"),t.exportFunction(u+"_isZero",c+"_isZero"),t.exportFunction(u+"_eq",c+"_eq"),c};const Hy=ly,jy=uy,Yy=cy;var zy=function(t,e,n,r){if(t.modules[n])return n;const i=8*t.modules[r].n64,o=t.modules[r].q;return t.modules[n]={n64:2*t.modules[r].n64},function(){const e=t.addFunction(n+"_isZero");e.addParam("x","i32"),e.setReturnType("i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i));e.addCode(o.i32_and(o.call(r+"_isZero",s),o.call(r+"_isZero",a)))}(),function(){const e=t.addFunction(n+"_isOne");e.addParam("x","i32"),e.setReturnType("i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i));e.addCode(o.ret(o.i32_and(o.call(r+"_isOne",s),o.call(r+"_isZero",a))))}(),function(){const e=t.addFunction(n+"_zero");e.addParam("x","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i));e.addCode(o.call(r+"_zero",s),o.call(r+"_zero",a))}(),function(){const e=t.addFunction(n+"_one");e.addParam("x","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i));e.addCode(o.call(r+"_one",s),o.call(r+"_zero",a))}(),function(){const e=t.addFunction(n+"_copy");e.addParam("x","i32"),e.addParam("r","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.getLocal("r"),l=o.i32_add(o.getLocal("r"),o.i32_const(i));e.addCode(o.call(r+"_copy",s,c),o.call(r+"_copy",a,l))}(),function(){const o=t.addFunction(n+"_mul");o.addParam("x","i32"),o.addParam("y","i32"),o.addParam("r","i32");const s=o.getCodeBuilder(),a=s.getLocal("x"),c=s.i32_add(s.getLocal("x"),s.i32_const(i)),l=s.getLocal("y"),u=s.i32_add(s.getLocal("y"),s.i32_const(i)),h=s.getLocal("r"),d=s.i32_add(s.getLocal("r"),s.i32_const(i)),p=s.i32_const(t.alloc(i)),f=s.i32_const(t.alloc(i)),A=s.i32_const(t.alloc(i)),g=s.i32_const(t.alloc(i));o.addCode(s.call(r+"_mul",a,l,p),s.call(r+"_mul",c,u,f),s.call(r+"_add",a,c,A),s.call(r+"_add",l,u,g),s.call(r+"_mul",A,g,A),s.call(e,f,h),s.call(r+"_add",p,h,h),s.call(r+"_add",p,f,d),s.call(r+"_sub",A,d,d))}(),function(){const e=t.addFunction(n+"_mul1");e.addParam("x","i32"),e.addParam("y","i32"),e.addParam("r","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.getLocal("y"),l=o.getLocal("r"),u=o.i32_add(o.getLocal("r"),o.i32_const(i));e.addCode(o.call(r+"_mul",s,c,l),o.call(r+"_mul",a,c,u))}(),function(){const o=t.addFunction(n+"_square");o.addParam("x","i32"),o.addParam("r","i32");const s=o.getCodeBuilder(),a=s.getLocal("x"),c=s.i32_add(s.getLocal("x"),s.i32_const(i)),l=s.getLocal("r"),u=s.i32_add(s.getLocal("r"),s.i32_const(i)),h=s.i32_const(t.alloc(i)),d=s.i32_const(t.alloc(i)),p=s.i32_const(t.alloc(i)),f=s.i32_const(t.alloc(i));o.addCode(s.call(r+"_mul",a,c,h),s.call(r+"_add",a,c,d),s.call(e,c,p),s.call(r+"_add",a,p,p),s.call(e,h,f),s.call(r+"_add",f,h,f),s.call(r+"_mul",d,p,l),s.call(r+"_sub",l,f,l),s.call(r+"_add",h,h,u))}(),function(){const e=t.addFunction(n+"_add");e.addParam("x","i32"),e.addParam("y","i32"),e.addParam("r","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.getLocal("y"),l=o.i32_add(o.getLocal("y"),o.i32_const(i)),u=o.getLocal("r"),h=o.i32_add(o.getLocal("r"),o.i32_const(i));e.addCode(o.call(r+"_add",s,c,u),o.call(r+"_add",a,l,h))}(),function(){const e=t.addFunction(n+"_sub");e.addParam("x","i32"),e.addParam("y","i32"),e.addParam("r","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.getLocal("y"),l=o.i32_add(o.getLocal("y"),o.i32_const(i)),u=o.getLocal("r"),h=o.i32_add(o.getLocal("r"),o.i32_const(i));e.addCode(o.call(r+"_sub",s,c,u),o.call(r+"_sub",a,l,h))}(),function(){const e=t.addFunction(n+"_neg");e.addParam("x","i32"),e.addParam("r","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.getLocal("r"),l=o.i32_add(o.getLocal("r"),o.i32_const(i));e.addCode(o.call(r+"_neg",s,c),o.call(r+"_neg",a,l))}(),function(){const e=t.addFunction(n+"_conjugate");e.addParam("x","i32"),e.addParam("r","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.getLocal("r"),l=o.i32_add(o.getLocal("r"),o.i32_const(i));e.addCode(o.call(r+"_copy",s,c),o.call(r+"_neg",a,l))}(),function(){const e=t.addFunction(n+"_toMontgomery");e.addParam("x","i32"),e.addParam("r","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.getLocal("r"),l=o.i32_add(o.getLocal("r"),o.i32_const(i));e.addCode(o.call(r+"_toMontgomery",s,c),o.call(r+"_toMontgomery",a,l))}(),function(){const e=t.addFunction(n+"_fromMontgomery");e.addParam("x","i32"),e.addParam("r","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.getLocal("r"),l=o.i32_add(o.getLocal("r"),o.i32_const(i));e.addCode(o.call(r+"_fromMontgomery",s,c),o.call(r+"_fromMontgomery",a,l))}(),function(){const e=t.addFunction(n+"_eq");e.addParam("x","i32"),e.addParam("y","i32"),e.setReturnType("i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.getLocal("y"),l=o.i32_add(o.getLocal("y"),o.i32_const(i));e.addCode(o.i32_and(o.call(r+"_eq",s,c),o.call(r+"_eq",a,l)))}(),function(){const o=t.addFunction(n+"_inverse");o.addParam("x","i32"),o.addParam("r","i32");const s=o.getCodeBuilder(),a=s.getLocal("x"),c=s.i32_add(s.getLocal("x"),s.i32_const(i)),l=s.getLocal("r"),u=s.i32_add(s.getLocal("r"),s.i32_const(i)),h=s.i32_const(t.alloc(i)),d=s.i32_const(t.alloc(i)),p=s.i32_const(t.alloc(i)),f=s.i32_const(t.alloc(i));o.addCode(s.call(r+"_square",a,h),s.call(r+"_square",c,d),s.call(e,d,p),s.call(r+"_sub",h,p,p),s.call(r+"_inverse",p,f),s.call(r+"_mul",a,f,l),s.call(r+"_mul",c,f,u),s.call(r+"_neg",u,u))}(),function(){const e=t.addFunction(n+"_timesScalar");e.addParam("x","i32"),e.addParam("scalar","i32"),e.addParam("scalarLen","i32"),e.addParam("r","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.getLocal("r"),l=o.i32_add(o.getLocal("r"),o.i32_const(i));e.addCode(o.call(r+"_timesScalar",s,o.getLocal("scalar"),o.getLocal("scalarLen"),c),o.call(r+"_timesScalar",a,o.getLocal("scalar"),o.getLocal("scalarLen"),l))}(),function(){const e=t.addFunction(n+"_sign");e.addParam("x","i32"),e.addLocal("s","i32"),e.setReturnType("i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i));e.addCode(o.setLocal("s",o.call(r+"_sign",a)),o.if(o.getLocal("s"),o.ret(o.getLocal("s"))),o.ret(o.call(r+"_sign",s)))}(),function(){const e=t.addFunction(n+"_isNegative");e.addParam("x","i32"),e.setReturnType("i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i));e.addCode(o.if(o.call(r+"_isZero",a),o.ret(o.call(r+"_isNegative",s))),o.ret(o.call(r+"_isNegative",a)))}(),t.exportFunction(n+"_isZero"),t.exportFunction(n+"_isOne"),t.exportFunction(n+"_zero"),t.exportFunction(n+"_one"),t.exportFunction(n+"_copy"),t.exportFunction(n+"_mul"),t.exportFunction(n+"_mul1"),t.exportFunction(n+"_square"),t.exportFunction(n+"_add"),t.exportFunction(n+"_sub"),t.exportFunction(n+"_neg"),t.exportFunction(n+"_sign"),t.exportFunction(n+"_conjugate"),t.exportFunction(n+"_fromMontgomery"),t.exportFunction(n+"_toMontgomery"),t.exportFunction(n+"_eq"),t.exportFunction(n+"_inverse"),jy(t,n),Hy(t,n+"_exp",2*i,n+"_mul",n+"_square",n+"_copy",n+"_one"),function(){const e=t.addFunction(n+"_sqrt");e.addParam("a","i32"),e.addParam("pr","i32");const s=e.getCodeBuilder(),a=s.i32_const(t.alloc(Yy.bigInt2BytesLE((BigInt(o||0)-3n)/4n,i))),c=s.i32_const(t.alloc(Yy.bigInt2BytesLE((BigInt(o||0)-1n)/2n,i))),l=s.getLocal("a"),u=s.i32_const(t.alloc(2*i)),h=s.i32_const(t.alloc(2*i)),d=s.i32_const(t.alloc(2*i)),p=t.alloc(2*i),f=s.i32_const(p),A=s.i32_const(p),g=s.i32_const(p+i),E=s.i32_const(t.alloc(2*i)),m=s.i32_const(t.alloc(2*i));e.addCode(s.call(n+"_one",f),s.call(n+"_neg",f,f),s.call(n+"_exp",l,a,s.i32_const(i),u),s.call(n+"_square",u,h),s.call(n+"_mul",l,h,h),s.call(n+"_conjugate",h,d),s.call(n+"_mul",d,h,d),s.if(s.call(n+"_eq",d,f),s.unreachable()),s.call(n+"_mul",u,l,E),s.if(s.call(n+"_eq",h,f),[...s.call(r+"_zero",A),...s.call(r+"_one",g),...s.call(n+"_mul",f,E,s.getLocal("pr"))],[...s.call(n+"_one",m),...s.call(n+"_add",m,h,m),...s.call(n+"_exp",m,c,s.i32_const(i),m),...s.call(n+"_mul",m,E,s.getLocal("pr"))]))}(),function(){const e=t.addFunction(n+"_isSquare");e.addParam("a","i32"),e.setReturnType("i32");const r=e.getCodeBuilder(),s=r.i32_const(t.alloc(Yy.bigInt2BytesLE((BigInt(o||0)-3n)/4n,i))),a=r.getLocal("a"),c=r.i32_const(t.alloc(2*i)),l=r.i32_const(t.alloc(2*i)),u=r.i32_const(t.alloc(2*i)),h=t.alloc(2*i),d=r.i32_const(h);e.addCode(r.call(n+"_one",d),r.call(n+"_neg",d,d),r.call(n+"_exp",a,s,r.i32_const(i),c),r.call(n+"_square",c,l),r.call(n+"_mul",a,l,l),r.call(n+"_conjugate",l,u),r.call(n+"_mul",u,l,u),r.if(r.call(n+"_eq",u,d),r.ret(r.i32_const(0))),r.ret(r.i32_const(1)))}(),t.exportFunction(n+"_exp"),t.exportFunction(n+"_timesScalar"),t.exportFunction(n+"_batchInverse"),t.exportFunction(n+"_sqrt"),t.exportFunction(n+"_isSquare"),t.exportFunction(n+"_isNegative"),n};const Jy=ly,Wy=uy;var qy=function(t,e,n,r){if(t.modules[n])return n;const i=8*t.modules[r].n64;return t.modules[n]={n64:3*t.modules[r].n64},function(){const e=t.addFunction(n+"_isZero");e.addParam("x","i32"),e.setReturnType("i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.i32_add(o.getLocal("x"),o.i32_const(2*i));e.addCode(o.i32_and(o.i32_and(o.call(r+"_isZero",s),o.call(r+"_isZero",a)),o.call(r+"_isZero",c)))}(),function(){const e=t.addFunction(n+"_isOne");e.addParam("x","i32"),e.setReturnType("i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.i32_add(o.getLocal("x"),o.i32_const(2*i));e.addCode(o.ret(o.i32_and(o.i32_and(o.call(r+"_isOne",s),o.call(r+"_isZero",a)),o.call(r+"_isZero",c))))}(),function(){const e=t.addFunction(n+"_zero");e.addParam("x","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.i32_add(o.getLocal("x"),o.i32_const(2*i));e.addCode(o.call(r+"_zero",s),o.call(r+"_zero",a),o.call(r+"_zero",c))}(),function(){const e=t.addFunction(n+"_one");e.addParam("x","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.i32_add(o.getLocal("x"),o.i32_const(2*i));e.addCode(o.call(r+"_one",s),o.call(r+"_zero",a),o.call(r+"_zero",c))}(),function(){const e=t.addFunction(n+"_copy");e.addParam("x","i32"),e.addParam("r","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.i32_add(o.getLocal("x"),o.i32_const(2*i)),l=o.getLocal("r"),u=o.i32_add(o.getLocal("r"),o.i32_const(i)),h=o.i32_add(o.getLocal("r"),o.i32_const(2*i));e.addCode(o.call(r+"_copy",s,l),o.call(r+"_copy",a,u),o.call(r+"_copy",c,h))}(),function(){const o=t.addFunction(n+"_mul");o.addParam("x","i32"),o.addParam("y","i32"),o.addParam("r","i32");const s=o.getCodeBuilder(),a=s.getLocal("x"),c=s.i32_add(s.getLocal("x"),s.i32_const(i)),l=s.i32_add(s.getLocal("x"),s.i32_const(2*i)),u=s.getLocal("y"),h=s.i32_add(s.getLocal("y"),s.i32_const(i)),d=s.i32_add(s.getLocal("y"),s.i32_const(2*i)),p=s.getLocal("r"),f=s.i32_add(s.getLocal("r"),s.i32_const(i)),A=s.i32_add(s.getLocal("r"),s.i32_const(2*i)),g=s.i32_const(t.alloc(i)),E=s.i32_const(t.alloc(i)),m=s.i32_const(t.alloc(i)),w=s.i32_const(t.alloc(i)),y=s.i32_const(t.alloc(i)),I=s.i32_const(t.alloc(i)),C=s.i32_const(t.alloc(i)),B=s.i32_const(t.alloc(i)),T=s.i32_const(t.alloc(i)),D=s.i32_const(t.alloc(i)),b=s.i32_const(t.alloc(i)),M=s.i32_const(t.alloc(i)),N=s.i32_const(t.alloc(i));o.addCode(s.call(r+"_mul",a,u,g),s.call(r+"_mul",c,h,E),s.call(r+"_mul",l,d,m),s.call(r+"_add",a,c,w),s.call(r+"_add",u,h,y),s.call(r+"_add",a,l,I),s.call(r+"_add",u,d,C),s.call(r+"_add",c,l,B),s.call(r+"_add",h,d,T),s.call(r+"_add",g,E,D),s.call(r+"_add",g,m,b),s.call(r+"_add",E,m,M),s.call(r+"_mul",B,T,p),s.call(r+"_sub",p,M,p),s.call(e,p,p),s.call(r+"_add",g,p,p),s.call(r+"_mul",w,y,f),s.call(r+"_sub",f,D,f),s.call(e,m,N),s.call(r+"_add",f,N,f),s.call(r+"_mul",I,C,A),s.call(r+"_sub",A,b,A),s.call(r+"_add",A,E,A))}(),function(){const o=t.addFunction(n+"_square");o.addParam("x","i32"),o.addParam("r","i32");const s=o.getCodeBuilder(),a=s.getLocal("x"),c=s.i32_add(s.getLocal("x"),s.i32_const(i)),l=s.i32_add(s.getLocal("x"),s.i32_const(2*i)),u=s.getLocal("r"),h=s.i32_add(s.getLocal("r"),s.i32_const(i)),d=s.i32_add(s.getLocal("r"),s.i32_const(2*i)),p=s.i32_const(t.alloc(i)),f=s.i32_const(t.alloc(i)),A=s.i32_const(t.alloc(i)),g=s.i32_const(t.alloc(i)),E=s.i32_const(t.alloc(i)),m=s.i32_const(t.alloc(i)),w=s.i32_const(t.alloc(i));o.addCode(s.call(r+"_square",a,p),s.call(r+"_mul",a,c,f),s.call(r+"_add",f,f,A),s.call(r+"_sub",a,c,g),s.call(r+"_add",g,l,g),s.call(r+"_square",g,g),s.call(r+"_mul",c,l,E),s.call(r+"_add",E,E,m),s.call(r+"_square",l,w),s.call(e,m,u),s.call(r+"_add",p,u,u),s.call(e,w,h),s.call(r+"_add",A,h,h),s.call(r+"_add",p,w,d),s.call(r+"_sub",m,d,d),s.call(r+"_add",g,d,d),s.call(r+"_add",A,d,d))}(),function(){const e=t.addFunction(n+"_add");e.addParam("x","i32"),e.addParam("y","i32"),e.addParam("r","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.i32_add(o.getLocal("x"),o.i32_const(2*i)),l=o.getLocal("y"),u=o.i32_add(o.getLocal("y"),o.i32_const(i)),h=o.i32_add(o.getLocal("y"),o.i32_const(2*i)),d=o.getLocal("r"),p=o.i32_add(o.getLocal("r"),o.i32_const(i)),f=o.i32_add(o.getLocal("r"),o.i32_const(2*i));e.addCode(o.call(r+"_add",s,l,d),o.call(r+"_add",a,u,p),o.call(r+"_add",c,h,f))}(),function(){const e=t.addFunction(n+"_sub");e.addParam("x","i32"),e.addParam("y","i32"),e.addParam("r","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.i32_add(o.getLocal("x"),o.i32_const(2*i)),l=o.getLocal("y"),u=o.i32_add(o.getLocal("y"),o.i32_const(i)),h=o.i32_add(o.getLocal("y"),o.i32_const(2*i)),d=o.getLocal("r"),p=o.i32_add(o.getLocal("r"),o.i32_const(i)),f=o.i32_add(o.getLocal("r"),o.i32_const(2*i));e.addCode(o.call(r+"_sub",s,l,d),o.call(r+"_sub",a,u,p),o.call(r+"_sub",c,h,f))}(),function(){const e=t.addFunction(n+"_neg");e.addParam("x","i32"),e.addParam("r","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.i32_add(o.getLocal("x"),o.i32_const(2*i)),l=o.getLocal("r"),u=o.i32_add(o.getLocal("r"),o.i32_const(i)),h=o.i32_add(o.getLocal("r"),o.i32_const(2*i));e.addCode(o.call(r+"_neg",s,l),o.call(r+"_neg",a,u),o.call(r+"_neg",c,h))}(),function(){const e=t.addFunction(n+"_sign");e.addParam("x","i32"),e.addLocal("s","i32"),e.setReturnType("i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.i32_add(o.getLocal("x"),o.i32_const(2*i));e.addCode(o.setLocal("s",o.call(r+"_sign",c)),o.if(o.getLocal("s"),o.ret(o.getLocal("s"))),o.setLocal("s",o.call(r+"_sign",a)),o.if(o.getLocal("s"),o.ret(o.getLocal("s"))),o.ret(o.call(r+"_sign",s)))}(),function(){const e=t.addFunction(n+"_toMontgomery");e.addParam("x","i32"),e.addParam("r","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.i32_add(o.getLocal("x"),o.i32_const(2*i)),l=o.getLocal("r"),u=o.i32_add(o.getLocal("r"),o.i32_const(i)),h=o.i32_add(o.getLocal("r"),o.i32_const(2*i));e.addCode(o.call(r+"_toMontgomery",s,l),o.call(r+"_toMontgomery",a,u),o.call(r+"_toMontgomery",c,h))}(),function(){const e=t.addFunction(n+"_fromMontgomery");e.addParam("x","i32"),e.addParam("r","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.i32_add(o.getLocal("x"),o.i32_const(2*i)),l=o.getLocal("r"),u=o.i32_add(o.getLocal("r"),o.i32_const(i)),h=o.i32_add(o.getLocal("r"),o.i32_const(2*i));e.addCode(o.call(r+"_fromMontgomery",s,l),o.call(r+"_fromMontgomery",a,u),o.call(r+"_fromMontgomery",c,h))}(),function(){const e=t.addFunction(n+"_eq");e.addParam("x","i32"),e.addParam("y","i32"),e.setReturnType("i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.i32_add(o.getLocal("x"),o.i32_const(2*i)),l=o.getLocal("y"),u=o.i32_add(o.getLocal("y"),o.i32_const(i)),h=o.i32_add(o.getLocal("y"),o.i32_const(2*i));e.addCode(o.i32_and(o.i32_and(o.call(r+"_eq",s,l),o.call(r+"_eq",a,u)),o.call(r+"_eq",c,h)))}(),function(){const o=t.addFunction(n+"_inverse");o.addParam("x","i32"),o.addParam("r","i32");const s=o.getCodeBuilder(),a=s.getLocal("x"),c=s.i32_add(s.getLocal("x"),s.i32_const(i)),l=s.i32_add(s.getLocal("x"),s.i32_const(2*i)),u=s.getLocal("r"),h=s.i32_add(s.getLocal("r"),s.i32_const(i)),d=s.i32_add(s.getLocal("r"),s.i32_const(2*i)),p=s.i32_const(t.alloc(i)),f=s.i32_const(t.alloc(i)),A=s.i32_const(t.alloc(i)),g=s.i32_const(t.alloc(i)),E=s.i32_const(t.alloc(i)),m=s.i32_const(t.alloc(i)),w=s.i32_const(t.alloc(i)),y=s.i32_const(t.alloc(i)),I=s.i32_const(t.alloc(i)),C=s.i32_const(t.alloc(i)),B=s.i32_const(t.alloc(i));o.addCode(s.call(r+"_square",a,p),s.call(r+"_square",c,f),s.call(r+"_square",l,A),s.call(r+"_mul",a,c,g),s.call(r+"_mul",a,l,E),s.call(r+"_mul",c,l,m),s.call(e,m,w),s.call(r+"_sub",p,w,w),s.call(e,A,y),s.call(r+"_sub",y,g,y),s.call(r+"_sub",f,E,I),s.call(r+"_mul",l,y,C),s.call(r+"_mul",c,I,B),s.call(r+"_add",C,B,C),s.call(e,C,C),s.call(r+"_mul",a,w,B),s.call(r+"_add",B,C,C),s.call(r+"_inverse",C,C),s.call(r+"_mul",C,w,u),s.call(r+"_mul",C,y,h),s.call(r+"_mul",C,I,d))}(),function(){const e=t.addFunction(n+"_timesScalar");e.addParam("x","i32"),e.addParam("scalar","i32"),e.addParam("scalarLen","i32"),e.addParam("r","i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.i32_add(o.getLocal("x"),o.i32_const(2*i)),l=o.getLocal("r"),u=o.i32_add(o.getLocal("r"),o.i32_const(i)),h=o.i32_add(o.getLocal("r"),o.i32_const(2*i));e.addCode(o.call(r+"_timesScalar",s,o.getLocal("scalar"),o.getLocal("scalarLen"),l),o.call(r+"_timesScalar",a,o.getLocal("scalar"),o.getLocal("scalarLen"),u),o.call(r+"_timesScalar",c,o.getLocal("scalar"),o.getLocal("scalarLen"),h))}(),function(){const e=t.addFunction(n+"_isNegative");e.addParam("x","i32"),e.setReturnType("i32");const o=e.getCodeBuilder(),s=o.getLocal("x"),a=o.i32_add(o.getLocal("x"),o.i32_const(i)),c=o.i32_add(o.getLocal("x"),o.i32_const(2*i));e.addCode(o.if(o.call(r+"_isZero",c),o.if(o.call(r+"_isZero",a),o.ret(o.call(r+"_isNegative",s)),o.ret(o.call(r+"_isNegative",a)))),o.ret(o.call(r+"_isNegative",c)))}(),t.exportFunction(n+"_isZero"),t.exportFunction(n+"_isOne"),t.exportFunction(n+"_zero"),t.exportFunction(n+"_one"),t.exportFunction(n+"_copy"),t.exportFunction(n+"_mul"),t.exportFunction(n+"_square"),t.exportFunction(n+"_add"),t.exportFunction(n+"_sub"),t.exportFunction(n+"_neg"),t.exportFunction(n+"_sign"),t.exportFunction(n+"_fromMontgomery"),t.exportFunction(n+"_toMontgomery"),t.exportFunction(n+"_eq"),t.exportFunction(n+"_inverse"),Wy(t,n),Jy(t,n+"_exp",3*i,n+"_mul",n+"_square",n+"_copy",n+"_one"),t.exportFunction(n+"_exp"),t.exportFunction(n+"_timesScalar"),t.exportFunction(n+"_batchInverse"),t.exportFunction(n+"_isNegative"),n};const Ky=function(t,e,n,r,i,o,s,a){const c=t.addFunction(e);c.addParam("base","i32"),c.addParam("scalar","i32"),c.addParam("scalarLength","i32"),c.addParam("r","i32"),c.addLocal("old0","i32"),c.addLocal("nbits","i32"),c.addLocal("i","i32"),c.addLocal("last","i32"),c.addLocal("cur","i32"),c.addLocal("carry","i32"),c.addLocal("p","i32");const l=c.getCodeBuilder(),u=l.i32_const(t.alloc(n));function h(t){return l.i32_and(l.i32_shr_u(l.i32_load(l.i32_add(l.getLocal("scalar"),l.i32_and(l.i32_shr_u(t,l.i32_const(3)),l.i32_const(4294967292)))),l.i32_and(t,l.i32_const(31))),l.i32_const(1))}function d(t){return[...l.i32_store8(l.getLocal("p"),l.i32_const(t)),...l.setLocal("p",l.i32_add(l.getLocal("p"),l.i32_const(1)))]}c.addCode(l.if(l.i32_eqz(l.getLocal("scalarLength")),[...l.call(a,l.getLocal("r")),...l.ret([])]),l.setLocal("nbits",l.i32_shl(l.getLocal("scalarLength"),l.i32_const(3))),l.setLocal("old0",l.i32_load(l.i32_const(0))),l.setLocal("p",l.getLocal("old0")),l.i32_store(l.i32_const(0),l.i32_and(l.i32_add(l.i32_add(l.getLocal("old0"),l.i32_const(32)),l.getLocal("nbits")),l.i32_const(4294967288))),l.setLocal("i",l.i32_const(1)),l.setLocal("last",h(l.i32_const(0))),l.setLocal("carry",l.i32_const(0)),l.block(l.loop(l.br_if(1,l.i32_eq(l.getLocal("i"),l.getLocal("nbits"))),l.setLocal("cur",h(l.getLocal("i"))),l.if(l.getLocal("last"),l.if(l.getLocal("cur"),l.if(l.getLocal("carry"),[...l.setLocal("last",l.i32_const(0)),...l.setLocal("carry",l.i32_const(1)),...d(1)],[...l.setLocal("last",l.i32_const(0)),...l.setLocal("carry",l.i32_const(1)),...d(255)]),l.if(l.getLocal("carry"),[...l.setLocal("last",l.i32_const(0)),...l.setLocal("carry",l.i32_const(1)),...d(255)],[...l.setLocal("last",l.i32_const(0)),...l.setLocal("carry",l.i32_const(0)),...d(1)])),l.if(l.getLocal("cur"),l.if(l.getLocal("carry"),[...l.setLocal("last",l.i32_const(0)),...l.setLocal("carry",l.i32_const(1)),...d(0)],[...l.setLocal("last",l.i32_const(1)),...l.setLocal("carry",l.i32_const(0)),...d(0)]),l.if(l.getLocal("carry"),[...l.setLocal("last",l.i32_const(1)),...l.setLocal("carry",l.i32_const(0)),...d(0)],[...l.setLocal("last",l.i32_const(0)),...l.setLocal("carry",l.i32_const(0)),...d(0)]))),l.setLocal("i",l.i32_add(l.getLocal("i"),l.i32_const(1))),l.br(0))),l.if(l.getLocal("last"),l.if(l.getLocal("carry"),[...d(255),...d(0),...d(1)],[...d(1)]),l.if(l.getLocal("carry"),[...d(0),...d(1)])),l.setLocal("p",l.i32_sub(l.getLocal("p"),l.i32_const(1))),l.call(s,l.getLocal("base"),u),l.call(a,l.getLocal("r")),l.block(l.loop(l.call(i,l.getLocal("r"),l.getLocal("r")),l.setLocal("cur",l.i32_load8_u(l.getLocal("p"))),l.if(l.getLocal("cur"),l.if(l.i32_eq(l.getLocal("cur"),l.i32_const(1)),l.call(r,l.getLocal("r"),u,l.getLocal("r")),l.call(o,l.getLocal("r"),u,l.getLocal("r")))),l.br_if(1,l.i32_eq(l.getLocal("old0"),l.getLocal("p"))),l.setLocal("p",l.i32_sub(l.getLocal("p"),l.i32_const(1))),l.br(0))),l.i32_store(l.i32_const(0),l.getLocal("old0")))},Xy=hy,Zy=function(t,e,n,r,i){const o=8*t.modules[e].n64;function s(){const r=t.addFunction(n);r.addParam("pBases","i32"),r.addParam("pScalars","i32"),r.addParam("scalarSize","i32"),r.addParam("n","i32"),r.addParam("pr","i32"),r.addLocal("chunkSize","i32"),r.addLocal("nChunks","i32"),r.addLocal("itScalar","i32"),r.addLocal("endScalar","i32"),r.addLocal("itBase","i32"),r.addLocal("itBit","i32"),r.addLocal("i","i32"),r.addLocal("j","i32"),r.addLocal("nTable","i32"),r.addLocal("pTable","i32"),r.addLocal("idx","i32"),r.addLocal("pIdxTable","i32");const i=r.getCodeBuilder(),s=i.i32_const(t.alloc(o)),a=t.alloc([17,17,17,17,17,17,17,17,17,17,16,16,15,14,13,13,12,11,10,9,8,7,7,6,5,4,3,2,1,1,1,1]);r.addCode(i.call(e+"_zero",i.getLocal("pr")),i.if(i.i32_eqz(i.getLocal("n")),i.ret([])),i.setLocal("chunkSize",i.i32_load8_u(i.i32_clz(i.getLocal("n")),a)),i.setLocal("nChunks",i.i32_add(i.i32_div_u(i.i32_sub(i.i32_shl(i.getLocal("scalarSize"),i.i32_const(3)),i.i32_const(1)),i.getLocal("chunkSize")),i.i32_const(1))),i.setLocal("itBit",i.i32_mul(i.i32_sub(i.getLocal("nChunks"),i.i32_const(1)),i.getLocal("chunkSize"))),i.block(i.loop(i.br_if(1,i.i32_lt_s(i.getLocal("itBit"),i.i32_const(0))),i.if(i.i32_eqz(i.call(e+"_isZero",i.getLocal("pr"))),[...i.setLocal("j",i.i32_const(0)),...i.block(i.loop(i.br_if(1,i.i32_eq(i.getLocal("j"),i.getLocal("chunkSize"))),i.call(e+"_double",i.getLocal("pr"),i.getLocal("pr")),i.setLocal("j",i.i32_add(i.getLocal("j"),i.i32_const(1))),i.br(0)))]),i.call(n+"_chunk",i.getLocal("pBases"),i.getLocal("pScalars"),i.getLocal("scalarSize"),i.getLocal("n"),i.getLocal("itBit"),i.getLocal("chunkSize"),s),i.call(e+"_add",i.getLocal("pr"),s,i.getLocal("pr")),i.setLocal("itBit",i.i32_sub(i.getLocal("itBit"),i.getLocal("chunkSize"))),i.br(0))))}!function(){const e=t.addFunction(n+"_getChunk");e.addParam("pScalar","i32"),e.addParam("scalarSize","i32"),e.addParam("startBit","i32"),e.addParam("chunkSize","i32"),e.addLocal("bitsToEnd","i32"),e.addLocal("mask","i32"),e.setReturnType("i32");const r=e.getCodeBuilder();e.addCode(r.setLocal("bitsToEnd",r.i32_sub(r.i32_mul(r.getLocal("scalarSize"),r.i32_const(8)),r.getLocal("startBit"))),r.if(r.i32_gt_s(r.getLocal("chunkSize"),r.getLocal("bitsToEnd")),r.setLocal("mask",r.i32_sub(r.i32_shl(r.i32_const(1),r.getLocal("bitsToEnd")),r.i32_const(1))),r.setLocal("mask",r.i32_sub(r.i32_shl(r.i32_const(1),r.getLocal("chunkSize")),r.i32_const(1)))),r.i32_and(r.i32_shr_u(r.i32_load(r.i32_add(r.getLocal("pScalar"),r.i32_shr_u(r.getLocal("startBit"),r.i32_const(3))),0,0),r.i32_and(r.getLocal("startBit"),r.i32_const(7))),r.getLocal("mask")))}(),function(){const r=t.addFunction(n+"_reduceTable");r.addParam("pTable","i32"),r.addParam("p","i32"),r.addLocal("half","i32"),r.addLocal("it1","i32"),r.addLocal("it2","i32"),r.addLocal("pAcc","i32");const i=r.getCodeBuilder();r.addCode(i.if(i.i32_eq(i.getLocal("p"),i.i32_const(1)),i.ret([])),i.setLocal("half",i.i32_shl(i.i32_const(1),i.i32_sub(i.getLocal("p"),i.i32_const(1)))),i.setLocal("it1",i.getLocal("pTable")),i.setLocal("it2",i.i32_add(i.getLocal("pTable"),i.i32_mul(i.getLocal("half"),i.i32_const(o)))),i.setLocal("pAcc",i.i32_sub(i.getLocal("it2"),i.i32_const(o))),i.block(i.loop(i.br_if(1,i.i32_eq(i.getLocal("it1"),i.getLocal("pAcc"))),i.call(e+"_add",i.getLocal("it1"),i.getLocal("it2"),i.getLocal("it1")),i.call(e+"_add",i.getLocal("pAcc"),i.getLocal("it2"),i.getLocal("pAcc")),i.setLocal("it1",i.i32_add(i.getLocal("it1"),i.i32_const(o))),i.setLocal("it2",i.i32_add(i.getLocal("it2"),i.i32_const(o))),i.br(0))),i.call(n+"_reduceTable",i.getLocal("pTable"),i.i32_sub(i.getLocal("p"),i.i32_const(1))),i.setLocal("p",i.i32_sub(i.getLocal("p"),i.i32_const(1))),i.block(i.loop(i.br_if(1,i.i32_eqz(i.getLocal("p"))),i.call(e+"_double",i.getLocal("pAcc"),i.getLocal("pAcc")),i.setLocal("p",i.i32_sub(i.getLocal("p"),i.i32_const(1))),i.br(0))),i.call(e+"_add",i.getLocal("pTable"),i.getLocal("pAcc"),i.getLocal("pTable")))}(),function(){const s=t.addFunction(n+"_chunk");s.addParam("pBases","i32"),s.addParam("pScalars","i32"),s.addParam("scalarSize","i32"),s.addParam("n","i32"),s.addParam("startBit","i32"),s.addParam("chunkSize","i32"),s.addParam("pr","i32"),s.addLocal("nChunks","i32"),s.addLocal("itScalar","i32"),s.addLocal("endScalar","i32"),s.addLocal("itBase","i32"),s.addLocal("i","i32"),s.addLocal("j","i32"),s.addLocal("nTable","i32"),s.addLocal("pTable","i32"),s.addLocal("idx","i32"),s.addLocal("pIdxTable","i32");const a=s.getCodeBuilder();s.addCode(a.if(a.i32_eqz(a.getLocal("n")),[...a.call(e+"_zero",a.getLocal("pr")),...a.ret([])]),a.setLocal("nTable",a.i32_shl(a.i32_const(1),a.getLocal("chunkSize"))),a.setLocal("pTable",a.i32_load(a.i32_const(0))),a.i32_store(a.i32_const(0),a.i32_add(a.getLocal("pTable"),a.i32_mul(a.getLocal("nTable"),a.i32_const(o)))),a.setLocal("j",a.i32_const(0)),a.block(a.loop(a.br_if(1,a.i32_eq(a.getLocal("j"),a.getLocal("nTable"))),a.call(e+"_zero",a.i32_add(a.getLocal("pTable"),a.i32_mul(a.getLocal("j"),a.i32_const(o)))),a.setLocal("j",a.i32_add(a.getLocal("j"),a.i32_const(1))),a.br(0))),a.setLocal("itBase",a.getLocal("pBases")),a.setLocal("itScalar",a.getLocal("pScalars")),a.setLocal("endScalar",a.i32_add(a.getLocal("pScalars"),a.i32_mul(a.getLocal("n"),a.getLocal("scalarSize")))),a.block(a.loop(a.br_if(1,a.i32_eq(a.getLocal("itScalar"),a.getLocal("endScalar"))),a.setLocal("idx",a.call(n+"_getChunk",a.getLocal("itScalar"),a.getLocal("scalarSize"),a.getLocal("startBit"),a.getLocal("chunkSize"))),a.if(a.getLocal("idx"),[...a.setLocal("pIdxTable",a.i32_add(a.getLocal("pTable"),a.i32_mul(a.i32_sub(a.getLocal("idx"),a.i32_const(1)),a.i32_const(o)))),...a.call(r,a.getLocal("pIdxTable"),a.getLocal("itBase"),a.getLocal("pIdxTable"))]),a.setLocal("itScalar",a.i32_add(a.getLocal("itScalar"),a.getLocal("scalarSize"))),a.setLocal("itBase",a.i32_add(a.getLocal("itBase"),a.i32_const(i))),a.br(0))),a.call(n+"_reduceTable",a.getLocal("pTable"),a.getLocal("chunkSize")),a.call(e+"_copy",a.getLocal("pTable"),a.getLocal("pr")),a.i32_store(a.i32_const(0),a.getLocal("pTable")))}(),s(),t.exportFunction(n),t.exportFunction(n+"_chunk")};var $y=function(t,e,n,r){const i=t.modules[n].n64,o=8*i;if(t.modules[e])return e;return t.modules[e]={n64:3*i},function(){const r=t.addFunction(e+"_isZeroAffine");r.addParam("p1","i32"),r.setReturnType("i32");const i=r.getCodeBuilder();r.addCode(i.i32_and(i.call(n+"_isZero",i.getLocal("p1")),i.call(n+"_isZero",i.i32_add(i.getLocal("p1"),i.i32_const(o)))))}(),function(){const r=t.addFunction(e+"_isZero");r.addParam("p1","i32"),r.setReturnType("i32");const i=r.getCodeBuilder();r.addCode(i.call(n+"_isZero",i.i32_add(i.getLocal("p1"),i.i32_const(2*o))))}(),function(){const r=t.addFunction(e+"_zeroAffine");r.addParam("pr","i32");const i=r.getCodeBuilder();r.addCode(i.call(n+"_zero",i.getLocal("pr"))),r.addCode(i.call(n+"_zero",i.i32_add(i.getLocal("pr"),i.i32_const(o))))}(),function(){const r=t.addFunction(e+"_zero");r.addParam("pr","i32");const i=r.getCodeBuilder();r.addCode(i.call(n+"_zero",i.getLocal("pr"))),r.addCode(i.call(n+"_one",i.i32_add(i.getLocal("pr"),i.i32_const(o)))),r.addCode(i.call(n+"_zero",i.i32_add(i.getLocal("pr"),i.i32_const(2*o))))}(),function(){const n=t.addFunction(e+"_copyAffine");n.addParam("ps","i32"),n.addParam("pd","i32");const r=n.getCodeBuilder();for(let t=0;t<2*i;t++)n.addCode(r.i64_store(r.getLocal("pd"),8*t,r.i64_load(r.getLocal("ps"),8*t)))}(),function(){const n=t.addFunction(e+"_copy");n.addParam("ps","i32"),n.addParam("pd","i32");const r=n.getCodeBuilder();for(let t=0;t<3*i;t++)n.addCode(r.i64_store(r.getLocal("pd"),8*t,r.i64_load(r.getLocal("ps"),8*t)))}(),function(){const r=t.addFunction(e+"_toJacobian");r.addParam("p1","i32"),r.addParam("pr","i32");const i=r.getCodeBuilder(),s=i.getLocal("p1"),a=i.i32_add(i.getLocal("p1"),i.i32_const(o)),c=i.getLocal("pr"),l=i.i32_add(i.getLocal("pr"),i.i32_const(o)),u=i.i32_add(i.getLocal("pr"),i.i32_const(2*o));r.addCode(i.if(i.call(e+"_isZeroAffine",i.getLocal("p1")),i.call(e+"_zero",i.getLocal("pr")),[...i.call(n+"_one",u),...i.call(n+"_copy",a,l),...i.call(n+"_copy",s,c)]))}(),function(){const r=t.addFunction(e+"_eqAffine");r.addParam("p1","i32"),r.addParam("p2","i32"),r.setReturnType("i32"),r.addLocal("z1","i32");const i=r.getCodeBuilder();r.addCode(i.ret(i.i32_and(i.call(n+"_eq",i.getLocal("p1"),i.getLocal("p2")),i.call(n+"_eq",i.i32_add(i.getLocal("p1"),i.i32_const(o)),i.i32_add(i.getLocal("p2"),i.i32_const(o))))))}(),function(){const r=t.addFunction(e+"_eqMixed");r.addParam("p1","i32"),r.addParam("p2","i32"),r.setReturnType("i32"),r.addLocal("z1","i32");const i=r.getCodeBuilder(),s=i.getLocal("p1"),a=i.i32_add(i.getLocal("p1"),i.i32_const(o));r.addCode(i.setLocal("z1",i.i32_add(i.getLocal("p1"),i.i32_const(2*o))));const c=i.getLocal("z1"),l=i.getLocal("p2"),u=i.i32_add(i.getLocal("p2"),i.i32_const(o)),h=i.i32_const(t.alloc(o)),d=i.i32_const(t.alloc(o)),p=i.i32_const(t.alloc(o)),f=i.i32_const(t.alloc(o));r.addCode(i.if(i.call(e+"_isZero",i.getLocal("p1")),i.ret(i.call(e+"_isZeroAffine",i.getLocal("p2")))),i.if(i.call(e+"_isZeroAffine",i.getLocal("p2")),i.ret(i.i32_const(0))),i.if(i.call(n+"_isOne",c),i.ret(i.call(e+"_eqAffine",i.getLocal("p1"),i.getLocal("p2")))),i.call(n+"_square",c,h),i.call(n+"_mul",l,h,d),i.call(n+"_mul",c,h,p),i.call(n+"_mul",u,p,f),i.if(i.call(n+"_eq",s,d),i.if(i.call(n+"_eq",a,f),i.ret(i.i32_const(1)))),i.ret(i.i32_const(0)))}(),function(){const r=t.addFunction(e+"_eq");r.addParam("p1","i32"),r.addParam("p2","i32"),r.setReturnType("i32"),r.addLocal("z1","i32"),r.addLocal("z2","i32");const i=r.getCodeBuilder(),s=i.getLocal("p1"),a=i.i32_add(i.getLocal("p1"),i.i32_const(o));r.addCode(i.setLocal("z1",i.i32_add(i.getLocal("p1"),i.i32_const(2*o))));const c=i.getLocal("z1"),l=i.getLocal("p2"),u=i.i32_add(i.getLocal("p2"),i.i32_const(o));r.addCode(i.setLocal("z2",i.i32_add(i.getLocal("p2"),i.i32_const(2*o))));const h=i.getLocal("z2"),d=i.i32_const(t.alloc(o)),p=i.i32_const(t.alloc(o)),f=i.i32_const(t.alloc(o)),A=i.i32_const(t.alloc(o)),g=i.i32_const(t.alloc(o)),E=i.i32_const(t.alloc(o)),m=i.i32_const(t.alloc(o)),w=i.i32_const(t.alloc(o));r.addCode(i.if(i.call(e+"_isZero",i.getLocal("p1")),i.ret(i.call(e+"_isZero",i.getLocal("p2")))),i.if(i.call(e+"_isZero",i.getLocal("p2")),i.ret(i.i32_const(0))),i.if(i.call(n+"_isOne",c),i.ret(i.call(e+"_eqMixed",i.getLocal("p2"),i.getLocal("p1")))),i.if(i.call(n+"_isOne",h),i.ret(i.call(e+"_eqMixed",i.getLocal("p1"),i.getLocal("p2")))),i.call(n+"_square",c,d),i.call(n+"_square",h,p),i.call(n+"_mul",s,p,f),i.call(n+"_mul",l,d,A),i.call(n+"_mul",c,d,g),i.call(n+"_mul",h,p,E),i.call(n+"_mul",a,E,m),i.call(n+"_mul",u,g,w),i.if(i.call(n+"_eq",f,A),i.if(i.call(n+"_eq",m,w),i.ret(i.i32_const(1)))),i.ret(i.i32_const(0)))}(),function(){const r=t.addFunction(e+"_doubleAffine");r.addParam("p1","i32"),r.addParam("pr","i32");const i=r.getCodeBuilder(),s=i.getLocal("p1"),a=i.i32_add(i.getLocal("p1"),i.i32_const(o)),c=i.getLocal("pr"),l=i.i32_add(i.getLocal("pr"),i.i32_const(o)),u=i.i32_add(i.getLocal("pr"),i.i32_const(2*o)),h=i.i32_const(t.alloc(o)),d=i.i32_const(t.alloc(o)),p=i.i32_const(t.alloc(o)),f=i.i32_const(t.alloc(o)),A=i.i32_const(t.alloc(o)),g=i.i32_const(t.alloc(o));r.addCode(i.if(i.call(e+"_isZeroAffine",i.getLocal("p1")),[...i.call(e+"_toJacobian",i.getLocal("p1"),i.getLocal("pr")),...i.ret([])]),i.call(n+"_square",s,h),i.call(n+"_square",a,d),i.call(n+"_square",d,p),i.call(n+"_add",s,d,f),i.call(n+"_square",f,f),i.call(n+"_sub",f,h,f),i.call(n+"_sub",f,p,f),i.call(n+"_add",f,f,f),i.call(n+"_add",h,h,A),i.call(n+"_add",A,h,A),i.call(n+"_add",a,a,u),i.call(n+"_square",A,c),i.call(n+"_sub",c,f,c),i.call(n+"_sub",c,f,c),i.call(n+"_add",p,p,g),i.call(n+"_add",g,g,g),i.call(n+"_add",g,g,g),i.call(n+"_sub",f,c,l),i.call(n+"_mul",l,A,l),i.call(n+"_sub",l,g,l))}(),function(){const r=t.addFunction(e+"_double");r.addParam("p1","i32"),r.addParam("pr","i32");const i=r.getCodeBuilder(),s=i.getLocal("p1"),a=i.i32_add(i.getLocal("p1"),i.i32_const(o)),c=i.i32_add(i.getLocal("p1"),i.i32_const(2*o)),l=i.getLocal("pr"),u=i.i32_add(i.getLocal("pr"),i.i32_const(o)),h=i.i32_add(i.getLocal("pr"),i.i32_const(2*o)),d=i.i32_const(t.alloc(o)),p=i.i32_const(t.alloc(o)),f=i.i32_const(t.alloc(o)),A=i.i32_const(t.alloc(o)),g=i.i32_const(t.alloc(o)),E=i.i32_const(t.alloc(o)),m=i.i32_const(t.alloc(o)),w=i.i32_const(t.alloc(o));r.addCode(i.if(i.call(e+"_isZero",i.getLocal("p1")),[...i.call(e+"_copy",i.getLocal("p1"),i.getLocal("pr")),...i.ret([])]),i.if(i.call(n+"_isOne",c),[...i.ret(i.call(e+"_doubleAffine",i.getLocal("p1"),i.getLocal("pr"))),...i.ret([])]),i.call(n+"_square",s,d),i.call(n+"_square",a,p),i.call(n+"_square",p,f),i.call(n+"_add",s,p,A),i.call(n+"_square",A,A),i.call(n+"_sub",A,d,A),i.call(n+"_sub",A,f,A),i.call(n+"_add",A,A,A),i.call(n+"_add",d,d,g),i.call(n+"_add",g,d,g),i.call(n+"_square",g,E),i.call(n+"_mul",a,c,m),i.call(n+"_add",A,A,l),i.call(n+"_sub",E,l,l),i.call(n+"_add",f,f,w),i.call(n+"_add",w,w,w),i.call(n+"_add",w,w,w),i.call(n+"_sub",A,l,u),i.call(n+"_mul",u,g,u),i.call(n+"_sub",u,w,u),i.call(n+"_add",m,m,h))}(),function(){const r=t.addFunction(e+"_addAffine");r.addParam("p1","i32"),r.addParam("p2","i32"),r.addParam("pr","i32"),r.addLocal("z1","i32");const i=r.getCodeBuilder(),s=i.getLocal("p1"),a=i.i32_add(i.getLocal("p1"),i.i32_const(o));r.addCode(i.setLocal("z1",i.i32_add(i.getLocal("p1"),i.i32_const(2*o))));const c=i.getLocal("p2"),l=i.i32_add(i.getLocal("p2"),i.i32_const(o)),u=i.getLocal("pr"),h=i.i32_add(i.getLocal("pr"),i.i32_const(o)),d=i.i32_add(i.getLocal("pr"),i.i32_const(2*o)),p=i.i32_const(t.alloc(o)),f=i.i32_const(t.alloc(o)),A=i.i32_const(t.alloc(o)),g=i.i32_const(t.alloc(o)),E=i.i32_const(t.alloc(o)),m=i.i32_const(t.alloc(o)),w=i.i32_const(t.alloc(o)),y=i.i32_const(t.alloc(o)),I=i.i32_const(t.alloc(o)),C=i.i32_const(t.alloc(o));r.addCode(i.if(i.call(e+"_isZeroAffine",i.getLocal("p1")),[...i.call(e+"_copyAffine",i.getLocal("p2"),i.getLocal("pr")),...i.call(n+"_one",i.i32_add(i.getLocal("pr"),i.i32_const(2*o))),...i.ret([])]),i.if(i.call(e+"_isZeroAffine",i.getLocal("p2")),[...i.call(e+"_copyAffine",i.getLocal("p1"),i.getLocal("pr")),...i.call(n+"_one",i.i32_add(i.getLocal("pr"),i.i32_const(2*o))),...i.ret([])]),i.if(i.call(n+"_eq",s,c),i.if(i.call(n+"_eq",a,l),[...i.call(e+"_doubleAffine",i.getLocal("p2"),i.getLocal("pr")),...i.ret([])])),i.call(n+"_sub",c,s,p),i.call(n+"_sub",l,a,A),i.call(n+"_square",p,f),i.call(n+"_add",f,f,g),i.call(n+"_add",g,g,g),i.call(n+"_mul",p,g,E),i.call(n+"_add",A,A,m),i.call(n+"_mul",s,g,y),i.call(n+"_square",m,w),i.call(n+"_add",y,y,I),i.call(n+"_sub",w,E,u),i.call(n+"_sub",u,I,u),i.call(n+"_mul",a,E,C),i.call(n+"_add",C,C,C),i.call(n+"_sub",y,u,h),i.call(n+"_mul",h,m,h),i.call(n+"_sub",h,C,h),i.call(n+"_add",p,p,d))}(),function(){const r=t.addFunction(e+"_addMixed");r.addParam("p1","i32"),r.addParam("p2","i32"),r.addParam("pr","i32"),r.addLocal("z1","i32");const i=r.getCodeBuilder(),s=i.getLocal("p1"),a=i.i32_add(i.getLocal("p1"),i.i32_const(o));r.addCode(i.setLocal("z1",i.i32_add(i.getLocal("p1"),i.i32_const(2*o))));const c=i.getLocal("z1"),l=i.getLocal("p2"),u=i.i32_add(i.getLocal("p2"),i.i32_const(o)),h=i.getLocal("pr"),d=i.i32_add(i.getLocal("pr"),i.i32_const(o)),p=i.i32_add(i.getLocal("pr"),i.i32_const(2*o)),f=i.i32_const(t.alloc(o)),A=i.i32_const(t.alloc(o)),g=i.i32_const(t.alloc(o)),E=i.i32_const(t.alloc(o)),m=i.i32_const(t.alloc(o)),w=i.i32_const(t.alloc(o)),y=i.i32_const(t.alloc(o)),I=i.i32_const(t.alloc(o)),C=i.i32_const(t.alloc(o)),B=i.i32_const(t.alloc(o)),T=i.i32_const(t.alloc(o)),D=i.i32_const(t.alloc(o)),b=i.i32_const(t.alloc(o)),M=i.i32_const(t.alloc(o));r.addCode(i.if(i.call(e+"_isZero",i.getLocal("p1")),[...i.call(e+"_copyAffine",i.getLocal("p2"),i.getLocal("pr")),...i.call(n+"_one",i.i32_add(i.getLocal("pr"),i.i32_const(2*o))),...i.ret([])]),i.if(i.call(e+"_isZeroAffine",i.getLocal("p2")),[...i.call(e+"_copy",i.getLocal("p1"),i.getLocal("pr")),...i.ret([])]),i.if(i.call(n+"_isOne",c),[...i.call(e+"_addAffine",s,l,h),...i.ret([])]),i.call(n+"_square",c,f),i.call(n+"_mul",l,f,A),i.call(n+"_mul",c,f,g),i.call(n+"_mul",u,g,E),i.if(i.call(n+"_eq",s,A),i.if(i.call(n+"_eq",a,E),[...i.call(e+"_doubleAffine",i.getLocal("p2"),i.getLocal("pr")),...i.ret([])])),i.call(n+"_sub",A,s,m),i.call(n+"_sub",E,a,y),i.call(n+"_square",m,w),i.call(n+"_add",w,w,I),i.call(n+"_add",I,I,I),i.call(n+"_mul",m,I,C),i.call(n+"_add",y,y,B),i.call(n+"_mul",s,I,D),i.call(n+"_square",B,T),i.call(n+"_add",D,D,b),i.call(n+"_sub",T,C,h),i.call(n+"_sub",h,b,h),i.call(n+"_mul",a,C,M),i.call(n+"_add",M,M,M),i.call(n+"_sub",D,h,d),i.call(n+"_mul",d,B,d),i.call(n+"_sub",d,M,d),i.call(n+"_add",c,m,p),i.call(n+"_square",p,p),i.call(n+"_sub",p,f,p),i.call(n+"_sub",p,w,p))}(),function(){const r=t.addFunction(e+"_add");r.addParam("p1","i32"),r.addParam("p2","i32"),r.addParam("pr","i32"),r.addLocal("z1","i32"),r.addLocal("z2","i32");const i=r.getCodeBuilder(),s=i.getLocal("p1"),a=i.i32_add(i.getLocal("p1"),i.i32_const(o));r.addCode(i.setLocal("z1",i.i32_add(i.getLocal("p1"),i.i32_const(2*o))));const c=i.getLocal("z1"),l=i.getLocal("p2"),u=i.i32_add(i.getLocal("p2"),i.i32_const(o));r.addCode(i.setLocal("z2",i.i32_add(i.getLocal("p2"),i.i32_const(2*o))));const h=i.getLocal("z2"),d=i.getLocal("pr"),p=i.i32_add(i.getLocal("pr"),i.i32_const(o)),f=i.i32_add(i.getLocal("pr"),i.i32_const(2*o)),A=i.i32_const(t.alloc(o)),g=i.i32_const(t.alloc(o)),E=i.i32_const(t.alloc(o)),m=i.i32_const(t.alloc(o)),w=i.i32_const(t.alloc(o)),y=i.i32_const(t.alloc(o)),I=i.i32_const(t.alloc(o)),C=i.i32_const(t.alloc(o)),B=i.i32_const(t.alloc(o)),T=i.i32_const(t.alloc(o)),D=i.i32_const(t.alloc(o)),b=i.i32_const(t.alloc(o)),M=i.i32_const(t.alloc(o)),N=i.i32_const(t.alloc(o)),v=i.i32_const(t.alloc(o)),S=i.i32_const(t.alloc(o)),_=i.i32_const(t.alloc(o));r.addCode(i.if(i.call(e+"_isZero",i.getLocal("p1")),[...i.call(e+"_copy",i.getLocal("p2"),i.getLocal("pr")),...i.ret([])]),i.if(i.call(e+"_isZero",i.getLocal("p2")),[...i.call(e+"_copy",i.getLocal("p1"),i.getLocal("pr")),...i.ret([])]),i.if(i.call(n+"_isOne",c),[...i.call(e+"_addMixed",l,s,d),...i.ret([])]),i.if(i.call(n+"_isOne",h),[...i.call(e+"_addMixed",s,l,d),...i.ret([])]),i.call(n+"_square",c,A),i.call(n+"_square",h,g),i.call(n+"_mul",s,g,E),i.call(n+"_mul",l,A,m),i.call(n+"_mul",c,A,w),i.call(n+"_mul",h,g,y),i.call(n+"_mul",a,y,I),i.call(n+"_mul",u,w,C),i.if(i.call(n+"_eq",E,m),i.if(i.call(n+"_eq",I,C),[...i.call(e+"_double",i.getLocal("p1"),i.getLocal("pr")),...i.ret([])])),i.call(n+"_sub",m,E,B),i.call(n+"_sub",C,I,T),i.call(n+"_add",B,B,D),i.call(n+"_square",D,D),i.call(n+"_mul",B,D,b),i.call(n+"_add",T,T,M),i.call(n+"_mul",E,D,v),i.call(n+"_square",M,N),i.call(n+"_add",v,v,S),i.call(n+"_sub",N,b,d),i.call(n+"_sub",d,S,d),i.call(n+"_mul",I,b,_),i.call(n+"_add",_,_,_),i.call(n+"_sub",v,d,p),i.call(n+"_mul",p,M,p),i.call(n+"_sub",p,_,p),i.call(n+"_add",c,h,f),i.call(n+"_square",f,f),i.call(n+"_sub",f,A,f),i.call(n+"_sub",f,g,f),i.call(n+"_mul",f,B,f))}(),function(){const r=t.addFunction(e+"_negAffine");r.addParam("p1","i32"),r.addParam("pr","i32");const i=r.getCodeBuilder(),s=i.getLocal("p1"),a=i.i32_add(i.getLocal("p1"),i.i32_const(o)),c=i.getLocal("pr"),l=i.i32_add(i.getLocal("pr"),i.i32_const(o));r.addCode(i.call(n+"_copy",s,c),i.call(n+"_neg",a,l))}(),function(){const r=t.addFunction(e+"_neg");r.addParam("p1","i32"),r.addParam("pr","i32");const i=r.getCodeBuilder(),s=i.getLocal("p1"),a=i.i32_add(i.getLocal("p1"),i.i32_const(o)),c=i.i32_add(i.getLocal("p1"),i.i32_const(2*o)),l=i.getLocal("pr"),u=i.i32_add(i.getLocal("pr"),i.i32_const(o)),h=i.i32_add(i.getLocal("pr"),i.i32_const(2*o));r.addCode(i.call(n+"_copy",s,l),i.call(n+"_neg",a,u),i.call(n+"_copy",c,h))}(),function(){const n=t.addFunction(e+"_subAffine");n.addParam("p1","i32"),n.addParam("p2","i32"),n.addParam("pr","i32");const r=n.getCodeBuilder(),i=r.i32_const(t.alloc(3*o));n.addCode(r.call(e+"_negAffine",r.getLocal("p2"),i),r.call(e+"_addAffine",r.getLocal("p1"),i,r.getLocal("pr")))}(),function(){const n=t.addFunction(e+"_subMixed");n.addParam("p1","i32"),n.addParam("p2","i32"),n.addParam("pr","i32");const r=n.getCodeBuilder(),i=r.i32_const(t.alloc(3*o));n.addCode(r.call(e+"_negAffine",r.getLocal("p2"),i),r.call(e+"_addMixed",r.getLocal("p1"),i,r.getLocal("pr")))}(),function(){const n=t.addFunction(e+"_sub");n.addParam("p1","i32"),n.addParam("p2","i32"),n.addParam("pr","i32");const r=n.getCodeBuilder(),i=r.i32_const(t.alloc(3*o));n.addCode(r.call(e+"_neg",r.getLocal("p2"),i),r.call(e+"_add",r.getLocal("p1"),i,r.getLocal("pr")))}(),function(){const r=t.addFunction(e+"_fromMontgomeryAffine");r.addParam("p1","i32"),r.addParam("pr","i32");const i=r.getCodeBuilder();r.addCode(i.call(n+"_fromMontgomery",i.getLocal("p1"),i.getLocal("pr")));for(let t=1;t<2;t++)r.addCode(i.call(n+"_fromMontgomery",i.i32_add(i.getLocal("p1"),i.i32_const(t*o)),i.i32_add(i.getLocal("pr"),i.i32_const(t*o))))}(),function(){const r=t.addFunction(e+"_fromMontgomery");r.addParam("p1","i32"),r.addParam("pr","i32");const i=r.getCodeBuilder();r.addCode(i.call(n+"_fromMontgomery",i.getLocal("p1"),i.getLocal("pr")));for(let t=1;t<3;t++)r.addCode(i.call(n+"_fromMontgomery",i.i32_add(i.getLocal("p1"),i.i32_const(t*o)),i.i32_add(i.getLocal("pr"),i.i32_const(t*o))))}(),function(){const r=t.addFunction(e+"_toMontgomeryAffine");r.addParam("p1","i32"),r.addParam("pr","i32");const i=r.getCodeBuilder();r.addCode(i.call(n+"_toMontgomery",i.getLocal("p1"),i.getLocal("pr")));for(let t=1;t<2;t++)r.addCode(i.call(n+"_toMontgomery",i.i32_add(i.getLocal("p1"),i.i32_const(t*o)),i.i32_add(i.getLocal("pr"),i.i32_const(t*o))))}(),function(){const r=t.addFunction(e+"_toMontgomery");r.addParam("p1","i32"),r.addParam("pr","i32");const i=r.getCodeBuilder();r.addCode(i.call(n+"_toMontgomery",i.getLocal("p1"),i.getLocal("pr")));for(let t=1;t<3;t++)r.addCode(i.call(n+"_toMontgomery",i.i32_add(i.getLocal("p1"),i.i32_const(t*o)),i.i32_add(i.getLocal("pr"),i.i32_const(t*o))))}(),function(){const r=t.addFunction(e+"_toAffine");r.addParam("p1","i32"),r.addParam("pr","i32");const i=r.getCodeBuilder(),s=i.getLocal("p1"),a=i.i32_add(i.getLocal("p1"),i.i32_const(o)),c=i.i32_add(i.getLocal("p1"),i.i32_const(2*o)),l=i.getLocal("pr"),u=i.i32_add(i.getLocal("pr"),i.i32_const(o)),h=i.i32_const(t.alloc(o)),d=i.i32_const(t.alloc(o)),p=i.i32_const(t.alloc(o));r.addCode(i.if(i.call(e+"_isZero",i.getLocal("p1")),[...i.call(n+"_zero",l),...i.call(n+"_zero",u)],[...i.call(n+"_inverse",c,h),...i.call(n+"_square",h,d),...i.call(n+"_mul",h,d,p),...i.call(n+"_mul",s,d,l),...i.call(n+"_mul",a,p,u)]))}(),function(){const i=t.addFunction(e+"_inCurveAffine");i.addParam("pIn","i32"),i.setReturnType("i32");const s=i.getCodeBuilder(),a=s.getLocal("pIn"),c=s.i32_add(s.getLocal("pIn"),s.i32_const(o)),l=s.i32_const(t.alloc(o)),u=s.i32_const(t.alloc(o));i.addCode(s.call(n+"_square",c,l),s.call(n+"_square",a,u),s.call(n+"_mul",a,u,u),s.call(n+"_add",u,s.i32_const(r),u),s.ret(s.call(n+"_eq",l,u)))}(),function(){const n=t.addFunction(e+"_inCurve");n.addParam("pIn","i32"),n.setReturnType("i32");const r=n.getCodeBuilder(),i=r.i32_const(t.alloc(2*o));n.addCode(r.call(e+"_toAffine",r.getLocal("pIn"),i),r.ret(r.call(e+"_inCurveAffine",i)))}(),function(){const r=t.addFunction(e+"_batchToAffine");r.addParam("pIn","i32"),r.addParam("n","i32"),r.addParam("pOut","i32"),r.addLocal("pAux","i32"),r.addLocal("itIn","i32"),r.addLocal("itAux","i32"),r.addLocal("itOut","i32"),r.addLocal("i","i32");const i=r.getCodeBuilder(),s=i.i32_const(t.alloc(o));r.addCode(i.setLocal("pAux",i.i32_load(i.i32_const(0))),i.i32_store(i.i32_const(0),i.i32_add(i.getLocal("pAux"),i.i32_mul(i.getLocal("n"),i.i32_const(o)))),i.call(n+"_batchInverse",i.i32_add(i.getLocal("pIn"),i.i32_const(2*o)),i.i32_const(3*o),i.getLocal("n"),i.getLocal("pAux"),i.i32_const(o)),i.setLocal("itIn",i.getLocal("pIn")),i.setLocal("itAux",i.getLocal("pAux")),i.setLocal("itOut",i.getLocal("pOut")),i.setLocal("i",i.i32_const(0)),i.block(i.loop(i.br_if(1,i.i32_eq(i.getLocal("i"),i.getLocal("n"))),i.if(i.call(n+"_isZero",i.getLocal("itAux")),[...i.call(n+"_zero",i.getLocal("itOut")),...i.call(n+"_zero",i.i32_add(i.getLocal("itOut"),i.i32_const(o)))],[...i.call(n+"_mul",i.getLocal("itAux"),i.i32_add(i.getLocal("itIn"),i.i32_const(o)),s),...i.call(n+"_square",i.getLocal("itAux"),i.getLocal("itAux")),...i.call(n+"_mul",i.getLocal("itAux"),i.getLocal("itIn"),i.getLocal("itOut")),...i.call(n+"_mul",i.getLocal("itAux"),s,i.i32_add(i.getLocal("itOut"),i.i32_const(o)))]),i.setLocal("itIn",i.i32_add(i.getLocal("itIn"),i.i32_const(3*o))),i.setLocal("itOut",i.i32_add(i.getLocal("itOut"),i.i32_const(2*o))),i.setLocal("itAux",i.i32_add(i.getLocal("itAux"),i.i32_const(o))),i.setLocal("i",i.i32_add(i.getLocal("i"),i.i32_const(1))),i.br(0))),i.i32_store(i.i32_const(0),i.getLocal("pAux")))}(),function(){const r=t.addFunction(e+"_normalize");r.addParam("p1","i32"),r.addParam("pr","i32");const i=r.getCodeBuilder(),s=i.getLocal("p1"),a=i.i32_add(i.getLocal("p1"),i.i32_const(o)),c=i.i32_add(i.getLocal("p1"),i.i32_const(2*o)),l=i.getLocal("pr"),u=i.i32_add(i.getLocal("pr"),i.i32_const(o)),h=i.i32_add(i.getLocal("pr"),i.i32_const(2*o)),d=i.i32_const(t.alloc(o)),p=i.i32_const(t.alloc(o)),f=i.i32_const(t.alloc(o));r.addCode(i.if(i.call(e+"_isZero",i.getLocal("p1")),i.call(e+"_zero",i.getLocal("pr")),[...i.call(n+"_inverse",c,d),...i.call(n+"_square",d,p),...i.call(n+"_mul",d,p,f),...i.call(n+"_mul",s,p,l),...i.call(n+"_mul",a,f,u),...i.call(n+"_one",h)]))}(),function(){const n=t.addFunction(e+"__reverseBytes");n.addParam("pIn","i32"),n.addParam("n","i32"),n.addParam("pOut","i32"),n.addLocal("itOut","i32"),n.addLocal("itIn","i32");const r=n.getCodeBuilder();n.addCode(r.setLocal("itOut",r.i32_sub(r.i32_add(r.getLocal("pOut"),r.getLocal("n")),r.i32_const(1))),r.setLocal("itIn",r.getLocal("pIn")),r.block(r.loop(r.br_if(1,r.i32_lt_s(r.getLocal("itOut"),r.getLocal("pOut"))),r.i32_store8(r.getLocal("itOut"),r.i32_load8_u(r.getLocal("itIn"))),r.setLocal("itOut",r.i32_sub(r.getLocal("itOut"),r.i32_const(1))),r.setLocal("itIn",r.i32_add(r.getLocal("itIn"),r.i32_const(1))),r.br(0))))}(),function(){const n=t.addFunction(e+"_LEMtoU");n.addParam("pIn","i32"),n.addParam("pOut","i32");const r=n.getCodeBuilder(),i=t.alloc(2*o),s=r.i32_const(i),a=r.i32_const(i),c=r.i32_const(i+o);n.addCode(r.if(r.call(e+"_isZeroAffine",r.getLocal("pIn")),[...r.call(e+"_zeroAffine",r.getLocal("pOut")),...r.ret([])]),r.call(e+"_fromMontgomeryAffine",r.getLocal("pIn"),s),r.call(e+"__reverseBytes",a,r.i32_const(o),r.getLocal("pOut")),r.call(e+"__reverseBytes",c,r.i32_const(o),r.i32_add(r.getLocal("pOut"),r.i32_const(o))))}(),function(){const r=t.addFunction(e+"_LEMtoC");r.addParam("pIn","i32"),r.addParam("pOut","i32");const i=r.getCodeBuilder(),s=i.i32_const(t.alloc(o));r.addCode(i.if(i.call(e+"_isZeroAffine",i.getLocal("pIn")),[...i.call(n+"_zero",i.getLocal("pOut")),...i.i32_store8(i.getLocal("pOut"),i.i32_const(64)),...i.ret([])]),i.call(n+"_fromMontgomery",i.getLocal("pIn"),s),i.call(e+"__reverseBytes",s,i.i32_const(o),i.getLocal("pOut")),i.if(i.i32_eq(i.call(n+"_sign",i.i32_add(i.getLocal("pIn"),i.i32_const(o))),i.i32_const(-1)),i.i32_store8(i.getLocal("pOut"),i.i32_or(i.i32_load8_u(i.getLocal("pOut")),i.i32_const(128)))))}(),function(){const n=t.addFunction(e+"_UtoLEM");n.addParam("pIn","i32"),n.addParam("pOut","i32");const r=n.getCodeBuilder(),i=t.alloc(2*o),s=r.i32_const(i),a=r.i32_const(i),c=r.i32_const(i+o);n.addCode(r.if(r.i32_and(r.i32_load8_u(r.getLocal("pIn")),r.i32_const(64)),[...r.call(e+"_zeroAffine",r.getLocal("pOut")),...r.ret([])]),r.call(e+"__reverseBytes",r.getLocal("pIn"),r.i32_const(o),a),r.call(e+"__reverseBytes",r.i32_add(r.getLocal("pIn"),r.i32_const(o)),r.i32_const(o),c),r.call(e+"_toMontgomeryAffine",s,r.getLocal("pOut")))}(),function(){const i=t.addFunction(e+"_CtoLEM");i.addParam("pIn","i32"),i.addParam("pOut","i32"),i.addLocal("firstByte","i32"),i.addLocal("greatest","i32");const s=i.getCodeBuilder(),a=t.alloc(2*o),c=s.i32_const(a),l=s.i32_const(a+o);i.addCode(s.setLocal("firstByte",s.i32_load8_u(s.getLocal("pIn"))),s.if(s.i32_and(s.getLocal("firstByte"),s.i32_const(64)),[...s.call(e+"_zeroAffine",s.getLocal("pOut")),...s.ret([])]),s.setLocal("greatest",s.i32_and(s.getLocal("firstByte"),s.i32_const(128))),s.call(n+"_copy",s.getLocal("pIn"),l),s.i32_store8(l,s.i32_and(s.getLocal("firstByte"),s.i32_const(63))),s.call(e+"__reverseBytes",l,s.i32_const(o),c),s.call(n+"_toMontgomery",c,s.getLocal("pOut")),s.call(n+"_square",s.getLocal("pOut"),l),s.call(n+"_mul",s.getLocal("pOut"),l,l),s.call(n+"_add",l,s.i32_const(r),l),s.call(n+"_sqrt",l,l),s.call(n+"_neg",l,c),s.if(s.i32_eq(s.call(n+"_sign",l),s.i32_const(-1)),s.if(s.getLocal("greatest"),s.call(n+"_copy",l,s.i32_add(s.getLocal("pOut"),s.i32_const(o))),s.call(n+"_neg",l,s.i32_add(s.getLocal("pOut"),s.i32_const(o)))),s.if(s.getLocal("greatest"),s.call(n+"_neg",l,s.i32_add(s.getLocal("pOut"),s.i32_const(o))),s.call(n+"_copy",l,s.i32_add(s.getLocal("pOut"),s.i32_const(o))))))}(),Xy(t,e+"_batchLEMtoU",e+"_LEMtoU",2*o,2*o),Xy(t,e+"_batchLEMtoC",e+"_LEMtoC",2*o,o),Xy(t,e+"_batchUtoLEM",e+"_UtoLEM",2*o,2*o),Xy(t,e+"_batchCtoLEM",e+"_CtoLEM",o,2*o,!0),Xy(t,e+"_batchToJacobian",e+"_toJacobian",2*o,3*o,!0),Zy(t,e,e+"_multiexp",e+"_add",3*o),Zy(t,e,e+"_multiexpAffine",e+"_addMixed",2*o),Ky(t,e+"_timesScalar",3*o,e+"_add",e+"_double",e+"_sub",e+"_copy",e+"_zero"),Ky(t,e+"_timesScalarAffine",2*o,e+"_addMixed",e+"_double",e+"_subMixed",e+"_copyAffine",e+"_zero"),t.exportFunction(e+"_isZero"),t.exportFunction(e+"_isZeroAffine"),t.exportFunction(e+"_eq"),t.exportFunction(e+"_eqMixed"),t.exportFunction(e+"_eqAffine"),t.exportFunction(e+"_copy"),t.exportFunction(e+"_copyAffine"),t.exportFunction(e+"_zero"),t.exportFunction(e+"_zeroAffine"),t.exportFunction(e+"_double"),t.exportFunction(e+"_doubleAffine"),t.exportFunction(e+"_add"),t.exportFunction(e+"_addMixed"),t.exportFunction(e+"_addAffine"),t.exportFunction(e+"_neg"),t.exportFunction(e+"_negAffine"),t.exportFunction(e+"_sub"),t.exportFunction(e+"_subMixed"),t.exportFunction(e+"_subAffine"),t.exportFunction(e+"_fromMontgomery"),t.exportFunction(e+"_fromMontgomeryAffine"),t.exportFunction(e+"_toMontgomery"),t.exportFunction(e+"_toMontgomeryAffine"),t.exportFunction(e+"_timesScalar"),t.exportFunction(e+"_timesScalarAffine"),t.exportFunction(e+"_normalize"),t.exportFunction(e+"_LEMtoU"),t.exportFunction(e+"_LEMtoC"),t.exportFunction(e+"_UtoLEM"),t.exportFunction(e+"_CtoLEM"),t.exportFunction(e+"_batchLEMtoU"),t.exportFunction(e+"_batchLEMtoC"),t.exportFunction(e+"_batchUtoLEM"),t.exportFunction(e+"_batchCtoLEM"),t.exportFunction(e+"_toAffine"),t.exportFunction(e+"_toJacobian"),t.exportFunction(e+"_batchToAffine"),t.exportFunction(e+"_batchToJacobian"),t.exportFunction(e+"_inCurve"),t.exportFunction(e+"_inCurveAffine"),e};const{isOdd:tI,modInv:eI,modPow:nI}=py,rI=cy;var iI=function(t,e,n,r,i){const o=8*t.modules[r].n64,s=8*t.modules[n].n64,a=t.modules[r].q;let c=a-1n,l=0;for(;!tI(c);)l++,c>>=1n;let u=2n;for(;1n===nI(u,a>>1n,a);)u+=1n;const h=new Array(l+1);h[l]=nI(u,c,a);let d=l-1;for(;d>=0;)h[d]=nI(h[d+1],2n,a),d--;const p=[],f=(1n<<BigInt(8*o))%a;for(let t=0;t<h.length;t++){const e=h[t]*f%a;p.push(...rI.bigInt2BytesLE(e,o))}const A=t.alloc(p),g=new Array(l+1);g[0]=1n;for(let t=1;t<=l;t++)g[t]=2n*g[t-1];const E=[];for(let t=0;t<=l;t++){const e=eI(g[t],a)*f%a;E.push(...rI.bigInt2BytesLE(e,o))}const m=t.alloc(E),w=nI(u,2n,a),y=[],I=[];for(let t=0;t<=l;t++){const e=nI(w,2n**BigInt(t),a),n=eI(a+1n-e,a);y.push(...rI.bigInt2BytesLE(e*f%a,o)),I.push(...rI.bigInt2BytesLE(n*f%a,o))}const C=t.alloc(y),B=t.alloc(I);function T(t){let e=0;for(let n=0;n<8;n++)t&1<<n&&(e|=128>>n);return e}const D=Array(256);for(let t=0;t<256;t++)D[t]=T(t);const b=t.alloc(D);function M(){const n=t.addFunction(e+"_fft");n.addParam("px","i32"),n.addParam("n","i32"),n.addLocal("bits","i32");const i=n.getCodeBuilder(),s=i.i32_const(t.alloc(o));n.addCode(i.setLocal("bits",i.call(e+"__log2",i.getLocal("n"))),i.call(r+"_one",s),i.call(e+"_rawfft",i.getLocal("px"),i.getLocal("bits"),i.i32_const(0),s))}!function(){const n=t.addFunction(e+"__rev");n.addParam("x","i32"),n.addParam("bits","i32"),n.setReturnType("i32");const r=n.getCodeBuilder();n.addCode(r.i32_rotl(r.i32_add(r.i32_add(r.i32_shl(r.i32_load8_u(r.i32_and(r.getLocal("x"),r.i32_const(255)),b,0),r.i32_const(24)),r.i32_shl(r.i32_load8_u(r.i32_and(r.i32_shr_u(r.getLocal("x"),r.i32_const(8)),r.i32_const(255)),b,0),r.i32_const(16))),r.i32_add(r.i32_shl(r.i32_load8_u(r.i32_and(r.i32_shr_u(r.getLocal("x"),r.i32_const(16)),r.i32_const(255)),b,0),r.i32_const(8)),r.i32_load8_u(r.i32_and(r.i32_shr_u(r.getLocal("x"),r.i32_const(24)),r.i32_const(255)),b,0))),r.getLocal("bits")))}(),function(){const r=t.addFunction(e+"__reversePermutation");r.addParam("px","i32"),r.addParam("bits","i32"),r.addLocal("n","i32"),r.addLocal("i","i32"),r.addLocal("ri","i32"),r.addLocal("idx1","i32"),r.addLocal("idx2","i32");const i=r.getCodeBuilder(),o=i.i32_const(t.alloc(s));r.addCode(i.setLocal("n",i.i32_shl(i.i32_const(1),i.getLocal("bits"))),i.setLocal("i",i.i32_const(0)),i.block(i.loop(i.br_if(1,i.i32_eq(i.getLocal("i"),i.getLocal("n"))),i.setLocal("idx1",i.i32_add(i.getLocal("px"),i.i32_mul(i.getLocal("i"),i.i32_const(s)))),i.setLocal("ri",i.call(e+"__rev",i.getLocal("i"),i.getLocal("bits"))),i.setLocal("idx2",i.i32_add(i.getLocal("px"),i.i32_mul(i.getLocal("ri"),i.i32_const(s)))),i.if(i.i32_lt_u(i.getLocal("i"),i.getLocal("ri")),[...i.call(n+"_copy",i.getLocal("idx1"),o),...i.call(n+"_copy",i.getLocal("idx2"),i.getLocal("idx1")),...i.call(n+"_copy",o,i.getLocal("idx2"))]),i.setLocal("i",i.i32_add(i.getLocal("i"),i.i32_const(1))),i.br(0))))}(),function(){const o=t.addFunction(e+"__fftFinal");o.addParam("px","i32"),o.addParam("bits","i32"),o.addParam("reverse","i32"),o.addParam("mulFactor","i32"),o.addLocal("n","i32"),o.addLocal("ndiv2","i32"),o.addLocal("pInv2","i32"),o.addLocal("i","i32"),o.addLocal("mask","i32"),o.addLocal("idx1","i32"),o.addLocal("idx2","i32");const a=o.getCodeBuilder(),c=a.i32_const(t.alloc(s));o.addCode(a.if(a.i32_and(a.i32_eqz(a.getLocal("reverse")),a.call(r+"_isOne",a.getLocal("mulFactor"))),a.ret([])),a.setLocal("n",a.i32_shl(a.i32_const(1),a.getLocal("bits"))),a.setLocal("mask",a.i32_sub(a.getLocal("n"),a.i32_const(1))),a.setLocal("i",a.i32_const(1)),a.setLocal("ndiv2",a.i32_shr_u(a.getLocal("n"),a.i32_const(1))),a.block(a.loop(a.br_if(1,a.i32_ge_u(a.getLocal("i"),a.getLocal("ndiv2"))),a.setLocal("idx1",a.i32_add(a.getLocal("px"),a.i32_mul(a.getLocal("i"),a.i32_const(s)))),a.setLocal("idx2",a.i32_add(a.getLocal("px"),a.i32_mul(a.i32_sub(a.getLocal("n"),a.getLocal("i")),a.i32_const(s)))),a.if(a.getLocal("reverse"),a.if(a.call(r+"_isOne",a.getLocal("mulFactor")),[...a.call(n+"_copy",a.getLocal("idx1"),c),...a.call(n+"_copy",a.getLocal("idx2"),a.getLocal("idx1")),...a.call(n+"_copy",c,a.getLocal("idx2"))],[...a.call(n+"_copy",a.getLocal("idx1"),c),...a.call(i,a.getLocal("idx2"),a.getLocal("mulFactor"),a.getLocal("idx1")),...a.call(i,c,a.getLocal("mulFactor"),a.getLocal("idx2"))]),a.if(a.call(r+"_isOne",a.getLocal("mulFactor")),[],[...a.call(i,a.getLocal("idx1"),a.getLocal("mulFactor"),a.getLocal("idx1")),...a.call(i,a.getLocal("idx2"),a.getLocal("mulFactor"),a.getLocal("idx2"))])),a.setLocal("i",a.i32_add(a.getLocal("i"),a.i32_const(1))),a.br(0))),a.if(a.call(r+"_isOne",a.getLocal("mulFactor")),[],[...a.call(i,a.getLocal("px"),a.getLocal("mulFactor"),a.getLocal("px")),...a.setLocal("idx2",a.i32_add(a.getLocal("px"),a.i32_mul(a.getLocal("ndiv2"),a.i32_const(s)))),...a.call(i,a.getLocal("idx2"),a.getLocal("mulFactor"),a.getLocal("idx2"))]))}(),function(){const a=t.addFunction(e+"_rawfft");a.addParam("px","i32"),a.addParam("bits","i32"),a.addParam("reverse","i32"),a.addParam("mulFactor","i32"),a.addLocal("s","i32"),a.addLocal("k","i32"),a.addLocal("j","i32"),a.addLocal("m","i32"),a.addLocal("mdiv2","i32"),a.addLocal("n","i32"),a.addLocal("pwm","i32"),a.addLocal("idx1","i32"),a.addLocal("idx2","i32");const c=a.getCodeBuilder(),l=c.i32_const(t.alloc(o)),u=c.i32_const(t.alloc(s)),h=c.i32_const(t.alloc(s));a.addCode(c.call(e+"__reversePermutation",c.getLocal("px"),c.getLocal("bits")),c.setLocal("n",c.i32_shl(c.i32_const(1),c.getLocal("bits"))),c.setLocal("s",c.i32_const(1)),c.block(c.loop(c.br_if(1,c.i32_gt_u(c.getLocal("s"),c.getLocal("bits"))),c.setLocal("m",c.i32_shl(c.i32_const(1),c.getLocal("s"))),c.setLocal("pwm",c.i32_add(c.i32_const(A),c.i32_mul(c.getLocal("s"),c.i32_const(o)))),c.setLocal("k",c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_ge_u(c.getLocal("k"),c.getLocal("n"))),c.call(r+"_one",l),c.setLocal("mdiv2",c.i32_shr_u(c.getLocal("m"),c.i32_const(1))),c.setLocal("j",c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_ge_u(c.getLocal("j"),c.getLocal("mdiv2"))),c.setLocal("idx1",c.i32_add(c.getLocal("px"),c.i32_mul(c.i32_add(c.getLocal("k"),c.getLocal("j")),c.i32_const(s)))),c.setLocal("idx2",c.i32_add(c.getLocal("idx1"),c.i32_mul(c.getLocal("mdiv2"),c.i32_const(s)))),c.call(i,c.getLocal("idx2"),l,u),c.call(n+"_copy",c.getLocal("idx1"),h),c.call(n+"_add",h,u,c.getLocal("idx1")),c.call(n+"_sub",h,u,c.getLocal("idx2")),c.call(r+"_mul",l,c.getLocal("pwm"),l),c.setLocal("j",c.i32_add(c.getLocal("j"),c.i32_const(1))),c.br(0))),c.setLocal("k",c.i32_add(c.getLocal("k"),c.getLocal("m"))),c.br(0))),c.setLocal("s",c.i32_add(c.getLocal("s"),c.i32_const(1))),c.br(0))),c.call(e+"__fftFinal",c.getLocal("px"),c.getLocal("bits"),c.getLocal("reverse"),c.getLocal("mulFactor")))}(),function(){const n=t.addFunction(e+"__log2");n.addParam("n","i32"),n.setReturnType("i32"),n.addLocal("bits","i32"),n.addLocal("aux","i32");const r=n.getCodeBuilder();n.addCode(r.setLocal("aux",r.i32_shr_u(r.getLocal("n"),r.i32_const(1)))),n.addCode(r.setLocal("bits",r.i32_const(0))),n.addCode(r.block(r.loop(r.br_if(1,r.i32_eqz(r.getLocal("aux"))),r.setLocal("aux",r.i32_shr_u(r.getLocal("aux"),r.i32_const(1))),r.setLocal("bits",r.i32_add(r.getLocal("bits"),r.i32_const(1))),r.br(0)))),n.addCode(r.if(r.i32_ne(r.getLocal("n"),r.i32_shl(r.i32_const(1),r.getLocal("bits"))),r.unreachable())),n.addCode(r.if(r.i32_gt_u(r.getLocal("bits"),r.i32_const(l)),r.unreachable())),n.addCode(r.getLocal("bits"))}(),M(),function(){const n=t.addFunction(e+"_ifft");n.addParam("px","i32"),n.addParam("n","i32"),n.addLocal("bits","i32"),n.addLocal("pInv2","i32");const r=n.getCodeBuilder();n.addCode(r.setLocal("bits",r.call(e+"__log2",r.getLocal("n"))),r.setLocal("pInv2",r.i32_add(r.i32_const(m),r.i32_mul(r.getLocal("bits"),r.i32_const(o)))),r.call(e+"_rawfft",r.getLocal("px"),r.getLocal("bits"),r.i32_const(1),r.getLocal("pInv2")))}(),function(){const a=t.addFunction(e+"_fftJoin");a.addParam("pBuff1","i32"),a.addParam("pBuff2","i32"),a.addParam("n","i32"),a.addParam("first","i32"),a.addParam("inc","i32"),a.addLocal("idx1","i32"),a.addLocal("idx2","i32"),a.addLocal("i","i32");const c=a.getCodeBuilder(),l=c.i32_const(t.alloc(o)),u=c.i32_const(t.alloc(s)),h=c.i32_const(t.alloc(s));a.addCode(c.call(r+"_copy",c.getLocal("first"),l),c.setLocal("i",c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_eq(c.getLocal("i"),c.getLocal("n"))),c.setLocal("idx1",c.i32_add(c.getLocal("pBuff1"),c.i32_mul(c.getLocal("i"),c.i32_const(s)))),c.setLocal("idx2",c.i32_add(c.getLocal("pBuff2"),c.i32_mul(c.getLocal("i"),c.i32_const(s)))),c.call(i,c.getLocal("idx2"),l,u),c.call(n+"_copy",c.getLocal("idx1"),h),c.call(n+"_add",h,u,c.getLocal("idx1")),c.call(n+"_sub",h,u,c.getLocal("idx2")),c.call(r+"_mul",l,c.getLocal("inc"),l),c.setLocal("i",c.i32_add(c.getLocal("i"),c.i32_const(1))),c.br(0))))}(),function(){const a=t.addFunction(e+"_fftJoinExt");a.addParam("pBuff1","i32"),a.addParam("pBuff2","i32"),a.addParam("n","i32"),a.addParam("first","i32"),a.addParam("inc","i32"),a.addParam("totalBits","i32"),a.addLocal("idx1","i32"),a.addLocal("idx2","i32"),a.addLocal("i","i32"),a.addLocal("pShiftToM","i32");const c=a.getCodeBuilder(),l=c.i32_const(t.alloc(o)),u=c.i32_const(t.alloc(s));a.addCode(c.setLocal("pShiftToM",c.i32_add(c.i32_const(C),c.i32_mul(c.getLocal("totalBits"),c.i32_const(o)))),c.call(r+"_copy",c.getLocal("first"),l),c.setLocal("i",c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_eq(c.getLocal("i"),c.getLocal("n"))),c.setLocal("idx1",c.i32_add(c.getLocal("pBuff1"),c.i32_mul(c.getLocal("i"),c.i32_const(s)))),c.setLocal("idx2",c.i32_add(c.getLocal("pBuff2"),c.i32_mul(c.getLocal("i"),c.i32_const(s)))),c.call(n+"_add",c.getLocal("idx1"),c.getLocal("idx2"),u),c.call(i,c.getLocal("idx2"),c.getLocal("pShiftToM"),c.getLocal("idx2")),c.call(n+"_add",c.getLocal("idx1"),c.getLocal("idx2"),c.getLocal("idx2")),c.call(i,c.getLocal("idx2"),l,c.getLocal("idx2")),c.call(n+"_copy",u,c.getLocal("idx1")),c.call(r+"_mul",l,c.getLocal("inc"),l),c.setLocal("i",c.i32_add(c.getLocal("i"),c.i32_const(1))),c.br(0))))}(),function(){const a=t.addFunction(e+"_fftJoinExtInv");a.addParam("pBuff1","i32"),a.addParam("pBuff2","i32"),a.addParam("n","i32"),a.addParam("first","i32"),a.addParam("inc","i32"),a.addParam("totalBits","i32"),a.addLocal("idx1","i32"),a.addLocal("idx2","i32"),a.addLocal("i","i32"),a.addLocal("pShiftToM","i32"),a.addLocal("pSConst","i32");const c=a.getCodeBuilder(),l=c.i32_const(t.alloc(o)),u=c.i32_const(t.alloc(s));a.addCode(c.setLocal("pShiftToM",c.i32_add(c.i32_const(C),c.i32_mul(c.getLocal("totalBits"),c.i32_const(o)))),c.setLocal("pSConst",c.i32_add(c.i32_const(B),c.i32_mul(c.getLocal("totalBits"),c.i32_const(o)))),c.call(r+"_copy",c.getLocal("first"),l),c.setLocal("i",c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_eq(c.getLocal("i"),c.getLocal("n"))),c.setLocal("idx1",c.i32_add(c.getLocal("pBuff1"),c.i32_mul(c.getLocal("i"),c.i32_const(s)))),c.setLocal("idx2",c.i32_add(c.getLocal("pBuff2"),c.i32_mul(c.getLocal("i"),c.i32_const(s)))),c.call(i,c.getLocal("idx2"),l,u),c.call(n+"_sub",c.getLocal("idx1"),u,c.getLocal("idx2")),c.call(i,c.getLocal("idx2"),c.getLocal("pSConst"),c.getLocal("idx2")),c.call(i,c.getLocal("idx1"),c.getLocal("pShiftToM"),c.getLocal("idx1")),c.call(n+"_sub",u,c.getLocal("idx1"),c.getLocal("idx1")),c.call(i,c.getLocal("idx1"),c.getLocal("pSConst"),c.getLocal("idx1")),c.call(r+"_mul",l,c.getLocal("inc"),l),c.setLocal("i",c.i32_add(c.getLocal("i"),c.i32_const(1))),c.br(0))))}(),function(){const a=t.addFunction(e+"_fftMix");a.addParam("pBuff","i32"),a.addParam("n","i32"),a.addParam("exp","i32"),a.addLocal("nGroups","i32"),a.addLocal("nPerGroup","i32"),a.addLocal("nPerGroupDiv2","i32"),a.addLocal("pairOffset","i32"),a.addLocal("idx1","i32"),a.addLocal("idx2","i32"),a.addLocal("i","i32"),a.addLocal("j","i32"),a.addLocal("pwm","i32");const c=a.getCodeBuilder(),l=c.i32_const(t.alloc(o)),u=c.i32_const(t.alloc(s)),h=c.i32_const(t.alloc(s));a.addCode(c.setLocal("nPerGroup",c.i32_shl(c.i32_const(1),c.getLocal("exp"))),c.setLocal("nPerGroupDiv2",c.i32_shr_u(c.getLocal("nPerGroup"),c.i32_const(1))),c.setLocal("nGroups",c.i32_shr_u(c.getLocal("n"),c.getLocal("exp"))),c.setLocal("pairOffset",c.i32_mul(c.getLocal("nPerGroupDiv2"),c.i32_const(s))),c.setLocal("pwm",c.i32_add(c.i32_const(A),c.i32_mul(c.getLocal("exp"),c.i32_const(o)))),c.setLocal("i",c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_eq(c.getLocal("i"),c.getLocal("nGroups"))),c.call(r+"_one",l),c.setLocal("j",c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_eq(c.getLocal("j"),c.getLocal("nPerGroupDiv2"))),c.setLocal("idx1",c.i32_add(c.getLocal("pBuff"),c.i32_mul(c.i32_add(c.i32_mul(c.getLocal("i"),c.getLocal("nPerGroup")),c.getLocal("j")),c.i32_const(s)))),c.setLocal("idx2",c.i32_add(c.getLocal("idx1"),c.getLocal("pairOffset"))),c.call(i,c.getLocal("idx2"),l,u),c.call(n+"_copy",c.getLocal("idx1"),h),c.call(n+"_add",h,u,c.getLocal("idx1")),c.call(n+"_sub",h,u,c.getLocal("idx2")),c.call(r+"_mul",l,c.getLocal("pwm"),l),c.setLocal("j",c.i32_add(c.getLocal("j"),c.i32_const(1))),c.br(0))),c.setLocal("i",c.i32_add(c.getLocal("i"),c.i32_const(1))),c.br(0))))}(),function(){const r=t.addFunction(e+"_fftFinal");r.addParam("pBuff","i32"),r.addParam("n","i32"),r.addParam("factor","i32"),r.addLocal("idx1","i32"),r.addLocal("idx2","i32"),r.addLocal("i","i32"),r.addLocal("ndiv2","i32");const o=r.getCodeBuilder(),a=o.i32_const(t.alloc(s));r.addCode(o.setLocal("ndiv2",o.i32_shr_u(o.getLocal("n"),o.i32_const(1))),o.if(o.i32_and(o.getLocal("n"),o.i32_const(1)),o.call(i,o.i32_add(o.getLocal("pBuff"),o.i32_mul(o.getLocal("ndiv2"),o.i32_const(s))),o.getLocal("factor"),o.i32_add(o.getLocal("pBuff"),o.i32_mul(o.getLocal("ndiv2"),o.i32_const(s))))),o.setLocal("i",o.i32_const(0)),o.block(o.loop(o.br_if(1,o.i32_ge_u(o.getLocal("i"),o.getLocal("ndiv2"))),o.setLocal("idx1",o.i32_add(o.getLocal("pBuff"),o.i32_mul(o.getLocal("i"),o.i32_const(s)))),o.setLocal("idx2",o.i32_add(o.getLocal("pBuff"),o.i32_mul(o.i32_sub(o.i32_sub(o.getLocal("n"),o.i32_const(1)),o.getLocal("i")),o.i32_const(s)))),o.call(i,o.getLocal("idx2"),o.getLocal("factor"),a),o.call(i,o.getLocal("idx1"),o.getLocal("factor"),o.getLocal("idx2")),o.call(n+"_copy",a,o.getLocal("idx1")),o.setLocal("i",o.i32_add(o.getLocal("i"),o.i32_const(1))),o.br(0))))}(),function(){const a=t.addFunction(e+"_prepareLagrangeEvaluation");a.addParam("pBuff1","i32"),a.addParam("pBuff2","i32"),a.addParam("n","i32"),a.addParam("first","i32"),a.addParam("inc","i32"),a.addParam("totalBits","i32"),a.addLocal("idx1","i32"),a.addLocal("idx2","i32"),a.addLocal("i","i32"),a.addLocal("pShiftToM","i32"),a.addLocal("pSConst","i32");const c=a.getCodeBuilder(),l=c.i32_const(t.alloc(o)),u=c.i32_const(t.alloc(s));a.addCode(c.setLocal("pShiftToM",c.i32_add(c.i32_const(C),c.i32_mul(c.getLocal("totalBits"),c.i32_const(o)))),c.setLocal("pSConst",c.i32_add(c.i32_const(B),c.i32_mul(c.getLocal("totalBits"),c.i32_const(o)))),c.call(r+"_copy",c.getLocal("first"),l),c.setLocal("i",c.i32_const(0)),c.block(c.loop(c.br_if(1,c.i32_eq(c.getLocal("i"),c.getLocal("n"))),c.setLocal("idx1",c.i32_add(c.getLocal("pBuff1"),c.i32_mul(c.getLocal("i"),c.i32_const(s)))),c.setLocal("idx2",c.i32_add(c.getLocal("pBuff2"),c.i32_mul(c.getLocal("i"),c.i32_const(s)))),c.call(i,c.getLocal("idx1"),c.getLocal("pShiftToM"),u),c.call(n+"_sub",c.getLocal("idx2"),u,u),c.call(n+"_sub",c.getLocal("idx1"),c.getLocal("idx2"),c.getLocal("idx2")),c.call(i,u,c.getLocal("pSConst"),c.getLocal("idx1")),c.call(i,c.getLocal("idx2"),l,c.getLocal("idx2")),c.call(r+"_mul",l,c.getLocal("inc"),l),c.setLocal("i",c.i32_add(c.getLocal("i"),c.i32_const(1))),c.br(0))))}(),t.exportFunction(e+"_fft"),t.exportFunction(e+"_ifft"),t.exportFunction(e+"_rawfft"),t.exportFunction(e+"_fftJoin"),t.exportFunction(e+"_fftJoinExt"),t.exportFunction(e+"_fftJoinExtInv"),t.exportFunction(e+"_fftMix"),t.exportFunction(e+"_fftFinal"),t.exportFunction(e+"_prepareLagrangeEvaluation")},oI=function(t,e,n){const r=8*t.modules[n].n64;return function(){const i=t.addFunction(e+"_zero");i.addParam("px","i32"),i.addParam("n","i32"),i.addLocal("lastp","i32"),i.addLocal("p","i32");const o=i.getCodeBuilder();i.addCode(o.setLocal("p",o.getLocal("px")),o.setLocal("lastp",o.i32_add(o.getLocal("px"),o.i32_mul(o.getLocal("n"),o.i32_const(r)))),o.block(o.loop(o.br_if(1,o.i32_eq(o.getLocal("p"),o.getLocal("lastp"))),o.call(n+"_zero",o.getLocal("p")),o.setLocal("p",o.i32_add(o.getLocal("p"),o.i32_const(r))),o.br(0))))}(),function(){const i=t.addFunction(e+"_constructLC");i.addParam("ppolynomials","i32"),i.addParam("psignals","i32"),i.addParam("nSignals","i32"),i.addParam("pres","i32"),i.addLocal("i","i32"),i.addLocal("j","i32"),i.addLocal("pp","i32"),i.addLocal("ps","i32"),i.addLocal("pd","i32"),i.addLocal("ncoefs","i32");const o=i.getCodeBuilder(),s=o.i32_const(t.alloc(r));i.addCode(o.setLocal("i",o.i32_const(0)),o.setLocal("pp",o.getLocal("ppolynomials")),o.setLocal("ps",o.getLocal("psignals")),o.block(o.loop(o.br_if(1,o.i32_eq(o.getLocal("i"),o.getLocal("nSignals"))),o.setLocal("ncoefs",o.i32_load(o.getLocal("pp"))),o.setLocal("pp",o.i32_add(o.getLocal("pp"),o.i32_const(4))),o.setLocal("j",o.i32_const(0)),o.block(o.loop(o.br_if(1,o.i32_eq(o.getLocal("j"),o.getLocal("ncoefs"))),o.setLocal("pd",o.i32_add(o.getLocal("pres"),o.i32_mul(o.i32_load(o.getLocal("pp")),o.i32_const(r)))),o.setLocal("pp",o.i32_add(o.getLocal("pp"),o.i32_const(4))),o.call(n+"_mul",o.getLocal("ps"),o.getLocal("pp"),s),o.call(n+"_add",s,o.getLocal("pd"),o.getLocal("pd")),o.setLocal("pp",o.i32_add(o.getLocal("pp"),o.i32_const(r))),o.setLocal("j",o.i32_add(o.getLocal("j"),o.i32_const(1))),o.br(0))),o.setLocal("ps",o.i32_add(o.getLocal("ps"),o.i32_const(r))),o.setLocal("i",o.i32_add(o.getLocal("i"),o.i32_const(1))),o.br(0))))}(),t.exportFunction(e+"_zero"),t.exportFunction(e+"_constructLC"),e},sI=function(t,e,n){const r=8*t.modules[n].n64;return function(){const i=t.addFunction(e+"_buildABC");i.addParam("pCoefs","i32"),i.addParam("nCoefs","i32"),i.addParam("pWitness","i32"),i.addParam("pA","i32"),i.addParam("pB","i32"),i.addParam("pC","i32"),i.addParam("offsetOut","i32"),i.addParam("nOut","i32"),i.addParam("offsetWitness","i32"),i.addParam("nWitness","i32"),i.addLocal("it","i32"),i.addLocal("ita","i32"),i.addLocal("itb","i32"),i.addLocal("last","i32"),i.addLocal("m","i32"),i.addLocal("c","i32"),i.addLocal("s","i32"),i.addLocal("pOut","i32");const o=i.getCodeBuilder(),s=o.i32_const(t.alloc(r));i.addCode(o.setLocal("ita",o.getLocal("pA")),o.setLocal("itb",o.getLocal("pB")),o.setLocal("last",o.i32_add(o.getLocal("pA"),o.i32_mul(o.getLocal("nOut"),o.i32_const(r)))),o.block(o.loop(o.br_if(1,o.i32_eq(o.getLocal("ita"),o.getLocal("last"))),o.call(n+"_zero",o.getLocal("ita")),o.call(n+"_zero",o.getLocal("itb")),o.setLocal("ita",o.i32_add(o.getLocal("ita"),o.i32_const(r))),o.setLocal("itb",o.i32_add(o.getLocal("itb"),o.i32_const(r))),o.br(0))),o.setLocal("it",o.getLocal("pCoefs")),o.setLocal("last",o.i32_add(o.getLocal("pCoefs"),o.i32_mul(o.getLocal("nCoefs"),o.i32_const(r+12)))),o.block(o.loop(o.br_if(1,o.i32_eq(o.getLocal("it"),o.getLocal("last"))),o.setLocal("s",o.i32_load(o.getLocal("it"),8)),o.if(o.i32_or(o.i32_lt_u(o.getLocal("s"),o.getLocal("offsetWitness")),o.i32_ge_u(o.getLocal("s"),o.i32_add(o.getLocal("offsetWitness"),o.getLocal("nWitness")))),[...o.setLocal("it",o.i32_add(o.getLocal("it"),o.i32_const(r+12))),...o.br(1)]),o.setLocal("m",o.i32_load(o.getLocal("it"))),o.if(o.i32_eq(o.getLocal("m"),o.i32_const(0)),o.setLocal("pOut",o.getLocal("pA")),o.if(o.i32_eq(o.getLocal("m"),o.i32_const(1)),o.setLocal("pOut",o.getLocal("pB")),[...o.setLocal("it",o.i32_add(o.getLocal("it"),o.i32_const(r+12))),...o.br(1)])),o.setLocal("c",o.i32_load(o.getLocal("it"),4)),o.if(o.i32_or(o.i32_lt_u(o.getLocal("c"),o.getLocal("offsetOut")),o.i32_ge_u(o.getLocal("c"),o.i32_add(o.getLocal("offsetOut"),o.getLocal("nOut")))),[...o.setLocal("it",o.i32_add(o.getLocal("it"),o.i32_const(r+12))),...o.br(1)]),o.setLocal("pOut",o.i32_add(o.getLocal("pOut"),o.i32_mul(o.i32_sub(o.getLocal("c"),o.getLocal("offsetOut")),o.i32_const(r)))),o.call(n+"_mul",o.i32_add(o.getLocal("pWitness"),o.i32_mul(o.i32_sub(o.getLocal("s"),o.getLocal("offsetWitness")),o.i32_const(r))),o.i32_add(o.getLocal("it"),o.i32_const(12)),s),o.call(n+"_add",o.getLocal("pOut"),s,o.getLocal("pOut")),o.setLocal("it",o.i32_add(o.getLocal("it"),o.i32_const(r+12))),o.br(0))),o.setLocal("ita",o.getLocal("pA")),o.setLocal("itb",o.getLocal("pB")),o.setLocal("it",o.getLocal("pC")),o.setLocal("last",o.i32_add(o.getLocal("pA"),o.i32_mul(o.getLocal("nOut"),o.i32_const(r)))),o.block(o.loop(o.br_if(1,o.i32_eq(o.getLocal("ita"),o.getLocal("last"))),o.call(n+"_mul",o.getLocal("ita"),o.getLocal("itb"),o.getLocal("it")),o.setLocal("ita",o.i32_add(o.getLocal("ita"),o.i32_const(r))),o.setLocal("itb",o.i32_add(o.getLocal("itb"),o.i32_const(r))),o.setLocal("it",o.i32_add(o.getLocal("it"),o.i32_const(r))),o.br(0))))}(),function(){const i=t.addFunction(e+"_joinABC");i.addParam("pA","i32"),i.addParam("pB","i32"),i.addParam("pC","i32"),i.addParam("n","i32"),i.addParam("pP","i32"),i.addLocal("ita","i32"),i.addLocal("itb","i32"),i.addLocal("itc","i32"),i.addLocal("itp","i32"),i.addLocal("last","i32");const o=i.getCodeBuilder(),s=o.i32_const(t.alloc(r));i.addCode(o.setLocal("ita",o.getLocal("pA")),o.setLocal("itb",o.getLocal("pB")),o.setLocal("itc",o.getLocal("pC")),o.setLocal("itp",o.getLocal("pP")),o.setLocal("last",o.i32_add(o.getLocal("pA"),o.i32_mul(o.getLocal("n"),o.i32_const(r)))),o.block(o.loop(o.br_if(1,o.i32_eq(o.getLocal("ita"),o.getLocal("last"))),o.call(n+"_mul",o.getLocal("ita"),o.getLocal("itb"),s),o.call(n+"_sub",s,o.getLocal("itc"),o.getLocal("itp")),o.setLocal("ita",o.i32_add(o.getLocal("ita"),o.i32_const(r))),o.setLocal("itb",o.i32_add(o.getLocal("itb"),o.i32_const(r))),o.setLocal("itc",o.i32_add(o.getLocal("itc"),o.i32_const(r))),o.setLocal("itp",o.i32_add(o.getLocal("itp"),o.i32_const(r))),o.br(0))))}(),function(){const i=t.addFunction(e+"_batchAdd");i.addParam("pa","i32"),i.addParam("pb","i32"),i.addParam("n","i32"),i.addParam("pr","i32"),i.addLocal("ita","i32"),i.addLocal("itb","i32"),i.addLocal("itr","i32"),i.addLocal("last","i32");const o=i.getCodeBuilder();i.addCode(o.setLocal("ita",o.getLocal("pa")),o.setLocal("itb",o.getLocal("pb")),o.setLocal("itr",o.getLocal("pr")),o.setLocal("last",o.i32_add(o.getLocal("pa"),o.i32_mul(o.getLocal("n"),o.i32_const(r)))),o.block(o.loop(o.br_if(1,o.i32_eq(o.getLocal("ita"),o.getLocal("last"))),o.call(n+"_add",o.getLocal("ita"),o.getLocal("itb"),o.getLocal("itr")),o.setLocal("ita",o.i32_add(o.getLocal("ita"),o.i32_const(r))),o.setLocal("itb",o.i32_add(o.getLocal("itb"),o.i32_const(r))),o.setLocal("itr",o.i32_add(o.getLocal("itr"),o.i32_const(r))),o.br(0))))}(),t.exportFunction(e+"_buildABC"),t.exportFunction(e+"_joinABC"),t.exportFunction(e+"_batchAdd"),e},aI=function(t,e,n,r,i,o,s,a){const c=t.addFunction(e);c.addParam("pIn","i32"),c.addParam("n","i32"),c.addParam("pFirst","i32"),c.addParam("pInc","i32"),c.addParam("pOut","i32"),c.addLocal("pOldFree","i32"),c.addLocal("i","i32"),c.addLocal("pFrom","i32"),c.addLocal("pTo","i32");const l=c.getCodeBuilder(),u=l.i32_const(t.alloc(s));c.addCode(l.setLocal("pFrom",l.getLocal("pIn")),l.setLocal("pTo",l.getLocal("pOut"))),c.addCode(l.call(r+"_copy",l.getLocal("pFirst"),u)),c.addCode(l.setLocal("i",l.i32_const(0)),l.block(l.loop(l.br_if(1,l.i32_eq(l.getLocal("i"),l.getLocal("n"))),l.call(a,l.getLocal("pFrom"),u,l.getLocal("pTo")),l.setLocal("pFrom",l.i32_add(l.getLocal("pFrom"),l.i32_const(i))),l.setLocal("pTo",l.i32_add(l.getLocal("pTo"),l.i32_const(o))),l.call(r+"_mul",u,l.getLocal("pInc"),u),l.setLocal("i",l.i32_add(l.getLocal("i"),l.i32_const(1))),l.br(0)))),t.exportFunction(e)};const cI=cy,lI=Uy,uI=Vy,hI=zy,dI=qy,pI=$y,fI=iI,AI=oI,gI=sI,EI=aI,{bitLength:mI,modInv:wI,isOdd:yI,isNegative:II}=py;const CI=cy,BI=Uy,TI=Vy,DI=zy,bI=qy,MI=$y,NI=iI,vI=oI,SI=sI,_I=aI,{bitLength:LI,isOdd:xI,isNegative:RI}=py;var FI=function(t,e){const n=e||"bn128";if(t.modules[n])return n;const r=21888242871839275222246405745257275088696311157297823662689037894645226208583n,i=21888242871839275222246405745257275088548364400416034343698204186575808495617n,o=Math.floor((mI(r-1n)-1)/64)+1,s=8*o,a=s,c=s,l=2*c,u=12*c,h=t.alloc(cI.bigInt2BytesLE(i,a)),d=lI(t,r,"f1m");uI(t,i,"fr","frm");const p=t.alloc(cI.bigInt2BytesLE(w(3n),c)),f=pI(t,"g1m","f1m",p);fI(t,"frm","frm","frm","frm_mul"),AI(t,"pol","frm"),gI(t,"qap","frm");const A=hI(t,"f1m_neg","f2m","f1m"),g=t.alloc([...cI.bigInt2BytesLE(w(19485874751759354771024239261021720505790618469301721065564631296452457478373n),c),...cI.bigInt2BytesLE(w(266929791119991161246907387137283842545076965332900288569378510910307636690n),c)]),E=pI(t,"g2m","f2m",g);function m(e,n){const r=t.addFunction(e);r.addParam("pG","i32"),r.addParam("pFr","i32"),r.addParam("pr","i32");const i=r.getCodeBuilder(),o=i.i32_const(t.alloc(s));r.addCode(i.call("frm_fromMontgomery",i.getLocal("pFr"),o),i.call(n,i.getLocal("pG"),o,i.i32_const(s),i.getLocal("pr"))),t.exportFunction(e)}function w(t){return BigInt(t)*(1n<<BigInt(8*c))%r}m("g1m_timesFr","g1m_timesScalar"),fI(t,"g1m","g1m","frm","g1m_timesFr"),m("g2m_timesFr","g2m_timesScalar"),fI(t,"g2m","g2m","frm","g2m_timesFr"),m("g1m_timesFrAffine","g1m_timesScalarAffine"),m("g2m_timesFrAffine","g2m_timesScalarAffine"),EI(t,"frm_batchApplyKey","fmr","frm",s,s,s,"frm_mul"),EI(t,"g1m_batchApplyKey","g1m","frm",3*s,3*s,s,"g1m_timesFr"),EI(t,"g1m_batchApplyKeyMixed","g1m","frm",2*s,3*s,s,"g1m_timesFrAffine"),EI(t,"g2m_batchApplyKey","g2m","frm",2*s*3,3*s*2,s,"g2m_timesFr"),EI(t,"g2m_batchApplyKeyMixed","g2m","frm",2*s*2,3*s*2,s,"g2m_timesFrAffine");const y=[1n,2n,1n],I=t.alloc([...cI.bigInt2BytesLE(w(y[0]),c),...cI.bigInt2BytesLE(w(y[1]),c),...cI.bigInt2BytesLE(w(y[2]),c)]),C=[0n,1n,0n],B=t.alloc([...cI.bigInt2BytesLE(w(C[0]),c),...cI.bigInt2BytesLE(w(C[1]),c),...cI.bigInt2BytesLE(w(C[2]),c)]),T=[[10857046999023057135944570762232829481370756359578518086990519993285655852781n,11559732032986387107991004021392285783925812861821192530917403151452391805634n],[8495653923123431417604973247489272438418190587263600148770280649306958101930n,4082367875863433681332203403145435568316851327593401208105741076214120093531n],[1n,0n]],D=t.alloc([...cI.bigInt2BytesLE(w(T[0][0]),c),...cI.bigInt2BytesLE(w(T[0][1]),c),...cI.bigInt2BytesLE(w(T[1][0]),c),...cI.bigInt2BytesLE(w(T[1][1]),c),...cI.bigInt2BytesLE(w(T[2][0]),c),...cI.bigInt2BytesLE(w(T[2][1]),c)]),b=[[0n,0n],[1n,0n],[0n,0n]],M=t.alloc([...cI.bigInt2BytesLE(w(b[0][0]),c),...cI.bigInt2BytesLE(w(b[0][1]),c),...cI.bigInt2BytesLE(w(b[1][0]),c),...cI.bigInt2BytesLE(w(b[1][1]),c),...cI.bigInt2BytesLE(w(b[2][0]),c),...cI.bigInt2BytesLE(w(b[2][1]),c)]),N=t.alloc([...cI.bigInt2BytesLE(w(1),c),...cI.bigInt2BytesLE(w(0),c),...cI.bigInt2BytesLE(w(0),c),...cI.bigInt2BytesLE(w(0),c),...cI.bigInt2BytesLE(w(0),c),...cI.bigInt2BytesLE(w(0),c),...cI.bigInt2BytesLE(w(0),c),...cI.bigInt2BytesLE(w(0),c),...cI.bigInt2BytesLE(w(0),c),...cI.bigInt2BytesLE(w(0),c),...cI.bigInt2BytesLE(w(0),c),...cI.bigInt2BytesLE(w(0),c)]),v=t.alloc([...cI.bigInt2BytesLE(w(9),c),...cI.bigInt2BytesLE(w(1),c)]),S=t.alloc([...cI.bigInt2BytesLE(w(wI(2n,r)),c),...cI.bigInt2BytesLE(0n,c)]),_=v,L=t.alloc([...cI.bigInt2BytesLE(w(19485874751759354771024239261021720505790618469301721065564631296452457478373n),c),...cI.bigInt2BytesLE(w(266929791119991161246907387137283842545076965332900288569378510910307636690n),c)]);!function(){const e=t.addFunction(n+"_mulNR6");e.addParam("x","i32"),e.addParam("pr","i32");const r=e.getCodeBuilder();e.addCode(r.call(A+"_mul",r.i32_const(v),r.getLocal("x"),r.getLocal("pr")))}();const x=dI(t,n+"_mulNR6","f6m","f2m");!function(){const e=t.addFunction(n+"_mulNR12");e.addParam("x","i32"),e.addParam("pr","i32");const r=e.getCodeBuilder();e.addCode(r.call(A+"_mul",r.i32_const(v),r.i32_add(r.getLocal("x"),r.i32_const(4*s)),r.getLocal("pr")),r.call(A+"_copy",r.getLocal("x"),r.i32_add(r.getLocal("pr"),r.i32_const(2*s))),r.call(A+"_copy",r.i32_add(r.getLocal("x"),r.i32_const(2*s)),r.i32_add(r.getLocal("pr"),r.i32_const(4*s))))}();const R=hI(t,n+"_mulNR12","ftm",x),F=function(t){let e=t;const n=[];for(;e>0n;)yI(e)?n.push(1):n.push(0),e>>=1n;return n}(29793968203157093288n),O=t.alloc(F),Q=3*l,k=F.length-1,U=F.reduce((t,e)=>t+(0!=e?1:0),0),P=6*s,G=3*s*2+(U+k+1)*Q;t.modules[n]={n64:o,pG1gen:I,pG1zero:B,pG1b:p,pG2gen:D,pG2zero:M,pG2b:g,pq:t.modules.f1m.pq,pr:h,pOneT:N,prePSize:P,preQSize:G,r:i.toString(),q:r.toString()};function V(e){const i=[[[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n]],[[1n,0n],[8376118865763821496583973867626364092589906065868298776909617916018768340080n,16469823323077808223889137241176536799009286646108169935659301613961712198316n],[21888242871839275220042445260109153167277707414472061641714758635765020556617n,0n],[11697423496358154304825782922584725312912383441159505038794027105778954184319n,303847389135065887422783454877609941456349188919719272345083954437860409601n],[21888242871839275220042445260109153167277707414472061641714758635765020556616n,0n],[3321304630594332808241809054958361220322477375291206261884409189760185844239n,5722266937896532885780051958958348231143373700109372999374820235121374419868n],[21888242871839275222246405745257275088696311157297823662689037894645226208582n,0n],[13512124006075453725662431877630910996106405091429524885779419978626457868503n,5418419548761466998357268504080738289687024511189653727029736280683514010267n],[2203960485148121921418603742825762020974279258880205651966n,0n],[10190819375481120917420622822672549775783927716138318623895010788866272024264n,21584395482704209334823622290379665147239961968378104390343953940207365798982n],[2203960485148121921418603742825762020974279258880205651967n,0n],[18566938241244942414004596690298913868373833782006617400804628704885040364344n,16165975933942742336466353786298926857552937457188450663314217659523851788715n]]],o=[[[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n]],[[1n,0n],[21575463638280843010398324269430826099269044274347216827212613867836435027261n,10307601595873709700152284273816112264069230130616436755625194854815875713954n],[21888242871839275220042445260109153167277707414472061641714758635765020556616n,0n],[3772000881919853776433695186713858239009073593817195771773381919316419345261n,2236595495967245188281701248203181795121068902605861227855261137820944008926n],[2203960485148121921418603742825762020974279258880205651966n,0n],[18429021223477853657660792034369865839114504446431234726392080002137598044644n,9344045779998320333812420223237981029506012124075525679208581902008406485703n]],[[1n,0n],[2581911344467009335267311115468803099551665605076196740867805258568234346338n,19937756971775647987995932169929341994314640652964949448313374472400716661030n],[2203960485148121921418603742825762020974279258880205651966n,0n],[5324479202449903542726783395506214481928257762400643279780343368557297135718n,16208900380737693084919495127334387981393726419856888799917914180988844123039n],[21888242871839275220042445260109153167277707414472061641714758635765020556616n,0n],[13981852324922362344252311234282257507216387789820983642040889267519694726527n,7629828391165209371577384193250820201684255241773809077146787135900891633097n]]],s=t.addFunction(n+"__frobeniusMap"+e);s.addParam("x","i32"),s.addParam("r","i32");const a=s.getCodeBuilder();for(let n=0;n<6;n++){const r=0==n?a.getLocal("x"):a.i32_add(a.getLocal("x"),a.i32_const(n*l)),h=r,p=a.i32_add(a.getLocal("x"),a.i32_const(n*l+c)),f=0==n?a.getLocal("r"):a.i32_add(a.getLocal("r"),a.i32_const(n*l)),g=f,E=a.i32_add(a.getLocal("r"),a.i32_const(n*l+c)),m=u(i[Math.floor(n/3)][e%12],o[n%3][e%6]),y=t.alloc([...cI.bigInt2BytesLE(w(m[0]),32),...cI.bigInt2BytesLE(w(m[1]),32)]);e%2==1?s.addCode(a.call(d+"_copy",h,g),a.call(d+"_neg",p,E),a.call(A+"_mul",f,a.i32_const(y),f)):s.addCode(a.call(A+"_mul",r,a.i32_const(y),f))}function u(t,e){const n=BigInt(t[0]),i=BigInt(t[1]),o=BigInt(e[0]),s=BigInt(e[1]),a=[(n*o-i*s)%r,(n*s+i*o)%r];return II(a[0])&&(a[0]=a[0]+r),a}}function H(e,r){const i=function(t){let e=t;const n=[];for(;e>0n;){if(yI(e)){const t=2-Number(e%4n);n.push(t),e-=BigInt(t)}else n.push(0);e>>=1n}return n}(e).map(t=>-1==t?255:t),o=t.alloc(i),s=t.addFunction(n+"__cyclotomicExp_"+r);s.addParam("x","i32"),s.addParam("r","i32"),s.addLocal("bit","i32"),s.addLocal("i","i32");const a=s.getCodeBuilder(),c=a.getLocal("x"),l=a.getLocal("r"),h=a.i32_const(t.alloc(u));s.addCode(a.call(R+"_conjugate",c,h),a.call(R+"_one",l),a.if(a.teeLocal("bit",a.i32_load8_s(a.i32_const(i.length-1),o)),a.if(a.i32_eq(a.getLocal("bit"),a.i32_const(1)),a.call(R+"_mul",l,c,l),a.call(R+"_mul",l,h,l))),a.setLocal("i",a.i32_const(i.length-2)),a.block(a.loop(a.call(n+"__cyclotomicSquare",l,l),a.if(a.teeLocal("bit",a.i32_load8_s(a.getLocal("i"),o)),a.if(a.i32_eq(a.getLocal("bit"),a.i32_const(1)),a.call(R+"_mul",l,c,l),a.call(R+"_mul",l,h,l))),a.br_if(1,a.i32_eqz(a.getLocal("i"))),a.setLocal("i",a.i32_sub(a.getLocal("i"),a.i32_const(1))),a.br(0))))}function j(){!function(){const e=t.addFunction(n+"__cyclotomicSquare");e.addParam("x","i32"),e.addParam("r","i32");const r=e.getCodeBuilder(),i=r.getLocal("x"),o=r.i32_add(r.getLocal("x"),r.i32_const(l)),s=r.i32_add(r.getLocal("x"),r.i32_const(2*l)),a=r.i32_add(r.getLocal("x"),r.i32_const(3*l)),c=r.i32_add(r.getLocal("x"),r.i32_const(4*l)),u=r.i32_add(r.getLocal("x"),r.i32_const(5*l)),h=r.getLocal("r"),d=r.i32_add(r.getLocal("r"),r.i32_const(l)),p=r.i32_add(r.getLocal("r"),r.i32_const(2*l)),f=r.i32_add(r.getLocal("r"),r.i32_const(3*l)),g=r.i32_add(r.getLocal("r"),r.i32_const(4*l)),E=r.i32_add(r.getLocal("r"),r.i32_const(5*l)),m=r.i32_const(t.alloc(l)),w=r.i32_const(t.alloc(l)),y=r.i32_const(t.alloc(l)),I=r.i32_const(t.alloc(l)),C=r.i32_const(t.alloc(l)),B=r.i32_const(t.alloc(l)),T=r.i32_const(t.alloc(l)),D=r.i32_const(t.alloc(l));e.addCode(r.call(A+"_mul",i,c,T),r.call(A+"_mul",c,r.i32_const(v),m),r.call(A+"_add",i,m,m),r.call(A+"_add",i,c,D),r.call(A+"_mul",D,m,m),r.call(A+"_mul",r.i32_const(v),T,D),r.call(A+"_add",T,D,D),r.call(A+"_sub",m,D,m),r.call(A+"_add",T,T,w),r.call(A+"_mul",a,s,T),r.call(A+"_mul",s,r.i32_const(v),y),r.call(A+"_add",a,y,y),r.call(A+"_add",a,s,D),r.call(A+"_mul",D,y,y),r.call(A+"_mul",r.i32_const(v),T,D),r.call(A+"_add",T,D,D),r.call(A+"_sub",y,D,y),r.call(A+"_add",T,T,I),r.call(A+"_mul",o,u,T),r.call(A+"_mul",u,r.i32_const(v),C),r.call(A+"_add",o,C,C),r.call(A+"_add",o,u,D),r.call(A+"_mul",D,C,C),r.call(A+"_mul",r.i32_const(v),T,D),r.call(A+"_add",T,D,D),r.call(A+"_sub",C,D,C),r.call(A+"_add",T,T,B),r.call(A+"_sub",m,i,h),r.call(A+"_add",h,h,h),r.call(A+"_add",m,h,h),r.call(A+"_add",w,c,g),r.call(A+"_add",g,g,g),r.call(A+"_add",w,g,g),r.call(A+"_mul",B,r.i32_const(_),D),r.call(A+"_add",D,a,f),r.call(A+"_add",f,f,f),r.call(A+"_add",D,f,f),r.call(A+"_sub",C,s,p),r.call(A+"_add",p,p,p),r.call(A+"_add",C,p,p),r.call(A+"_sub",y,o,d),r.call(A+"_add",d,d,d),r.call(A+"_add",y,d,d),r.call(A+"_add",I,u,E),r.call(A+"_add",E,E,E),r.call(A+"_add",I,E,E))}(),H(4965661367192848881n,"w0");const e=t.addFunction(n+"__finalExponentiationLastChunk");e.addParam("x","i32"),e.addParam("r","i32");const r=e.getCodeBuilder(),i=r.getLocal("x"),o=r.getLocal("r"),s=r.i32_const(t.alloc(u)),a=r.i32_const(t.alloc(u)),c=r.i32_const(t.alloc(u)),h=r.i32_const(t.alloc(u)),d=r.i32_const(t.alloc(u)),p=r.i32_const(t.alloc(u)),f=r.i32_const(t.alloc(u)),g=r.i32_const(t.alloc(u)),E=r.i32_const(t.alloc(u)),m=r.i32_const(t.alloc(u)),w=r.i32_const(t.alloc(u)),y=r.i32_const(t.alloc(u)),I=r.i32_const(t.alloc(u)),C=r.i32_const(t.alloc(u)),B=r.i32_const(t.alloc(u)),T=r.i32_const(t.alloc(u)),D=r.i32_const(t.alloc(u)),b=r.i32_const(t.alloc(u)),M=r.i32_const(t.alloc(u)),N=r.i32_const(t.alloc(u)),S=r.i32_const(t.alloc(u));e.addCode(r.call(n+"__cyclotomicExp_w0",i,s),r.call(R+"_conjugate",s,s),r.call(n+"__cyclotomicSquare",s,a),r.call(n+"__cyclotomicSquare",a,c),r.call(R+"_mul",c,a,h),r.call(n+"__cyclotomicExp_w0",h,d),r.call(R+"_conjugate",d,d),r.call(n+"__cyclotomicSquare",d,p),r.call(n+"__cyclotomicExp_w0",p,f),r.call(R+"_conjugate",f,f),r.call(R+"_conjugate",h,g),r.call(R+"_conjugate",f,E),r.call(R+"_mul",E,d,m),r.call(R+"_mul",m,g,w),r.call(R+"_mul",w,a,y),r.call(R+"_mul",w,d,I),r.call(R+"_mul",I,i,C),r.call(n+"__frobeniusMap1",y,B),r.call(R+"_mul",B,C,T),r.call(n+"__frobeniusMap2",w,D),r.call(R+"_mul",D,T,b),r.call(R+"_conjugate",i,M),r.call(R+"_mul",M,y,N),r.call(n+"__frobeniusMap3",N,S),r.call(R+"_mul",S,b,o))}const Y=t.alloc(P),z=t.alloc(G);function J(e){const r=t.addFunction(n+"_pairingEq"+e);for(let t=0;t<e;t++)r.addParam("p_"+t,"i32"),r.addParam("q_"+t,"i32");r.addParam("c","i32"),r.setReturnType("i32");const i=r.getCodeBuilder(),o=i.i32_const(t.alloc(u)),s=i.i32_const(t.alloc(u));r.addCode(i.call(R+"_one",o));for(let t=0;t<e;t++)r.addCode(i.call(n+"_prepareG1",i.getLocal("p_"+t),i.i32_const(Y))),r.addCode(i.call(n+"_prepareG2",i.getLocal("q_"+t),i.i32_const(z))),r.addCode(i.call(n+"_millerLoop",i.i32_const(Y),i.i32_const(z),s)),r.addCode(i.call(R+"_mul",o,s,o));r.addCode(i.call(n+"_finalExponentiation",o,o)),r.addCode(i.call(R+"_eq",o,i.getLocal("c")))}!function(){const e=t.addFunction(n+"_prepAddStep");e.addParam("pQ","i32"),e.addParam("pR","i32"),e.addParam("pCoef","i32");const r=e.getCodeBuilder(),i=r.getLocal("pQ"),o=r.i32_add(r.getLocal("pQ"),r.i32_const(l)),s=r.getLocal("pR"),a=r.i32_add(r.getLocal("pR"),r.i32_const(l)),c=r.i32_add(r.getLocal("pR"),r.i32_const(2*l)),u=r.getLocal("pCoef"),h=r.i32_add(r.getLocal("pCoef"),r.i32_const(l)),d=r.i32_add(r.getLocal("pCoef"),r.i32_const(2*l)),p=h,f=r.i32_const(t.alloc(l)),g=r.i32_const(t.alloc(l)),E=r.i32_const(t.alloc(l)),m=r.i32_const(t.alloc(l)),w=r.i32_const(t.alloc(l)),y=r.i32_const(t.alloc(l)),I=r.i32_const(t.alloc(l));e.addCode(r.call(A+"_mul",i,c,p),r.call(A+"_sub",s,p,p),r.call(A+"_mul",o,c,f),r.call(A+"_sub",a,f,f),r.call(A+"_square",p,g),r.call(A+"_square",f,E),r.call(A+"_mul",p,g,m),r.call(A+"_mul",s,g,w),r.call(A+"_add",w,w,I),r.call(A+"_mul",c,E,y),r.call(A+"_add",m,y,y),r.call(A+"_sub",y,I,y),r.call(A+"_mul",p,y,s),r.call(A+"_mul",m,a,a),r.call(A+"_sub",w,y,I),r.call(A+"_mul",f,I,I),r.call(A+"_sub",I,a,a),r.call(A+"_mul",c,m,c),r.call(A+"_mul",p,o,I),r.call(A+"_mul",f,i,u),r.call(A+"_sub",u,I,u),r.call(A+"_mul",u,r.i32_const(_),u),r.call(A+"_neg",f,d))}(),function(){const e=t.addFunction(n+"_prepDblStep");e.addParam("pR","i32"),e.addParam("pCoef","i32");const r=e.getCodeBuilder(),i=r.getLocal("pR"),o=r.i32_add(r.getLocal("pR"),r.i32_const(l)),s=r.i32_add(r.getLocal("pR"),r.i32_const(2*l)),a=r.getLocal("pCoef"),c=r.i32_add(r.getLocal("pCoef"),r.i32_const(l)),u=r.i32_add(r.getLocal("pCoef"),r.i32_const(2*l)),h=r.i32_const(t.alloc(l)),d=r.i32_const(t.alloc(l)),p=r.i32_const(t.alloc(l)),f=r.i32_const(t.alloc(l)),g=r.i32_const(t.alloc(l)),E=r.i32_const(t.alloc(l)),m=r.i32_const(t.alloc(l)),w=r.i32_const(t.alloc(l)),y=r.i32_const(t.alloc(l)),I=r.i32_const(t.alloc(l)),C=r.i32_const(t.alloc(l)),B=r.i32_const(t.alloc(l));e.addCode(r.call(A+"_mul",o,r.i32_const(S),h),r.call(A+"_mul",i,h,h),r.call(A+"_square",o,d),r.call(A+"_square",s,p),r.call(A+"_add",p,p,f),r.call(A+"_add",f,p,f),r.call(A+"_mul",r.i32_const(L),f,g),r.call(A+"_add",g,g,E),r.call(A+"_add",g,E,E),r.call(A+"_add",d,E,m),r.call(A+"_mul",m,r.i32_const(S),m),r.call(A+"_add",d,p,B),r.call(A+"_add",o,s,w),r.call(A+"_square",w,w),r.call(A+"_sub",w,B,w),r.call(A+"_sub",g,d,y),r.call(A+"_square",i,I),r.call(A+"_square",g,C),r.call(A+"_sub",d,E,B),r.call(A+"_mul",h,B,i),r.call(A+"_add",C,C,B),r.call(A+"_add",C,B,B),r.call(A+"_square",m,o),r.call(A+"_sub",o,B,o),r.call(A+"_mul",d,w,s),r.call(A+"_mul",r.i32_const(_),y,a),r.call(A+"_neg",w,c),r.call(A+"_add",I,I,u),r.call(A+"_add",I,u,u))}(),function(){const e=t.addFunction(n+"_prepareG1");e.addParam("pP","i32"),e.addParam("ppreP","i32");const r=e.getCodeBuilder();e.addCode(r.call(f+"_normalize",r.getLocal("pP"),r.getLocal("ppreP")))}(),function(){!function(){const e=t.addFunction(n+"_mulByQ");e.addParam("p1","i32"),e.addParam("pr","i32");const r=e.getCodeBuilder(),i=r.getLocal("p1"),o=r.i32_add(r.getLocal("p1"),r.i32_const(l)),s=r.i32_add(r.getLocal("p1"),r.i32_const(2*l)),a=r.getLocal("pr"),u=r.i32_add(r.getLocal("pr"),r.i32_const(l)),h=r.i32_add(r.getLocal("pr"),r.i32_const(2*l)),d=r.i32_const(t.alloc([...cI.bigInt2BytesLE(w("21575463638280843010398324269430826099269044274347216827212613867836435027261"),c),...cI.bigInt2BytesLE(w("10307601595873709700152284273816112264069230130616436755625194854815875713954"),c)])),p=r.i32_const(t.alloc([...cI.bigInt2BytesLE(w("2821565182194536844548159561693502659359617185244120367078079554186484126554"),c),...cI.bigInt2BytesLE(w("3505843767911556378687030309984248845540243509899259641013678093033130930403"),c)]));e.addCode(r.call(A+"_conjugate",i,a),r.call(A+"_mul",d,a,a),r.call(A+"_conjugate",o,u),r.call(A+"_mul",p,u,u),r.call(A+"_conjugate",s,h))}();const e=t.addFunction(n+"_prepareG2");e.addParam("pQ","i32"),e.addParam("ppreQ","i32"),e.addLocal("pCoef","i32"),e.addLocal("i","i32");const r=e.getCodeBuilder(),i=r.getLocal("pQ"),o=t.alloc(3*l),s=r.i32_const(o),a=r.i32_const(o),u=r.i32_const(o+l),h=r.i32_const(o+2*l),d=r.i32_add(r.getLocal("ppreQ"),r.i32_const(0)),p=r.i32_add(r.getLocal("ppreQ"),r.i32_const(l)),f=t.alloc(3*l),g=r.i32_const(f),m=t.alloc(3*l),y=r.i32_const(m),I=r.i32_const(m+l);e.addCode(r.call(E+"_normalize",i,d),r.call(A+"_copy",d,a),r.call(A+"_copy",p,u),r.call(A+"_one",h)),e.addCode(r.setLocal("pCoef",r.i32_add(r.getLocal("ppreQ"),r.i32_const(3*l))),r.setLocal("i",r.i32_const(F.length-2)),r.block(r.loop(r.call(n+"_prepDblStep",s,r.getLocal("pCoef")),r.setLocal("pCoef",r.i32_add(r.getLocal("pCoef"),r.i32_const(Q))),r.if(r.i32_load8_s(r.getLocal("i"),O),[...r.call(n+"_prepAddStep",d,s,r.getLocal("pCoef")),...r.setLocal("pCoef",r.i32_add(r.getLocal("pCoef"),r.i32_const(Q)))]),r.br_if(1,r.i32_eqz(r.getLocal("i"))),r.setLocal("i",r.i32_sub(r.getLocal("i"),r.i32_const(1))),r.br(0)))),e.addCode(r.call(n+"_mulByQ",d,g),r.call(n+"_mulByQ",g,y)),e.addCode(r.call(A+"_neg",I,I),r.call(n+"_prepAddStep",g,s,r.getLocal("pCoef")),r.setLocal("pCoef",r.i32_add(r.getLocal("pCoef"),r.i32_const(Q))),r.call(n+"_prepAddStep",y,s,r.getLocal("pCoef")),r.setLocal("pCoef",r.i32_add(r.getLocal("pCoef"),r.i32_const(Q))))}(),function(){const e=t.addFunction(n+"__mulBy024");e.addParam("pEll0","i32"),e.addParam("pEllVW","i32"),e.addParam("pEllVV","i32"),e.addParam("pR","i32");const r=e.getCodeBuilder(),i=r.getLocal("pEll0"),o=r.getLocal("pEllVV"),a=r.getLocal("pEllVW"),c=r.getLocal("pR"),u=r.i32_add(r.getLocal("pR"),r.i32_const(2*s)),h=r.i32_add(r.getLocal("pR"),r.i32_const(4*s)),d=r.i32_add(r.getLocal("pR"),r.i32_const(6*s)),p=r.i32_add(r.getLocal("pR"),r.i32_const(8*s)),f=r.i32_add(r.getLocal("pR"),r.i32_const(10*s)),g=r.i32_const(t.alloc(l)),E=r.i32_const(t.alloc(l)),m=r.i32_const(t.alloc(l)),w=r.i32_const(t.alloc(l)),y=r.i32_const(t.alloc(l)),I=r.i32_const(t.alloc(l)),C=r.i32_const(t.alloc(l)),B=r.i32_const(t.alloc(l)),T=r.i32_const(t.alloc(l)),D=r.i32_const(t.alloc(l)),b=r.i32_const(t.alloc(l));e.addCode(r.call(A+"_mul",c,i,C),r.call(A+"_mul",h,o,B),r.call(A+"_mul",p,a,T),r.call(A+"_add",c,p,m),r.call(A+"_add",c,h,E),r.call(A+"_add",u,d,w),r.call(A+"_add",w,f,w),r.call(A+"_mul",u,o,D),r.call(A+"_add",D,T,y),r.call(A+"_mul",r.i32_const(v),y,I),r.call(A+"_add",I,C,c),r.call(A+"_mul",f,a,y),r.call(A+"_add",D,y,D),r.call(A+"_add",y,B,y),r.call(A+"_mul",r.i32_const(v),y,I),r.call(A+"_mul",u,i,y),r.call(A+"_add",D,y,D),r.call(A+"_add",I,y,u),r.call(A+"_add",i,o,g),r.call(A+"_mul",E,g,y),r.call(A+"_add",C,B,b),r.call(A+"_sub",y,b,y),r.call(A+"_mul",d,a,I),r.call(A+"_add",D,I,D),r.call(A+"_add",h,p,g),r.call(A+"_add",y,I,h),r.call(A+"_add",o,a,E),r.call(A+"_mul",E,g,y),r.call(A+"_add",B,T,b),r.call(A+"_sub",y,b,y),r.call(A+"_mul",r.i32_const(v),y,I),r.call(A+"_mul",d,i,y),r.call(A+"_add",D,y,D),r.call(A+"_add",I,y,d),r.call(A+"_mul",f,o,y),r.call(A+"_add",D,y,D),r.call(A+"_mul",r.i32_const(v),y,I),r.call(A+"_add",i,a,g),r.call(A+"_mul",m,g,y),r.call(A+"_add",C,T,b),r.call(A+"_sub",y,b,y),r.call(A+"_add",I,y,p),r.call(A+"_add",i,o,g),r.call(A+"_add",g,a,g),r.call(A+"_mul",w,g,y),r.call(A+"_sub",y,D,f))}(),function(){const e=t.addFunction(n+"__mulBy024Old");e.addParam("pEll0","i32"),e.addParam("pEllVW","i32"),e.addParam("pEllVV","i32"),e.addParam("pR","i32");const r=e.getCodeBuilder(),i=r.getLocal("pEll0"),o=r.getLocal("pEllVV"),s=r.getLocal("pEllVW"),a=r.getLocal("pR"),c=t.alloc(u),h=r.i32_const(c),d=r.i32_const(c),p=r.i32_const(c+l),f=r.i32_const(c+2*l),g=r.i32_const(c+3*l),E=r.i32_const(c+4*l),m=r.i32_const(c+5*l);e.addCode(r.call(A+"_copy",i,d),r.call(A+"_zero",p),r.call(A+"_copy",o,f),r.call(A+"_zero",g),r.call(A+"_copy",s,E),r.call(A+"_zero",m),r.call(R+"_mul",h,a,a))}(),function(){const e=t.addFunction(n+"_millerLoop");e.addParam("ppreP","i32"),e.addParam("ppreQ","i32"),e.addParam("r","i32"),e.addLocal("pCoef","i32"),e.addLocal("i","i32");const r=e.getCodeBuilder(),i=r.getLocal("ppreP"),o=r.i32_add(r.getLocal("ppreP"),r.i32_const(c)),s=r.getLocal("pCoef"),a=r.i32_add(r.getLocal("pCoef"),r.i32_const(l)),u=r.i32_add(r.getLocal("pCoef"),r.i32_const(2*l)),h=t.alloc(l),d=r.i32_const(h),p=t.alloc(l),f=r.i32_const(p),g=r.getLocal("r");e.addCode(r.call(R+"_one",g),r.setLocal("pCoef",r.i32_add(r.getLocal("ppreQ"),r.i32_const(3*l))),r.setLocal("i",r.i32_const(F.length-2)),r.block(r.loop(r.call(R+"_square",g,g),r.call(A+"_mul1",a,o,d),r.call(A+"_mul1",u,i,f),r.call(n+"__mulBy024",s,d,f,g),r.setLocal("pCoef",r.i32_add(r.getLocal("pCoef"),r.i32_const(Q))),r.if(r.i32_load8_s(r.getLocal("i"),O),[...r.call(A+"_mul1",a,o,d),...r.call(A+"_mul1",u,i,f),...r.call(n+"__mulBy024",s,d,f,g),...r.setLocal("pCoef",r.i32_add(r.getLocal("pCoef"),r.i32_const(Q)))]),r.br_if(1,r.i32_eqz(r.getLocal("i"))),r.setLocal("i",r.i32_sub(r.getLocal("i"),r.i32_const(1))),r.br(0)))),e.addCode(r.call(A+"_mul1",a,o,d),r.call(A+"_mul1",u,i,f),r.call(n+"__mulBy024",s,d,f,g),r.setLocal("pCoef",r.i32_add(r.getLocal("pCoef"),r.i32_const(Q))),r.call(A+"_mul1",a,o,d),r.call(A+"_mul1",u,i,f),r.call(n+"__mulBy024",s,d,f,g),r.setLocal("pCoef",r.i32_add(r.getLocal("pCoef"),r.i32_const(Q))))}();for(let e=0;e<10;e++)V(e),t.exportFunction(n+"__frobeniusMap"+e);!function(){const e=t.addFunction(n+"_finalExponentiationOld");e.addParam("x","i32"),e.addParam("r","i32");const r=t.alloc(cI.bigInt2BytesLE(552484233613224096312617126783173147097382103762957654188882734314196910839907541213974502761540629817009608548654680343627701153829446747810907373256841551006201639677726139946029199968412598804882391702273019083653272047566316584365559776493027495458238373902875937659943504873220554161550525926302303331747463515644711876653177129578303191095900909191624817826566688241804408081892785725967931714097716709526092261278071952560171111444072049229123565057483750161460024353346284167282452756217662335528813519139808291170539072125381230815729071544861602750936964829313608137325426383735122175229541155376346436093930287402089517426973178917569713384748081827255472576937471496195752727188261435633271238710131736096299798168852925540549342330775279877006784354801422249722573783561685179618816480037695005515426162362431072245638324744480n,352)),i=e.getCodeBuilder();e.addCode(i.call(R+"_exp",i.getLocal("x"),i.i32_const(r),i.i32_const(352),i.getLocal("r")))}(),function(){!function(){const e=t.addFunction(n+"__finalExponentiationFirstChunk");e.addParam("x","i32"),e.addParam("r","i32");const r=e.getCodeBuilder(),i=r.getLocal("x"),o=i,a=r.i32_add(i,r.i32_const(6*s)),c=r.getLocal("r"),l=t.alloc(u),h=r.i32_const(l),d=h,p=r.i32_const(l+6*s),f=r.i32_const(t.alloc(u)),A=r.i32_const(t.alloc(u)),g=r.i32_const(t.alloc(u));e.addCode(r.call(x+"_copy",o,d),r.call(x+"_neg",a,p),r.call(R+"_inverse",i,f),r.call(R+"_mul",h,f,A),r.call(n+"__frobeniusMap2",A,g),r.call(R+"_mul",A,g,c))}(),j();const e=t.addFunction(n+"_finalExponentiation");e.addParam("x","i32"),e.addParam("r","i32");const r=e.getCodeBuilder(),i=r.getLocal("x"),o=r.getLocal("r"),a=r.i32_const(t.alloc(u));e.addCode(r.call(n+"__finalExponentiationFirstChunk",i,a),r.call(n+"__finalExponentiationLastChunk",a,o))}();for(let e=1;e<=5;e++)J(e),t.exportFunction(n+"_pairingEq"+e);!function(){const e=t.addFunction(n+"_pairing");e.addParam("p","i32"),e.addParam("q","i32"),e.addParam("r","i32");const r=e.getCodeBuilder(),i=r.i32_const(t.alloc(u));e.addCode(r.call(n+"_prepareG1",r.getLocal("p"),r.i32_const(Y))),e.addCode(r.call(n+"_prepareG2",r.getLocal("q"),r.i32_const(z))),e.addCode(r.call(n+"_millerLoop",r.i32_const(Y),r.i32_const(z),i)),e.addCode(r.call(n+"_finalExponentiation",i,r.getLocal("r")))}(),t.exportFunction(n+"_pairing"),t.exportFunction(n+"_prepareG1"),t.exportFunction(n+"_prepareG2"),t.exportFunction(n+"_millerLoop"),t.exportFunction(n+"_finalExponentiation"),t.exportFunction(n+"_finalExponentiationOld"),t.exportFunction(n+"__mulBy024"),t.exportFunction(n+"__mulBy024Old"),t.exportFunction(n+"__cyclotomicSquare"),t.exportFunction(n+"__cyclotomicExp_w0")},OI=function(t,e){const n=e||"bls12381";if(t.modules[n])return n;const r=0x1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaabn,i=0x73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001n,o=Math.floor((LI(r-1n)-1)/64)+1,s=8*o,a=s,c=2*a,l=12*a,u=Math.floor((LI(i-1n)-1)/64)+1,h=8*u,d=h,p=t.alloc(CI.bigInt2BytesLE(i,d)),f=BI(t,r,"f1m","intq");TI(t,i,"fr","frm","intr");const A=t.alloc(CI.bigInt2BytesLE(I(4n),a)),g=MI(t,"g1m","f1m",A);NI(t,"frm","frm","frm","frm_mul"),vI(t,"pol","frm"),SI(t,"qap","frm");const E=DI(t,"f1m_neg","f2m","f1m"),m=t.alloc([...CI.bigInt2BytesLE(I(4n),a),...CI.bigInt2BytesLE(I(4n),a)]),w=MI(t,"g2m","f2m",m);function y(e,n){const r=t.addFunction(e);r.addParam("pG","i32"),r.addParam("pFr","i32"),r.addParam("pr","i32");const i=r.getCodeBuilder(),o=i.i32_const(t.alloc(h));r.addCode(i.call("frm_fromMontgomery",i.getLocal("pFr"),o),i.call(n,i.getLocal("pG"),o,i.i32_const(h),i.getLocal("pr"))),t.exportFunction(e)}function I(t){return BigInt(t)*(1n<<BigInt(8*a))%r}y("g1m_timesFr","g1m_timesScalar"),NI(t,"g1m","g1m","frm","g1m_timesFr"),y("g2m_timesFr","g2m_timesScalar"),NI(t,"g2m","g2m","frm","g2m_timesFr"),y("g1m_timesFrAffine","g1m_timesScalarAffine"),y("g2m_timesFrAffine","g2m_timesScalarAffine"),_I(t,"frm_batchApplyKey","fmr","frm",h,h,h,"frm_mul"),_I(t,"g1m_batchApplyKey","g1m","frm",3*s,3*s,h,"g1m_timesFr"),_I(t,"g1m_batchApplyKeyMixed","g1m","frm",2*s,3*s,h,"g1m_timesFrAffine"),_I(t,"g2m_batchApplyKey","g2m","frm",2*s*3,3*s*2,h,"g2m_timesFr"),_I(t,"g2m_batchApplyKeyMixed","g2m","frm",2*s*2,3*s*2,h,"g2m_timesFrAffine");const C=[3685416753713387016781088315183077757961620795782546409894578378688607592378376318836054947676345821548104185464507n,1339506544944476473020471379941921221584933875938349620426543736416511423956333506472724655353366534992391756441569n,1n],B=t.alloc([...CI.bigInt2BytesLE(I(C[0]),a),...CI.bigInt2BytesLE(I(C[1]),a),...CI.bigInt2BytesLE(I(C[2]),a)]),T=[0n,1n,0n],D=t.alloc([...CI.bigInt2BytesLE(I(T[0]),a),...CI.bigInt2BytesLE(I(T[1]),a),...CI.bigInt2BytesLE(I(T[2]),a)]),b=[[352701069587466618187139116011060144890029952792775240219908644239793785735715026873347600343865175952761926303160n,3059144344244213709971259814753781636986470325476647558659373206291635324768958432433509563104347017837885763365758n],[1985150602287291935568054521177171638300868978215655730859378665066344726373823718423869104263333984641494340347905n,927553665492332455747201965776037880757740193453592970025027978793976877002675564980949289727957565575433344219582n],[1n,0n]],M=t.alloc([...CI.bigInt2BytesLE(I(b[0][0]),a),...CI.bigInt2BytesLE(I(b[0][1]),a),...CI.bigInt2BytesLE(I(b[1][0]),a),...CI.bigInt2BytesLE(I(b[1][1]),a),...CI.bigInt2BytesLE(I(b[2][0]),a),...CI.bigInt2BytesLE(I(b[2][1]),a)]),N=[[0n,0n],[1n,0n],[0n,0n]],v=t.alloc([...CI.bigInt2BytesLE(I(N[0][0]),a),...CI.bigInt2BytesLE(I(N[0][1]),a),...CI.bigInt2BytesLE(I(N[1][0]),a),...CI.bigInt2BytesLE(I(N[1][1]),a),...CI.bigInt2BytesLE(I(N[2][0]),a),...CI.bigInt2BytesLE(I(N[2][1]),a)]),S=t.alloc([...CI.bigInt2BytesLE(I(1n),a),...CI.bigInt2BytesLE(I(0n),a),...CI.bigInt2BytesLE(I(0n),a),...CI.bigInt2BytesLE(I(0n),a),...CI.bigInt2BytesLE(I(0n),a),...CI.bigInt2BytesLE(I(0n),a),...CI.bigInt2BytesLE(I(0n),a),...CI.bigInt2BytesLE(I(0n),a),...CI.bigInt2BytesLE(I(0n),a),...CI.bigInt2BytesLE(I(0n),a),...CI.bigInt2BytesLE(I(0n),a),...CI.bigInt2BytesLE(I(0n),a)]),_=t.alloc([...CI.bigInt2BytesLE(I(1n),a),...CI.bigInt2BytesLE(I(1n),a)]);!function(){const e=t.addFunction(E+"_mulNR");e.addParam("x","i32"),e.addParam("pr","i32");const n=e.getCodeBuilder(),r=n.i32_const(t.alloc(a)),i=n.getLocal("x"),o=n.i32_add(n.getLocal("x"),n.i32_const(a)),s=n.getLocal("pr"),c=n.i32_add(n.getLocal("pr"),n.i32_const(a));e.addCode(n.call(f+"_copy",i,r),n.call(f+"_sub",i,o,s),n.call(f+"_add",r,o,c))}();const L=bI(t,E+"_mulNR","f6m","f2m");!function(){const e=t.addFunction(L+"_mulNR");e.addParam("x","i32"),e.addParam("pr","i32");const n=e.getCodeBuilder(),r=n.i32_const(t.alloc(2*a));e.addCode(n.call(E+"_copy",n.getLocal("x"),r),n.call(E+"_mulNR",n.i32_add(n.getLocal("x"),n.i32_const(4*s)),n.getLocal("pr")),n.call(E+"_copy",n.i32_add(n.getLocal("x"),n.i32_const(2*s)),n.i32_add(n.getLocal("pr"),n.i32_const(4*s))),n.call(E+"_copy",r,n.i32_add(n.getLocal("pr"),n.i32_const(2*s))))}();const x=DI(t,L+"_mulNR","ftm",L),R=function(t){let e=t;const n=[];for(;e>0n;)xI(e)?n.push(1):n.push(0),e>>=1n;return n}(0xd201000000010000n),F=t.alloc(R),O=3*c,Q=R.length-1,k=R.reduce((t,e)=>t+(0!=e?1:0),0),U=6*s,P=3*s*2+(k+Q+1)*O,G=15132376222941642752n;function V(e){const n=[[[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n]],[[1n,0n],[3850754370037169011952147076051364057158807420970682438676050522613628423219637725072182697113062777891589506424760n,151655185184498381465642749684540099398075398968325446656007613510403227271200139370504932015952886146304766135027n],[793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620351n,0n],[2973677408986561043442465346520108879172042883009249989176415018091420807192182638567116318576472649347015917690530n,1028732146235106349975324479215795277384839936929757896155643118032610843298655225875571310552543014690878354869257n],[793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350n,0n],[3125332594171059424908108096204648978570118281977575435832422631601824034463382777937621250592425535493320683825557n,877076961050607968509681729531255177986764537961432449499635504522207616027455086505066378536590128544573588734230n],[4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559786n,0n],[151655185184498381465642749684540099398075398968325446656007613510403227271200139370504932015952886146304766135027n,3850754370037169011952147076051364057158807420970682438676050522613628423219637725072182697113062777891589506424760n],[4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n,0n],[1028732146235106349975324479215795277384839936929757896155643118032610843298655225875571310552543014690878354869257n,2973677408986561043442465346520108879172042883009249989176415018091420807192182638567116318576472649347015917690530n],[4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939437n,0n],[877076961050607968509681729531255177986764537961432449499635504522207616027455086505066378536590128544573588734230n,3125332594171059424908108096204648978570118281977575435832422631601824034463382777937621250592425535493320683825557n]]],i=[[[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n],[1n,0n]],[[1n,0n],[0n,4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n],[793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350n,0n],[0n,1n],[4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n,0n],[0n,793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350n]],[[1n,0n],[4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939437n,0n],[4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n,0n],[4002409555221667393417789825735904156556882819939007885332058136124031650490837864442687629129015664037894272559786n,0n],[793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350n,0n],[793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620351n,0n]]],o=t.addFunction(x+"_frobeniusMap"+e);o.addParam("x","i32"),o.addParam("r","i32");const l=o.getCodeBuilder();for(let r=0;r<6;r++){const h=0==r?l.getLocal("x"):l.i32_add(l.getLocal("x"),l.i32_const(r*c)),d=h,p=l.i32_add(l.getLocal("x"),l.i32_const(r*c+a)),A=0==r?l.getLocal("r"):l.i32_add(l.getLocal("r"),l.i32_const(r*c)),g=A,m=l.i32_add(l.getLocal("r"),l.i32_const(r*c+a)),w=u(n[Math.floor(r/3)][e%12],i[r%3][e%6]),y=t.alloc([...CI.bigInt2BytesLE(I(w[0]),s),...CI.bigInt2BytesLE(I(w[1]),s)]);e%2==1?o.addCode(l.call(f+"_copy",d,g),l.call(f+"_neg",p,m),l.call(E+"_mul",A,l.i32_const(y),A)):o.addCode(l.call(E+"_mul",h,l.i32_const(y),A))}function u(t,e){const n=t[0],i=t[1],o=e[0],s=e[1],a=[(n*o-i*s)%r,(n*s+i*o)%r];return RI(a[0])&&(a[0]=a[0]+r),a}}function H(e,r,i){const o=function(t){let e=t;const n=[];for(;e>0n;){if(xI(e)){const t=2-Number(e%4n);n.push(t),e-=BigInt(t)}else n.push(0);e>>=1n}return n}(e).map(t=>-1==t?255:t),s=t.alloc(o),a=t.addFunction(n+"__cyclotomicExp_"+i);a.addParam("x","i32"),a.addParam("r","i32"),a.addLocal("bit","i32"),a.addLocal("i","i32");const c=a.getCodeBuilder(),u=c.getLocal("x"),h=c.getLocal("r"),d=c.i32_const(t.alloc(l));a.addCode(c.call(x+"_conjugate",u,d),c.call(x+"_one",h),c.if(c.teeLocal("bit",c.i32_load8_s(c.i32_const(o.length-1),s)),c.if(c.i32_eq(c.getLocal("bit"),c.i32_const(1)),c.call(x+"_mul",h,u,h),c.call(x+"_mul",h,d,h))),c.setLocal("i",c.i32_const(o.length-2)),c.block(c.loop(c.call(n+"__cyclotomicSquare",h,h),c.if(c.teeLocal("bit",c.i32_load8_s(c.getLocal("i"),s)),c.if(c.i32_eq(c.getLocal("bit"),c.i32_const(1)),c.call(x+"_mul",h,u,h),c.call(x+"_mul",h,d,h))),c.br_if(1,c.i32_eqz(c.getLocal("i"))),c.setLocal("i",c.i32_sub(c.getLocal("i"),c.i32_const(1))),c.br(0)))),r&&a.addCode(c.call(x+"_conjugate",h,h))}t.modules[n]={n64q:o,n64r:u,n8q:s,n8r:h,pG1gen:B,pG1zero:D,pG1b:A,pG2gen:M,pG2zero:v,pG2b:m,pq:t.modules.f1m.pq,pr:p,pOneT:S,r:i,q:r,prePSize:U,preQSize:P},function(){const e=t.addFunction(L+"_mul1");e.addParam("pA","i32"),e.addParam("pC1","i32"),e.addParam("pR","i32");const n=e.getCodeBuilder(),r=n.getLocal("pA"),i=n.i32_add(n.getLocal("pA"),n.i32_const(2*a)),o=n.i32_add(n.getLocal("pA"),n.i32_const(4*a)),s=n.getLocal("pC1"),c=n.getLocal("pR"),l=n.i32_add(n.getLocal("pR"),n.i32_const(2*a)),u=n.i32_add(n.getLocal("pR"),n.i32_const(4*a)),h=n.i32_const(t.alloc(2*a)),d=n.i32_const(t.alloc(2*a));e.addCode(n.call(E+"_add",r,i,h),n.call(E+"_add",i,o,d),n.call(E+"_mul",i,s,u),n.call(E+"_mul",d,s,c),n.call(E+"_sub",c,u,c),n.call(E+"_mulNR",c,c),n.call(E+"_mul",h,s,l),n.call(E+"_sub",l,u,l))}(),function(){const e=t.addFunction(L+"_mul01");e.addParam("pA","i32"),e.addParam("pC0","i32"),e.addParam("pC1","i32"),e.addParam("pR","i32");const n=e.getCodeBuilder(),r=n.getLocal("pA"),i=n.i32_add(n.getLocal("pA"),n.i32_const(2*a)),o=n.i32_add(n.getLocal("pA"),n.i32_const(4*a)),s=n.getLocal("pC0"),c=n.getLocal("pC1"),l=n.getLocal("pR"),u=n.i32_add(n.getLocal("pR"),n.i32_const(2*a)),h=n.i32_add(n.getLocal("pR"),n.i32_const(4*a)),d=n.i32_const(t.alloc(2*a)),p=n.i32_const(t.alloc(2*a)),f=n.i32_const(t.alloc(2*a)),A=n.i32_const(t.alloc(2*a));e.addCode(n.call(E+"_mul",r,s,d),n.call(E+"_mul",i,c,p),n.call(E+"_add",r,i,f),n.call(E+"_add",r,o,A),n.call(E+"_add",i,o,l),n.call(E+"_mul",l,c,l),n.call(E+"_sub",l,p,l),n.call(E+"_mulNR",l,l),n.call(E+"_add",l,d,l),n.call(E+"_add",s,c,u),n.call(E+"_mul",u,f,u),n.call(E+"_sub",u,d,u),n.call(E+"_sub",u,p,u),n.call(E+"_mul",A,s,h),n.call(E+"_sub",h,d,h),n.call(E+"_add",h,p,h))}(),function(){const e=t.addFunction(x+"_mul014");e.addParam("pA","i32"),e.addParam("pC0","i32"),e.addParam("pC1","i32"),e.addParam("pC4","i32"),e.addParam("pR","i32");const n=e.getCodeBuilder(),r=n.getLocal("pA"),i=n.i32_add(n.getLocal("pA"),n.i32_const(6*a)),o=n.getLocal("pC0"),s=n.getLocal("pC1"),c=n.getLocal("pC4"),l=n.i32_const(t.alloc(6*a)),u=n.i32_const(t.alloc(6*a)),h=n.i32_const(t.alloc(2*a)),d=n.getLocal("pR"),p=n.i32_add(n.getLocal("pR"),n.i32_const(6*a));e.addCode(n.call(L+"_mul01",r,o,s,l),n.call(L+"_mul1",i,c,u),n.call(E+"_add",s,c,h),n.call(L+"_add",i,r,p),n.call(L+"_mul01",p,o,h,p),n.call(L+"_sub",p,l,p),n.call(L+"_sub",p,u,p),n.call(L+"_copy",u,d),n.call(L+"_mulNR",d,d),n.call(L+"_add",d,l,d))}(),function(){const e=t.addFunction(n+"_ell");e.addParam("pP","i32"),e.addParam("pCoefs","i32"),e.addParam("pF","i32");const r=e.getCodeBuilder(),i=r.getLocal("pP"),o=r.i32_add(r.getLocal("pP"),r.i32_const(s)),c=r.getLocal("pF"),l=r.getLocal("pCoefs"),u=r.i32_add(r.getLocal("pCoefs"),r.i32_const(a)),h=r.i32_add(r.getLocal("pCoefs"),r.i32_const(2*a)),d=r.i32_add(r.getLocal("pCoefs"),r.i32_const(3*a)),p=r.i32_add(r.getLocal("pCoefs"),r.i32_const(4*a)),A=t.alloc(2*a),g=r.i32_const(A),E=r.i32_const(A),m=r.i32_const(A+a),w=t.alloc(2*a),y=r.i32_const(w),I=r.i32_const(w),C=r.i32_const(w+a);e.addCode(r.call(f+"_mul",l,o,E),r.call(f+"_mul",u,o,m),r.call(f+"_mul",h,i,I),r.call(f+"_mul",d,i,C),r.call(x+"_mul014",c,p,y,g,c))}();const j=t.alloc(U),Y=t.alloc(P);function z(e){const r=t.addFunction(n+"_pairingEq"+e);for(let t=0;t<e;t++)r.addParam("p_"+t,"i32"),r.addParam("q_"+t,"i32");r.addParam("c","i32"),r.setReturnType("i32");const i=r.getCodeBuilder(),o=i.i32_const(t.alloc(l)),s=i.i32_const(t.alloc(l));r.addCode(i.call(x+"_one",o));for(let t=0;t<e;t++)r.addCode(i.call(n+"_prepareG1",i.getLocal("p_"+t),i.i32_const(j))),r.addCode(i.call(n+"_prepareG2",i.getLocal("q_"+t),i.i32_const(Y))),r.addCode(i.if(i.i32_eqz(i.call(g+"_inGroupAffine",i.i32_const(j))),i.ret(i.i32_const(0))),i.if(i.i32_eqz(i.call(w+"_inGroupAffine",i.i32_const(Y))),i.ret(i.i32_const(0)))),r.addCode(i.call(n+"_millerLoop",i.i32_const(j),i.i32_const(Y),s)),r.addCode(i.call(x+"_mul",o,s,o));r.addCode(i.call(n+"_finalExponentiation",o,o)),r.addCode(i.call(x+"_eq",o,i.getLocal("c")))}for(let e=0;e<10;e++)V(e),t.exportFunction(x+"_frobeniusMap"+e);!function(){const e=t.addFunction(g+"_inGroupAffine");e.addParam("p","i32"),e.setReturnType("i32");const n=e.getCodeBuilder(),r=(G*G-1n)/3n,i=n.i32_const(t.alloc(CI.bigInt2BytesLE(I(4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n),s))),o=n.i32_const(t.alloc(CI.bigInt2BytesLE(I(793479390729215512621379701633421447060886740281060493010456487427281649075476305620758731620350n),s))),c=n.i32_const(t.alloc(CI.bigInt2BytesLE(r,16))),l=n.getLocal("p"),u=n.i32_add(n.getLocal("p"),n.i32_const(a)),h=t.alloc(3*a),d=n.i32_const(h),p=n.i32_const(h),A=n.i32_const(h+a),E=t.alloc(2*a),m=n.i32_const(E),w=n.i32_const(E),y=n.i32_const(E+a);e.addCode(n.if(n.call(g+"_isZeroAffine",n.getLocal("p")),n.ret(n.i32_const(1))),n.if(n.i32_eqz(n.call(g+"_inCurveAffine",n.getLocal("p"))),n.ret(n.i32_const(0))),n.call(f+"_mul",l,i,p),n.call(f+"_copy",u,A),n.call(f+"_mul",l,o,w),n.call(f+"_copy",u,y),n.call(g+"_doubleAffine",d,d),n.call(g+"_subMixed",d,n.getLocal("p"),d),n.call(g+"_subMixed",d,m,d),n.call(g+"_timesScalar",d,c,n.i32_const(16),d),n.ret(n.call(g+"_eqMixed",d,m)));const C=t.addFunction(g+"_inGroup");C.addParam("pIn","i32"),C.setReturnType("i32");const B=C.getCodeBuilder(),T=B.i32_const(t.alloc(2*a));C.addCode(B.call(g+"_toAffine",B.getLocal("pIn"),T),B.ret(B.call(g+"_inGroupAffine",T)))}(),function(){const e=t.addFunction(w+"_inGroupAffine");e.addParam("p","i32"),e.setReturnType("i32");const n=e.getCodeBuilder(),r=[2001204777610833696708894912867952078278441409969503942666029068062015825245418932221343814564507832018947136279894n,2001204777610833696708894912867952078278441409969503942666029068062015825245418932221343814564507832018947136279893n],i=[2973677408986561043442465346520108879172042883009249989176415018091420807192182638567116318576472649347015917690530n,2973677408986561043442465346520108879172042883009249989176415018091420807192182638567116318576472649347015917690530n],o=n.i32_const(t.alloc([...CI.bigInt2BytesLE(I(r[0]),s),...CI.bigInt2BytesLE(I(r[1]),s)])),l=n.i32_const(t.alloc(CI.bigInt2BytesLE(I(4002409555221667392624310435006688643935503118305586438271171395842971157480381377015405980053539358417135540939436n),s))),u=n.i32_const(t.alloc([...CI.bigInt2BytesLE(I(i[0]),s),...CI.bigInt2BytesLE(I(i[1]),s)])),h=n.i32_const(t.alloc(CI.bigInt2BytesLE(G,8))),d=n.getLocal("p"),p=n.i32_add(n.getLocal("p"),n.i32_const(c)),A=n.i32_const(t.alloc(a)),g=n.i32_const(t.alloc(c)),m=n.i32_const(t.alloc(c)),y=t.alloc(2*c),C=n.i32_const(y),B=n.i32_const(y),T=n.i32_const(y),D=n.i32_const(y+a),b=n.i32_const(y+c),M=n.i32_const(y+c),N=n.i32_const(y+c+a),v=t.alloc(3*c),S=n.i32_const(v),_=n.i32_const(v),L=n.i32_const(v),x=n.i32_const(v+a),R=n.i32_const(v+c),F=n.i32_const(v+c),O=n.i32_const(v+c+a),Q=n.i32_const(v+2*c);e.addCode(n.if(n.call(w+"_isZeroAffine",n.getLocal("p")),n.ret(n.i32_const(1))),n.if(n.i32_eqz(n.call(w+"_inCurveAffine",n.getLocal("p"))),n.ret(n.i32_const(0))),n.call(E+"_mul",d,o,g),n.call(E+"_mul",p,o,m),n.call(E+"_mul1",g,l,B),n.call(E+"_neg",m,b),n.call(E+"_neg",g,_),n.call(E+"_mul",m,u,R),n.call(f+"_sub",T,D,A),n.call(f+"_add",T,D,D),n.call(f+"_copy",A,T),n.call(f+"_sub",M,N,A),n.call(f+"_add",M,N,N),n.call(f+"_copy",A,M),n.call(f+"_add",L,x,A),n.call(f+"_sub",L,x,x),n.call(f+"_copy",A,L),n.call(f+"_sub",O,F,A),n.call(f+"_add",F,O,O),n.call(f+"_copy",A,F),n.call(E+"_one",Q),n.call(w+"_timesScalar",S,h,n.i32_const(8),S),n.call(w+"_addMixed",S,C,S),n.ret(n.call(w+"_eqMixed",S,n.getLocal("p"))));const k=t.addFunction(w+"_inGroup");k.addParam("pIn","i32"),k.setReturnType("i32");const U=k.getCodeBuilder(),P=U.i32_const(t.alloc(2*c));k.addCode(U.call(w+"_toAffine",U.getLocal("pIn"),P),U.ret(U.call(w+"_inGroupAffine",P)))}(),function(){const e=t.addFunction(n+"_prepAddStep");e.addParam("R","i32"),e.addParam("Q","i32"),e.addParam("r","i32");const r=e.getCodeBuilder(),i=r.getLocal("R"),o=r.i32_add(r.getLocal("R"),r.i32_const(2*s)),a=r.i32_add(r.getLocal("R"),r.i32_const(4*s)),l=r.getLocal("Q"),u=r.i32_add(r.getLocal("Q"),r.i32_const(2*s)),h=r.getLocal("r"),d=r.i32_add(r.getLocal("r"),r.i32_const(2*s)),p=r.i32_add(r.getLocal("r"),r.i32_const(4*s)),f=r.i32_const(t.alloc(c)),A=r.i32_const(t.alloc(c)),g=r.i32_const(t.alloc(c)),m=r.i32_const(t.alloc(c)),w=r.i32_const(t.alloc(c)),y=r.i32_const(t.alloc(c)),I=r.i32_const(t.alloc(c)),C=r.i32_const(t.alloc(c)),B=r.i32_const(t.alloc(c)),T=r.i32_const(t.alloc(c)),D=r.i32_const(t.alloc(c));e.addCode(r.call(E+"_square",a,f),r.call(E+"_square",u,A),r.call(E+"_mul",f,l,m),r.call(E+"_add",u,a,d),r.call(E+"_square",d,d),r.call(E+"_sub",d,A,d),r.call(E+"_sub",d,f,d),r.call(E+"_mul",d,f,d),r.call(E+"_sub",m,i,w),r.call(E+"_square",w,y),r.call(E+"_add",y,y,I),r.call(E+"_add",I,I,I),r.call(E+"_mul",I,w,C),r.call(E+"_sub",d,o,B),r.call(E+"_sub",B,o,B),r.call(E+"_mul",B,l,p),r.call(E+"_mul",I,i,T),r.call(E+"_square",B,i),r.call(E+"_sub",i,C,i),r.call(E+"_sub",i,T,i),r.call(E+"_sub",i,T,i),r.call(E+"_add",a,w,a),r.call(E+"_square",a,a),r.call(E+"_sub",a,f,a),r.call(E+"_sub",a,y,a),r.call(E+"_add",u,a,h),r.call(E+"_sub",T,i,D),r.call(E+"_mul",D,B,D),r.call(E+"_mul",o,C,m),r.call(E+"_add",m,m,m),r.call(E+"_sub",D,m,o),r.call(E+"_square",h,h),r.call(E+"_sub",h,A,h),r.call(E+"_square",a,g),r.call(E+"_sub",h,g,h),r.call(E+"_add",p,p,p),r.call(E+"_sub",p,h,p),r.call(E+"_add",a,a,h),r.call(E+"_neg",B,B),r.call(E+"_add",B,B,d))}(),function(){const e=t.addFunction(n+"_prepDblStep");e.addParam("R","i32"),e.addParam("r","i32");const r=e.getCodeBuilder(),i=r.getLocal("R"),o=r.i32_add(r.getLocal("R"),r.i32_const(2*s)),a=r.i32_add(r.getLocal("R"),r.i32_const(4*s)),l=r.getLocal("r"),u=r.i32_add(r.getLocal("r"),r.i32_const(2*s)),h=r.i32_add(r.getLocal("r"),r.i32_const(4*s)),d=r.i32_const(t.alloc(c)),p=r.i32_const(t.alloc(c)),f=r.i32_const(t.alloc(c)),A=r.i32_const(t.alloc(c)),g=r.i32_const(t.alloc(c));e.addCode(r.call(E+"_square",i,l),r.call(E+"_square",o,p),r.call(E+"_square",p,f),r.call(E+"_add",p,i,u),r.call(E+"_square",u,u),r.call(E+"_sub",u,l,u),r.call(E+"_sub",u,f,u),r.call(E+"_add",u,u,u),r.call(E+"_add",l,l,A),r.call(E+"_add",A,l,A),r.call(E+"_add",i,A,h),r.call(E+"_square",A,g),r.call(E+"_square",a,d),r.call(E+"_sub",g,u,i),r.call(E+"_sub",i,u,i),r.call(E+"_add",a,o,a),r.call(E+"_square",a,a),r.call(E+"_sub",a,p,a),r.call(E+"_sub",a,d,a),r.call(E+"_sub",u,i,o),r.call(E+"_mul",o,A,o),r.call(E+"_add",f,f,f),r.call(E+"_add",f,f,f),r.call(E+"_add",f,f,f),r.call(E+"_sub",o,f,o),r.call(E+"_mul",A,d,u),r.call(E+"_add",u,u,u),r.call(E+"_neg",u,u),r.call(E+"_square",h,h),r.call(E+"_sub",h,l,h),r.call(E+"_sub",h,g,h),r.call(E+"_add",p,p,p),r.call(E+"_add",p,p,p),r.call(E+"_sub",h,p,h),r.call(E+"_mul",a,d,l),r.call(E+"_add",l,l,l))}(),function(){const e=t.addFunction(n+"_prepareG1");e.addParam("pP","i32"),e.addParam("ppreP","i32");const r=e.getCodeBuilder();e.addCode(r.call(g+"_normalize",r.getLocal("pP"),r.getLocal("ppreP")))}(),function(){const e=t.addFunction(n+"_prepareG2");e.addParam("pQ","i32"),e.addParam("ppreQ","i32"),e.addLocal("pCoef","i32"),e.addLocal("i","i32");const r=e.getCodeBuilder(),i=r.getLocal("pQ"),o=t.alloc(3*c),s=r.i32_const(o),a=r.getLocal("ppreQ");e.addCode(r.call(w+"_normalize",i,a),r.if(r.call(w+"_isZero",a),r.ret([])),r.call(w+"_copy",a,s),r.setLocal("pCoef",r.i32_add(r.getLocal("ppreQ"),r.i32_const(3*c)))),e.addCode(r.setLocal("i",r.i32_const(R.length-2)),r.block(r.loop(r.call(n+"_prepDblStep",s,r.getLocal("pCoef")),r.setLocal("pCoef",r.i32_add(r.getLocal("pCoef"),r.i32_const(O))),r.if(r.i32_load8_s(r.getLocal("i"),F),[...r.call(n+"_prepAddStep",s,a,r.getLocal("pCoef")),...r.setLocal("pCoef",r.i32_add(r.getLocal("pCoef"),r.i32_const(O)))]),r.br_if(1,r.i32_eqz(r.getLocal("i"))),r.setLocal("i",r.i32_sub(r.getLocal("i"),r.i32_const(1))),r.br(0))))}(),function(){const e=t.addFunction(n+"_millerLoop");e.addParam("ppreP","i32"),e.addParam("ppreQ","i32"),e.addParam("r","i32"),e.addLocal("pCoef","i32"),e.addLocal("i","i32");const r=e.getCodeBuilder(),i=r.getLocal("ppreP"),o=r.getLocal("pCoef"),s=r.getLocal("r");e.addCode(r.call(x+"_one",s),r.if(r.call(g+"_isZero",i),r.ret([])),r.if(r.call(g+"_isZero",r.getLocal("ppreQ")),r.ret([])),r.setLocal("pCoef",r.i32_add(r.getLocal("ppreQ"),r.i32_const(3*c))),r.setLocal("i",r.i32_const(R.length-2)),r.block(r.loop(r.call(n+"_ell",i,o,s),r.setLocal("pCoef",r.i32_add(r.getLocal("pCoef"),r.i32_const(O))),r.if(r.i32_load8_s(r.getLocal("i"),F),[...r.call(n+"_ell",i,o,s),...r.setLocal("pCoef",r.i32_add(r.getLocal("pCoef"),r.i32_const(O)))]),r.call(x+"_square",s,s),r.br_if(1,r.i32_eq(r.getLocal("i"),r.i32_const(1))),r.setLocal("i",r.i32_sub(r.getLocal("i"),r.i32_const(1))),r.br(0))),r.call(n+"_ell",i,o,s)),e.addCode(r.call(x+"_conjugate",s,s))}(),function(){const e=t.addFunction(n+"_finalExponentiationOld");e.addParam("x","i32"),e.addParam("r","i32");const r=t.alloc(CI.bigInt2BytesLE(322277361516934140462891564586510139908379969514828494218366688025288661041104682794998680497580008899973249814104447692778988208376779573819485263026159588510513834876303014016798809919343532899164848730280942609956670917565618115867287399623286813270357901731510188149934363360381614501334086825442271920079363289954510565375378443704372994881406797882676971082200626541916413184642520269678897559532260949334760604962086348898118982248842634379637598665468817769075878555493752214492790122785850202957575200176084204422751485957336465472324810982833638490904279282696134323072515220044451592646885410572234451732790590013479358343841220074174848221722017083597872017638514103174122784843925578370430843522959600095676285723737049438346544753168912974976791528535276317256904336520179281145394686565050419250614107803233314658825463117900250701199181529205942363159325765991819433914303908860460720581408201373164047773794825411011922305820065611121544561808414055302212057471395719432072209245600258134364584636810093520285711072578721435517884103526483832733289802426157301542744476740008494780363354305116978805620671467071400711358839553375340724899735460480144599782014906586543813292157922220645089192130209334926661588737007768565838519456601560804957985667880395221049249803753582637708560n,544)),i=e.getCodeBuilder();e.addCode(i.call(x+"_exp",i.getLocal("x"),i.i32_const(r),i.i32_const(544),i.getLocal("r")))}(),function(){!function(){const e=t.addFunction(n+"__cyclotomicSquare");e.addParam("x","i32"),e.addParam("r","i32");const r=e.getCodeBuilder(),i=r.getLocal("x"),o=r.i32_add(r.getLocal("x"),r.i32_const(c)),s=r.i32_add(r.getLocal("x"),r.i32_const(2*c)),a=r.i32_add(r.getLocal("x"),r.i32_const(3*c)),l=r.i32_add(r.getLocal("x"),r.i32_const(4*c)),u=r.i32_add(r.getLocal("x"),r.i32_const(5*c)),h=r.getLocal("r"),d=r.i32_add(r.getLocal("r"),r.i32_const(c)),p=r.i32_add(r.getLocal("r"),r.i32_const(2*c)),f=r.i32_add(r.getLocal("r"),r.i32_const(3*c)),A=r.i32_add(r.getLocal("r"),r.i32_const(4*c)),g=r.i32_add(r.getLocal("r"),r.i32_const(5*c)),m=r.i32_const(t.alloc(c)),w=r.i32_const(t.alloc(c)),y=r.i32_const(t.alloc(c)),I=r.i32_const(t.alloc(c)),C=r.i32_const(t.alloc(c)),B=r.i32_const(t.alloc(c)),T=r.i32_const(t.alloc(c)),D=r.i32_const(t.alloc(c));e.addCode(r.call(E+"_mul",i,l,T),r.call(E+"_mulNR",l,m),r.call(E+"_add",i,m,m),r.call(E+"_add",i,l,D),r.call(E+"_mul",D,m,m),r.call(E+"_mulNR",T,D),r.call(E+"_add",T,D,D),r.call(E+"_sub",m,D,m),r.call(E+"_add",T,T,w),r.call(E+"_mul",a,s,T),r.call(E+"_mulNR",s,y),r.call(E+"_add",a,y,y),r.call(E+"_add",a,s,D),r.call(E+"_mul",D,y,y),r.call(E+"_mulNR",T,D),r.call(E+"_add",T,D,D),r.call(E+"_sub",y,D,y),r.call(E+"_add",T,T,I),r.call(E+"_mul",o,u,T),r.call(E+"_mulNR",u,C),r.call(E+"_add",o,C,C),r.call(E+"_add",o,u,D),r.call(E+"_mul",D,C,C),r.call(E+"_mulNR",T,D),r.call(E+"_add",T,D,D),r.call(E+"_sub",C,D,C),r.call(E+"_add",T,T,B),r.call(E+"_sub",m,i,h),r.call(E+"_add",h,h,h),r.call(E+"_add",m,h,h),r.call(E+"_add",w,l,A),r.call(E+"_add",A,A,A),r.call(E+"_add",w,A,A),r.call(E+"_mul",B,r.i32_const(_),D),r.call(E+"_add",D,a,f),r.call(E+"_add",f,f,f),r.call(E+"_add",D,f,f),r.call(E+"_sub",C,s,p),r.call(E+"_add",p,p,p),r.call(E+"_add",C,p,p),r.call(E+"_sub",y,o,d),r.call(E+"_add",d,d,d),r.call(E+"_add",y,d,d),r.call(E+"_add",I,u,g),r.call(E+"_add",g,g,g),r.call(E+"_add",I,g,g))}(),H(G,true,"w0");const e=t.addFunction(n+"_finalExponentiation");e.addParam("x","i32"),e.addParam("r","i32");const r=e.getCodeBuilder(),i=r.getLocal("x"),o=r.getLocal("r"),s=r.i32_const(t.alloc(l)),a=r.i32_const(t.alloc(l)),u=r.i32_const(t.alloc(l)),h=r.i32_const(t.alloc(l)),d=r.i32_const(t.alloc(l)),p=r.i32_const(t.alloc(l)),f=r.i32_const(t.alloc(l));e.addCode(r.call(x+"_frobeniusMap6",i,s),r.call(x+"_inverse",i,a),r.call(x+"_mul",s,a,u),r.call(x+"_copy",u,a),r.call(x+"_frobeniusMap2",u,u),r.call(x+"_mul",u,a,u),r.call(n+"__cyclotomicSquare",u,a),r.call(x+"_conjugate",a,a),r.call(n+"__cyclotomicExp_w0",u,h),r.call(n+"__cyclotomicSquare",h,d),r.call(x+"_mul",a,h,p),r.call(n+"__cyclotomicExp_w0",p,a),r.call(n+"__cyclotomicExp_w0",a,s),r.call(n+"__cyclotomicExp_w0",s,f),r.call(x+"_mul",f,d,f),r.call(n+"__cyclotomicExp_w0",f,d),r.call(x+"_conjugate",p,p),r.call(x+"_mul",d,p,d),r.call(x+"_mul",d,u,d),r.call(x+"_conjugate",u,p),r.call(x+"_mul",a,u,a),r.call(x+"_frobeniusMap3",a,a),r.call(x+"_mul",f,p,f),r.call(x+"_frobeniusMap1",f,f),r.call(x+"_mul",h,s,h),r.call(x+"_frobeniusMap2",h,h),r.call(x+"_mul",h,a,h),r.call(x+"_mul",h,f,h),r.call(x+"_mul",h,d,o))}();for(let e=1;e<=5;e++)z(e),t.exportFunction(n+"_pairingEq"+e);!function(){const e=t.addFunction(n+"_pairing");e.addParam("p","i32"),e.addParam("q","i32"),e.addParam("r","i32");const r=e.getCodeBuilder(),i=r.i32_const(t.alloc(l));e.addCode(r.call(n+"_prepareG1",r.getLocal("p"),r.i32_const(j))),e.addCode(r.call(n+"_prepareG2",r.getLocal("q"),r.i32_const(Y))),e.addCode(r.call(n+"_millerLoop",r.i32_const(j),r.i32_const(Y),i)),e.addCode(r.call(n+"_finalExponentiation",i,r.getLocal("r")))}(),t.exportFunction(n+"_pairing"),t.exportFunction(n+"_prepareG1"),t.exportFunction(n+"_prepareG2"),t.exportFunction(n+"_millerLoop"),t.exportFunction(n+"_finalExponentiation"),t.exportFunction(n+"_finalExponentiationOld"),t.exportFunction(n+"__cyclotomicSquare"),t.exportFunction(n+"__cyclotomicExp_w0"),t.exportFunction(L+"_mul1"),t.exportFunction(L+"_mul01"),t.exportFunction(x+"_mul014"),t.exportFunction(g+"_inGroupAffine"),t.exportFunction(g+"_inGroup"),t.exportFunction(w+"_inGroupAffine"),t.exportFunction(w+"_inGroup")};function QI(t,e){let n=t;void 0===e&&0==(e=Math.floor((Ew(t)-1)/8)+1)&&(e=1);const r=new Uint8Array(e),i=new DataView(r.buffer);let o=0;for(;o<e;)o+4<=e?(i.setUint32(o,Number(n&BigInt(4294967295)),!0),o+=4,n>>=BigInt(32)):o+2<=e?(i.setUint16(o,Number(n&BigInt(65535)),!0),o+=2,n>>=BigInt(16)):(i.setUint8(o,Number(n&BigInt(255)),!0),o+=1,n>>=BigInt(8));if(n)throw new Error("Number does not fit in this length");return r}const kI=[];for(let t=0;t<256;t++)kI[t]=UI(t,8);function UI(t,e){let n=0,r=t;for(let t=0;t<e;t++)n<<=1,n|=1&r,r>>=1;return n}function PI(t,e){return(kI[t>>>24]|kI[t>>>16&255]<<8|kI[t>>>8&255]<<16|kI[255&t]<<24)>>>32-e}function GI(t){return(4294901760&t?(t&=4294901760,16):0)|(4278255360&t?(t&=4278255360,8):0)|(4042322160&t?(t&=4042322160,4):0)|(3435973836&t?(t&=3435973836,2):0)|!!(2863311530&t)}function VI(t,e){const n=t.byteLength/e,r=GI(n);if(n!=1<<r)throw new Error("Invalid number of pointers");for(let i=0;i<n;i++){const n=PI(i,r);if(i>n){const r=t.slice(i*e,(i+1)*e);t.set(t.slice(n*e,(n+1)*e),i*e),t.set(r,n*e)}}}function HI(t,e){const n=new Uint8Array(e*t.length);for(let r=0;r<t.length;r++)n.set(t[r],r*e);return n}function jI(t,e){const n=t.byteLength/e,r=new Array(n);for(let i=0;i<n;i++)r[i]=t.slice(i*e,i*e+e);return r}var YI=Object.freeze({__proto__:null,array2buffer:HI,beBuff2int:function(t){let e=BigInt(0),n=t.length,r=0;const i=new DataView(t.buffer,t.byteOffset,t.byteLength);for(;n>0;)n>=4?(n-=4,e+=BigInt(i.getUint32(n))<<BigInt(8*r),r+=4):n>=2?(n-=2,e+=BigInt(i.getUint16(n))<<BigInt(8*r),r+=2):(n-=1,e+=BigInt(i.getUint8(n))<<BigInt(8*r),r+=1);return e},beInt2Buff:function(t,e){let n=t;const r=new Uint8Array(e),i=new DataView(r.buffer);let o=e;for(;o>0;)o-4>=0?(o-=4,i.setUint32(o,Number(n&BigInt(4294967295))),n>>=BigInt(32)):o-2>=0?(o-=2,i.setUint16(o,Number(n&BigInt(65535))),n>>=BigInt(16)):(o-=1,i.setUint8(o,Number(n&BigInt(255))),n>>=BigInt(8));if(n)throw new Error("Number does not fit in this length");return r},bitReverse:PI,buffReverseBits:VI,buffer2array:jI,leBuff2int:function(t){let e=BigInt(0),n=0;const r=new DataView(t.buffer,t.byteOffset,t.byteLength);for(;n<t.length;)n+4<=t.length?(e+=BigInt(r.getUint32(n,!0))<<BigInt(8*n),n+=4):n+2<=t.length?(e+=BigInt(r.getUint16(n,!0))<<BigInt(8*n),n+=2):(e+=BigInt(r.getUint8(n,!0))<<BigInt(8*n),n+=1);return e},leInt2Buff:QI,log2:GI,stringifyBigInts:function t(e){if("bigint"==typeof e||void 0!==e.eq)return e.toString(10);if(e instanceof Uint8Array)return Gw(e,0);if(Array.isArray(e))return e.map(t);if("object"==typeof e){const n={};return Object.keys(e).forEach(r=>{n[r]=t(e[r])}),n}return e},stringifyFElements:function t(e,n){if("bigint"==typeof n||void 0!==n.eq)return n.toString(10);if(n instanceof Uint8Array)return e.toString(e.e(n));if(Array.isArray(n))return n.map(t.bind(this,e));if("object"==typeof n){const r={};return Object.keys(n).forEach(i=>{r[i]=t(e,n[i])}),r}return n},unstringifyBigInts:function t(e){if("string"==typeof e&&/^[0-9]+$/.test(e))return BigInt(e);if("string"==typeof e&&/^0x[0-9a-fA-F]+$/.test(e))return BigInt(e);if(Array.isArray(e))return e.map(t);if("object"==typeof e){if(null===e)return null;const n={};return Object.keys(e).forEach(r=>{n[r]=t(e[r])}),n}return e},unstringifyFElements:function t(e,n){if("string"==typeof n&&/^[0-9]+$/.test(n))return e.e(n);if("string"==typeof n&&/^0x[0-9a-fA-F]+$/.test(n))return e.e(n);if(Array.isArray(n))return n.map(t.bind(this,e));if("object"==typeof n){if(null===n)return null;const r={};return Object.keys(n).forEach(i=>{r[i]=t(e,n[i])}),r}return n}});const zI=1<<30;class JI{constructor(t){this.buffers=[],this.byteLength=t;for(let e=0;e<t;e+=zI){const n=Math.min(t-e,zI);this.buffers.push(new Uint8Array(n))}}slice(t,e){void 0===e&&(e=this.byteLength),void 0===t&&(t=0);const n=e-t,r=Math.floor(t/zI);if(r==Math.floor((t+n-1)/zI)||0==n)return this.buffers[r].slice(t%zI,t%zI+n);let i,o=r,s=t%zI,a=n;for(;a>0;){const t=s+a>zI?zI-s:a,e=new Uint8Array(this.buffers[o].buffer,this.buffers[o].byteOffset+s,t);if(t==n)return e.slice();i||(i=n<=zI?new Uint8Array(n):new JI(n)),i.set(e,n-a),a-=t,o++,s=0}return i}set(t,e){void 0===e&&(e=0);const n=t.byteLength;if(0==n)return;const r=Math.floor(e/zI);if(r==Math.floor((e+n-1)/zI))return t instanceof JI&&1==t.buffers.length?this.buffers[r].set(t.buffers[0],e%zI):this.buffers[r].set(t,e%zI);let i=r,o=e%zI,s=n;for(;s>0;){const e=o+s>zI?zI-o:s,r=t.slice(n-s,n-s+e);new Uint8Array(this.buffers[i].buffer,this.buffers[i].byteOffset+o,e).set(r),s-=e,i++,o=0}}}function WI(t,e,n,r){return async function(i){const o=Math.floor(i.byteLength/n);if(o*n!==i.byteLength)throw new Error("Invalid buffer size");const s=Math.floor(o/t.concurrency),a=[];for(let c=0;c<t.concurrency;c++){let l;if(l=c<t.concurrency-1?s:o-c*s,0==l)continue;const u=[{cmd:"ALLOCSET",var:0,buff:i.slice(c*s*n,c*s*n+l*n)},{cmd:"ALLOC",var:1,len:r*l},{cmd:"CALL",fnName:e,params:[{var:0},{val:l},{var:1}]},{cmd:"GET",out:0,var:1,len:r*l}];a.push(t.queueAction(u))}const c=await Promise.all(a);let l;l=i instanceof JI?new JI(o*r):new Uint8Array(o*r);let u=0;for(let t=0;t<c.length;t++)l.set(c[t][0],u),u+=c[t][0].byteLength;return l}}class qI{constructor(t,e,n,r){if(this.tm=t,this.prefix=e,this.p=r,this.n8=n,this.type="F1",this.m=1,this.half=Iw(r,zw),this.bitLength=Ew(r),this.mask=vw(yw(zw,this.bitLength),zw),this.pOp1=t.alloc(n),this.pOp2=t.alloc(n),this.pOp3=t.alloc(n),this.tm.instance.exports[e+"_zero"](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,this.n8),this.tm.instance.exports[e+"_one"](this.pOp1),this.one=this.tm.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.n64=Math.floor(n/8),this.n32=Math.floor(n/4),8*this.n64!=this.n8)throw new Error("n8 must be a multiple of 8");this.half=Iw(this.p,zw),this.nqr=this.two;let i=this.exp(this.nqr,this.half);for(;!this.eq(i,this.negone);)this.nqr=this.add(this.nqr,this.one),i=this.exp(this.nqr,this.half);this.shift=this.mul(this.nqr,this.nqr),this.shiftInv=this.inv(this.shift),this.s=0;let o=vw(this.p,zw);for(;!Tw(o);)this.s=this.s+1,o=Iw(o,zw);this.w=[],this.w[this.s]=this.exp(this.nqr,o);for(let t=this.s-1;t>=0;t--)this.w[t]=this.square(this.w[t+1]);if(!this.eq(this.w[0],this.one))throw new Error("Error calculating roots of unity");this.batchToMontgomery=WI(t,e+"_batchToMontgomery",this.n8,this.n8),this.batchFromMontgomery=WI(t,e+"_batchFromMontgomery",this.n8,this.n8)}op2(t,e,n){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,n),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(t,e,n){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,n),!!this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp2)}op1(t,e){return this.tm.setBuff(this.pOp1,e),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(t,e){return this.tm.setBuff(this.pOp1,e),!!this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3)}add(t,e){return this.op2("_add",t,e)}eq(t,e){return this.op2Bool("_eq",t,e)}isZero(t){return this.op1Bool("_isZero",t)}sub(t,e){return this.op2("_sub",t,e)}neg(t){return this.op1("_neg",t)}inv(t){return this.op1("_inverse",t)}toMontgomery(t){return this.op1("_toMontgomery",t)}fromMontgomery(t){return this.op1("_fromMontgomery",t)}mul(t,e){return this.op2("_mul",t,e)}div(t,e){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,e),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(t){return this.op1("_square",t)}isSquare(t){return this.op1Bool("_isSquare",t)}sqrt(t){return this.op1("_sqrt",t)}exp(t,e){return e instanceof Uint8Array||(e=jw(gw(e))),this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,e),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,e.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}isNegative(t){return this.op1Bool("_isNegative",t)}e(t,e){if(t instanceof Uint8Array)return t;let n=gw(t,e);mw(n)?(n=Sw(n),Ow(n,this.p)&&(n=Rw(n,this.p)),n=vw(this.p,n)):Ow(n,this.p)&&(n=Rw(n,this.p));const r=QI(n,this.n8);return this.toMontgomery(r)}toString(t,e){return Hw(Gw(this.fromMontgomery(t),0),e)}fromRng(t){let e;const n=new Uint8Array(this.n8);do{e=Yw;for(let n=0;n<this.n64;n++)e=Nw(e,yw(t.nextU64(),64*n));e=kw(e,this.mask)}while(Qw(e,this.p));return Uw(n,0,e,this.n8),n}random(){return this.fromRng(ry())}toObject(t){return Gw(this.fromMontgomery(t),0)}fromObject(t){const e=new Uint8Array(this.n8);return Uw(e,0,t,this.n8),this.toMontgomery(e)}toRprLE(t,e,n){t.set(this.fromMontgomery(n),e)}toRprBE(t,e,n){const r=this.fromMontgomery(n);for(let t=0;t<this.n8/2;t++){const e=r[t];r[t]=r[this.n8-1-t],r[this.n8-1-t]=e}t.set(r,e)}fromRprLE(t,e){e=e||0;const n=t.slice(e,e+this.n8);return this.toMontgomery(n)}async batchInverse(t){let e=!1;const n=this.n8,r=this.n8;Array.isArray(t)?(t=HI(t,n),e=!0):t=t.slice(0,t.byteLength);const i=Math.floor(t.byteLength/n);if(i*n!==t.byteLength)throw new Error("Invalid buffer size");const o=Math.floor(i/this.tm.concurrency),s=[];for(let e=0;e<this.tm.concurrency;e++){let a;if(a=e<this.tm.concurrency-1?o:i-e*o,0==a)continue;const c=[{cmd:"ALLOCSET",var:0,buff:t.slice(e*o*n,e*o*n+a*n)},{cmd:"ALLOC",var:1,len:r*a},{cmd:"CALL",fnName:this.prefix+"_batchInverse",params:[{var:0},{val:n},{val:a},{var:1},{val:r}]},{cmd:"GET",out:0,var:1,len:r*a}];s.push(this.tm.queueAction(c))}const a=await Promise.all(s);let c;c=t instanceof JI?new JI(i*r):new Uint8Array(i*r);let l=0;for(let t=0;t<a.length;t++)c.set(a[t][0],l),l+=a[t][0].byteLength;return e?jI(c,r):c}}class KI{constructor(t,e,n){this.tm=t,this.prefix=e,this.F=n,this.type="F2",this.m=2*n.m,this.n8=2*this.F.n8,this.n32=2*this.F.n32,this.n64=2*this.F.n64,this.pOp1=t.alloc(2*n.n8),this.pOp2=t.alloc(2*n.n8),this.pOp3=t.alloc(2*n.n8),this.tm.instance.exports[e+"_zero"](this.pOp1),this.zero=t.getBuff(this.pOp1,this.n8),this.tm.instance.exports[e+"_one"](this.pOp1),this.one=t.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}op2(t,e,n){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,n),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(t,e,n){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,n),!!this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp2)}op1(t,e){return this.tm.setBuff(this.pOp1,e),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(t,e){return this.tm.setBuff(this.pOp1,e),!!this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3)}add(t,e){return this.op2("_add",t,e)}eq(t,e){return this.op2Bool("_eq",t,e)}isZero(t){return this.op1Bool("_isZero",t)}sub(t,e){return this.op2("_sub",t,e)}neg(t){return this.op1("_neg",t)}inv(t){return this.op1("_inverse",t)}isNegative(t){return this.op1Bool("_isNegative",t)}toMontgomery(t){return this.op1("_toMontgomery",t)}fromMontgomery(t){return this.op1("_fromMontgomery",t)}mul(t,e){return this.op2("_mul",t,e)}mul1(t,e){return this.op2("_mul1",t,e)}div(t,e){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,e),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(t){return this.op1("_square",t)}isSquare(t){return this.op1Bool("_isSquare",t)}sqrt(t){return this.op1("_sqrt",t)}exp(t,e){return e instanceof Uint8Array||(e=jw(gw(e))),this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,e),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,e.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}e(t,e){if(t instanceof Uint8Array)return t;if(Array.isArray(t)&&2==t.length){const n=this.F.e(t[0],e),r=this.F.e(t[1],e),i=new Uint8Array(2*this.F.n8);return i.set(n),i.set(r,2*this.F.n8),i}throw new Error("invalid F2")}toString(t,e){return`[${this.F.toString(t.slice(0,this.F.n8),e)}, ${this.F.toString(t.slice(this.F.n8),e)}]`}fromRng(t){const e=this.F.fromRng(t),n=this.F.fromRng(t),r=new Uint8Array(2*this.F.n8);return r.set(e),r.set(n,this.F.n8),r}random(){return this.fromRng(ry())}toObject(t){return[this.F.toObject(t.slice(0,this.F.n8)),this.F.toObject(t.slice(this.F.n8,2*this.F.n8))]}fromObject(t){const e=new Uint8Array(2*this.F.n8),n=this.F.fromObject(t[0]),r=this.F.fromObject(t[1]);return e.set(n),e.set(r,this.F.n8),e}c1(t){return t.slice(0,this.F.n8)}c2(t){return t.slice(this.F.n8)}}class XI{constructor(t,e,n){this.tm=t,this.prefix=e,this.F=n,this.type="F3",this.m=3*n.m,this.n8=3*this.F.n8,this.n32=3*this.F.n32,this.n64=3*this.F.n64,this.pOp1=t.alloc(3*n.n8),this.pOp2=t.alloc(3*n.n8),this.pOp3=t.alloc(3*n.n8),this.tm.instance.exports[e+"_zero"](this.pOp1),this.zero=t.getBuff(this.pOp1,this.n8),this.tm.instance.exports[e+"_one"](this.pOp1),this.one=t.getBuff(this.pOp1,this.n8),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one)}op2(t,e,n){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,n),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op2Bool(t,e,n){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,n),!!this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp2)}op1(t,e){return this.tm.setBuff(this.pOp1,e),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}op1Bool(t,e){return this.tm.setBuff(this.pOp1,e),!!this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3)}eq(t,e){return this.op2Bool("_eq",t,e)}isZero(t){return this.op1Bool("_isZero",t)}add(t,e){return this.op2("_add",t,e)}sub(t,e){return this.op2("_sub",t,e)}neg(t){return this.op1("_neg",t)}inv(t){return this.op1("_inverse",t)}isNegative(t){return this.op1Bool("_isNegative",t)}toMontgomery(t){return this.op1("_toMontgomery",t)}fromMontgomery(t){return this.op1("_fromMontgomery",t)}mul(t,e){return this.op2("_mul",t,e)}div(t,e){return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,e),this.tm.instance.exports[this.prefix+"_inverse"](this.pOp2,this.pOp2),this.tm.instance.exports[this.prefix+"_mul"](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,this.n8)}square(t){return this.op1("_square",t)}isSquare(t){return this.op1Bool("_isSquare",t)}sqrt(t){return this.op1("_sqrt",t)}exp(t,e){return e instanceof Uint8Array||(e=jw(gw(e))),this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,e),this.tm.instance.exports[this.prefix+"_exp"](this.pOp1,this.pOp2,e.byteLength,this.pOp3),this.getBuff(this.pOp3,this.n8)}e(t,e){if(t instanceof Uint8Array)return t;if(Array.isArray(t)&&3==t.length){const n=this.F.e(t[0],e),r=this.F.e(t[1],e),i=this.F.e(t[2],e),o=new Uint8Array(3*this.F.n8);return o.set(n),o.set(r,this.F.n8),o.set(i,2*this.F.n8),o}throw new Error("invalid F3")}toString(t,e){return`[${this.F.toString(t.slice(0,this.F.n8),e)}, ${this.F.toString(t.slice(this.F.n8,2*this.F.n8),e)}, ${this.F.toString(t.slice(2*this.F.n8),e)}]`}fromRng(t){const e=this.F.fromRng(t),n=this.F.fromRng(t),r=this.F.fromRng(t),i=new Uint8Array(3*this.F.n8);return i.set(e),i.set(n,this.F.n8),i.set(r,2*this.F.n8),i}random(){return this.fromRng(ry())}toObject(t){return[this.F.toObject(t.slice(0,this.F.n8)),this.F.toObject(t.slice(this.F.n8,2*this.F.n8)),this.F.toObject(t.slice(2*this.F.n8,3*this.F.n8))]}fromObject(t){const e=new Uint8Array(3*this.F.n8),n=this.F.fromObject(t[0]),r=this.F.fromObject(t[1]),i=this.F.fromObject(t[2]);return e.set(n),e.set(r,this.F.n8),e.set(i,2*this.F.n8),e}c1(t){return t.slice(0,this.F.n8)}c2(t){return t.slice(this.F.n8,2*this.F.n8)}c3(t){return t.slice(2*this.F.n8)}}class ZI{constructor(t,e,n,r,i,o){this.tm=t,this.prefix=e,this.F=n,this.pOp1=t.alloc(3*n.n8),this.pOp2=t.alloc(3*n.n8),this.pOp3=t.alloc(3*n.n8),this.tm.instance.exports[e+"_zero"](this.pOp1),this.zero=this.tm.getBuff(this.pOp1,3*n.n8),this.tm.instance.exports[e+"_zeroAffine"](this.pOp1),this.zeroAffine=this.tm.getBuff(this.pOp1,2*n.n8),this.one=this.tm.getBuff(r,3*n.n8),this.g=this.one,this.oneAffine=this.tm.getBuff(r,2*n.n8),this.gAffine=this.oneAffine,this.b=this.tm.getBuff(i,n.n8),o&&(this.cofactor=jw(o)),this.negone=this.neg(this.one),this.two=this.add(this.one,this.one),this.batchLEMtoC=WI(t,e+"_batchLEMtoC",2*n.n8,n.n8),this.batchLEMtoU=WI(t,e+"_batchLEMtoU",2*n.n8,2*n.n8),this.batchCtoLEM=WI(t,e+"_batchCtoLEM",n.n8,2*n.n8),this.batchUtoLEM=WI(t,e+"_batchUtoLEM",2*n.n8,2*n.n8),this.batchToJacobian=WI(t,e+"_batchToJacobian",2*n.n8,3*n.n8),this.batchToAffine=WI(t,e+"_batchToAffine",3*n.n8,2*n.n8)}op2(t,e,n){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,n),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}op2bool(t,e,n){return this.tm.setBuff(this.pOp1,e),this.tm.setBuff(this.pOp2,n),!!this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp2,this.pOp3)}op1(t,e){return this.tm.setBuff(this.pOp1,e),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}op1Affine(t,e){return this.tm.setBuff(this.pOp1,e),this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3),this.tm.getBuff(this.pOp3,2*this.F.n8)}op1Bool(t,e){return this.tm.setBuff(this.pOp1,e),!!this.tm.instance.exports[this.prefix+t](this.pOp1,this.pOp3)}add(t,e){if(t.byteLength==3*this.F.n8){if(e.byteLength==3*this.F.n8)return this.op2("_add",t,e);if(e.byteLength==2*this.F.n8)return this.op2("_addMixed",t,e);throw new Error("invalid point size")}if(t.byteLength==2*this.F.n8){if(e.byteLength==3*this.F.n8)return this.op2("_addMixed",e,t);if(e.byteLength==2*this.F.n8)return this.op2("_addAffine",t,e);throw new Error("invalid point size")}throw new Error("invalid point size")}sub(t,e){if(t.byteLength==3*this.F.n8){if(e.byteLength==3*this.F.n8)return this.op2("_sub",t,e);if(e.byteLength==2*this.F.n8)return this.op2("_subMixed",t,e);throw new Error("invalid point size")}if(t.byteLength==2*this.F.n8){if(e.byteLength==3*this.F.n8)return this.op2("_subMixed",e,t);if(e.byteLength==2*this.F.n8)return this.op2("_subAffine",t,e);throw new Error("invalid point size")}throw new Error("invalid point size")}neg(t){if(t.byteLength==3*this.F.n8)return this.op1("_neg",t);if(t.byteLength==2*this.F.n8)return this.op1Affine("_negAffine",t);throw new Error("invalid point size")}double(t){if(t.byteLength==3*this.F.n8)return this.op1("_double",t);if(t.byteLength==2*this.F.n8)return this.op1("_doubleAffine",t);throw new Error("invalid point size")}isZero(t){if(t.byteLength==3*this.F.n8)return this.op1Bool("_isZero",t);if(t.byteLength==2*this.F.n8)return this.op1Bool("_isZeroAffine",t);throw new Error("invalid point size")}timesScalar(t,e){let n;if(e instanceof Uint8Array||(e=jw(gw(e))),t.byteLength==3*this.F.n8)n=this.prefix+"_timesScalar";else{if(t.byteLength!=2*this.F.n8)throw new Error("invalid point size");n=this.prefix+"_timesScalarAffine"}return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,e),this.tm.instance.exports[n](this.pOp1,this.pOp2,e.byteLength,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}timesFr(t,e){let n;if(t.byteLength==3*this.F.n8)n=this.prefix+"_timesFr";else{if(t.byteLength!=2*this.F.n8)throw new Error("invalid point size");n=this.prefix+"_timesFrAffine"}return this.tm.setBuff(this.pOp1,t),this.tm.setBuff(this.pOp2,e),this.tm.instance.exports[n](this.pOp1,this.pOp2,this.pOp3),this.tm.getBuff(this.pOp3,3*this.F.n8)}eq(t,e){if(t.byteLength==3*this.F.n8){if(e.byteLength==3*this.F.n8)return this.op2bool("_eq",t,e);if(e.byteLength==2*this.F.n8)return this.op2bool("_eqMixed",t,e);throw new Error("invalid point size")}if(t.byteLength==2*this.F.n8){if(e.byteLength==3*this.F.n8)return this.op2bool("_eqMixed",e,t);if(e.byteLength==2*this.F.n8)return this.op2bool("_eqAffine",t,e);throw new Error("invalid point size")}throw new Error("invalid point size")}toAffine(t){if(t.byteLength==3*this.F.n8)return this.op1Affine("_toAffine",t);if(t.byteLength==2*this.F.n8)return t;throw new Error("invalid point size")}toJacobian(t){if(t.byteLength==3*this.F.n8)return t;if(t.byteLength==2*this.F.n8)return this.op1("_toJacobian",t);throw new Error("invalid point size")}toRprUncompressed(t,e,n){if(this.tm.setBuff(this.pOp1,n),n.byteLength==3*this.F.n8)this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);else if(n.byteLength!=2*this.F.n8)throw new Error("invalid point size");this.tm.instance.exports[this.prefix+"_LEMtoU"](this.pOp1,this.pOp1);const r=this.tm.getBuff(this.pOp1,2*this.F.n8);t.set(r,e)}fromRprUncompressed(t,e){const n=t.slice(e,e+2*this.F.n8);return this.tm.setBuff(this.pOp1,n),this.tm.instance.exports[this.prefix+"_UtoLEM"](this.pOp1,this.pOp1),this.tm.getBuff(this.pOp1,2*this.F.n8)}toRprCompressed(t,e,n){if(this.tm.setBuff(this.pOp1,n),n.byteLength==3*this.F.n8)this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);else if(n.byteLength!=2*this.F.n8)throw new Error("invalid point size");this.tm.instance.exports[this.prefix+"_LEMtoC"](this.pOp1,this.pOp1);const r=this.tm.getBuff(this.pOp1,this.F.n8);t.set(r,e)}fromRprCompressed(t,e){const n=t.slice(e,e+this.F.n8);return this.tm.setBuff(this.pOp1,n),this.tm.instance.exports[this.prefix+"_CtoLEM"](this.pOp1,this.pOp2),this.tm.getBuff(this.pOp2,2*this.F.n8)}toUncompressed(t){const e=new Uint8Array(2*this.F.n8);return this.toRprUncompressed(e,0,t),e}toRprLEM(t,e,n){if(n.byteLength!=2*this.F.n8){if(n.byteLength!=3*this.F.n8)throw new Error("invalid point size");{this.tm.setBuff(this.pOp1,n),this.tm.instance.exports[this.prefix+"_toAffine"](this.pOp1,this.pOp1);const r=this.tm.getBuff(this.pOp1,2*this.F.n8);t.set(r,e)}}else t.set(n,e)}fromRprLEM(t,e){return e=e||0,t.slice(e,e+2*this.F.n8)}toString(t,e){if(t.byteLength==3*this.F.n8){return`[ ${this.F.toString(t.slice(0,this.F.n8),e)}, ${this.F.toString(t.slice(this.F.n8,2*this.F.n8),e)}, ${this.F.toString(t.slice(2*this.F.n8),e)} ]`}if(t.byteLength==2*this.F.n8){return`[ ${this.F.toString(t.slice(0,this.F.n8),e)}, ${this.F.toString(t.slice(this.F.n8),e)} ]`}throw new Error("invalid point size")}isValid(t){if(this.isZero(t))return!0;const e=this.F,n=this.toAffine(t),r=n.slice(0,this.F.n8),i=n.slice(this.F.n8,2*this.F.n8),o=e.add(e.mul(e.square(r),r),this.b),s=e.square(i);return e.eq(o,s)}fromRng(t){const e=this.F;let n,r,i=[];do{i[0]=e.fromRng(t),n=t.nextBool(),r=e.add(e.mul(e.square(i[0]),i[0]),this.b)}while(!e.isSquare(r));i[1]=e.sqrt(r);n^e.isNegative(i[1])&&(i[1]=e.neg(i[1]));let o=new Uint8Array(2*this.F.n8);return o.set(i[0]),o.set(i[1],this.F.n8),this.cofactor&&(o=this.timesScalar(o,this.cofactor)),o}toObject(t){if(this.isZero(t))return[this.F.toObject(this.F.zero),this.F.toObject(this.F.one),this.F.toObject(this.F.zero)];const e=this.F.toObject(t.slice(0,this.F.n8)),n=this.F.toObject(t.slice(this.F.n8,2*this.F.n8));let r;return r=t.byteLength==3*this.F.n8?this.F.toObject(t.slice(2*this.F.n8,3*this.F.n8)):this.F.toObject(this.F.one),[e,n,r]}fromObject(t){const e=this.F.fromObject(t[0]),n=this.F.fromObject(t[1]);let r;if(r=3==t.length?this.F.fromObject(t[2]):this.F.one,this.F.isZero(r,this.F.one))return this.zeroAffine;if(this.F.eq(r,this.F.one)){const t=new Uint8Array(2*this.F.n8);return t.set(e),t.set(n,this.F.n8),t}{const t=new Uint8Array(3*this.F.n8);return t.set(e),t.set(n,this.F.n8),t.set(r,2*this.F.n8),t}}e(t){return t instanceof Uint8Array?t:this.fromObject(t)}x(t){return this.toAffine(t).slice(0,this.F.n8)}y(t){return this.toAffine(t).slice(this.F.n8)}}class $I{constructor(){this.promise=new Promise((t,e)=>{this.reject=e,this.resolve=t})}}let tC;const eC='(function thread(self) {\n const MAXMEM = 32767;\n let instance;\n let memory;\n\n if (self) {\n self.onmessage = function(e) {\n let data;\n if (e.data) {\n data = e.data;\n } else {\n data = e;\n }\n\n if (data[0].cmd == "INIT") {\n init(data[0]).then(function() {\n self.postMessage(data.result);\n });\n } else if (data[0].cmd == "TERMINATE") {\n self.close();\n } else {\n const res = runTask(data);\n self.postMessage(res);\n }\n };\n }\n\n async function init(data) {\n const code = new Uint8Array(data.code);\n const wasmModule = await WebAssembly.compile(code);\n memory = new WebAssembly.Memory({initial:data.init, maximum: MAXMEM});\n\n instance = await WebAssembly.instantiate(wasmModule, {\n env: {\n "memory": memory\n }\n });\n }\n\n\n\n function alloc(length) {\n const u32 = new Uint32Array(memory.buffer, 0, 1);\n while (u32[0] & 3) u32[0]++; // Return always aligned pointers\n const res = u32[0];\n u32[0] += length;\n if (u32[0] + length > memory.buffer.byteLength) {\n const currentPages = memory.buffer.byteLength / 0x10000;\n let requiredPages = Math.floor((u32[0] + length) / 0x10000)+1;\n if (requiredPages>MAXMEM) requiredPages=MAXMEM;\n memory.grow(requiredPages-currentPages);\n }\n return res;\n }\n\n function allocBuffer(buffer) {\n const p = alloc(buffer.byteLength);\n setBuffer(p, buffer);\n return p;\n }\n\n function getBuffer(pointer, length) {\n const u8 = new Uint8Array(memory.buffer);\n return new Uint8Array(u8.buffer, u8.byteOffset + pointer, length);\n }\n\n function setBuffer(pointer, buffer) {\n const u8 = new Uint8Array(memory.buffer);\n u8.set(new Uint8Array(buffer), pointer);\n }\n\n function runTask(task) {\n if (task[0].cmd == "INIT") {\n return init(task[0]);\n }\n const ctx = {\n vars: [],\n out: []\n };\n const u32a = new Uint32Array(memory.buffer, 0, 1);\n const oldAlloc = u32a[0];\n for (let i=0; i<task.length; i++) {\n switch (task[i].cmd) {\n case "ALLOCSET":\n ctx.vars[task[i].var] = allocBuffer(task[i].buff);\n break;\n case "ALLOC":\n ctx.vars[task[i].var] = alloc(task[i].len);\n break;\n case "SET":\n setBuffer(ctx.vars[task[i].var], task[i].buff);\n break;\n case "CALL": {\n const params = [];\n for (let j=0; j<task[i].params.length; j++) {\n const p = task[i].params[j];\n if (typeof p.var !== "undefined") {\n params.push(ctx.vars[p.var] + (p.offset || 0));\n } else if (typeof p.val != "undefined") {\n params.push(p.val);\n }\n }\n instance.exports[task[i].fnName](...params);\n break;\n }\n case "GET":\n ctx.out[task[i].out] = getBuffer(ctx.vars[task[i].var], task[i].len).slice();\n break;\n default:\n throw new Error("Invalid cmd");\n }\n }\n const u32b = new Uint32Array(memory.buffer, 0, 1);\n u32b[0] = oldAlloc;\n return ctx.out;\n }\n\n\n return runTask;\n})(self)';if(globalThis?.Blob){const t=(new TextEncoder).encode(eC),e=new Blob([t],{type:"application/javascript"});tC=URL.createObjectURL(e)}else tC="data:application/javascript;base64,"+globalThis.btoa(eC);async function nC(t,e){const n=new rC;n.memory=new WebAssembly.Memory({initial:25}),n.u8=new Uint8Array(n.memory.buffer),n.u32=new Uint32Array(n.memory.buffer);const r=await WebAssembly.compile(t.code);if(n.instance=await WebAssembly.instantiate(r,{env:{memory:n.memory}}),globalThis?.Worker||(e=!0),n.singleThread=e,n.initalPFree=n.u32[0],n.pq=t.pq,n.pr=t.pr,n.pG1gen=t.pG1gen,n.pG1zero=t.pG1zero,n.pG2gen=t.pG2gen,n.pG2zero=t.pG2zero,n.pOneT=t.pOneT,e)n.code=t.code,n.taskManager=function(t){const e=32767;let n,r;async function i(t){const i=new Uint8Array(t.code),o=await WebAssembly.compile(i);r=new WebAssembly.Memory({initial:t.init,maximum:e}),n=await WebAssembly.instantiate(o,{env:{memory:r}})}function o(t){const n=new Uint32Array(r.buffer,0,1);for(;3&n[0];)n[0]++;const i=n[0];if(n[0]+=t,n[0]+t>r.buffer.byteLength){const i=r.buffer.byteLength/65536;let o=Math.floor((n[0]+t)/65536)+1;o>e&&(o=e),r.grow(o-i)}return i}function s(t){const e=o(t.byteLength);return c(e,t),e}function a(t,e){const n=new Uint8Array(r.buffer);return new Uint8Array(n.buffer,n.byteOffset+t,e)}function c(t,e){new Uint8Array(r.buffer).set(new Uint8Array(e),t)}function l(t){if("INIT"==t[0].cmd)return i(t[0]);const e={vars:[],out:[]},l=new Uint32Array(r.buffer,0,1)[0];for(let r=0;r<t.length;r++)switch(t[r].cmd){case"ALLOCSET":e.vars[t[r].var]=s(t[r].buff);break;case"ALLOC":e.vars[t[r].var]=o(t[r].len);break;case"SET":c(e.vars[t[r].var],t[r].buff);break;case"CALL":{const i=[];for(let n=0;n<t[r].params.length;n++){const o=t[r].params[n];void 0!==o.var?i.push(e.vars[o.var]+(o.offset||0)):void 0!==o.val&&i.push(o.val)}n.exports[t[r].fnName](...i);break}case"GET":e.out[t[r].out]=a(e.vars[t[r].var],t[r].len).slice();break;default:throw new Error("Invalid cmd")}return new Uint32Array(r.buffer,0,1)[0]=l,e.out}return t&&(t.onmessage=function(e){let n;if(n=e.data?e.data:e,"INIT"==n[0].cmd)i(n[0]).then(function(){t.postMessage(n.result)});else if("TERMINATE"==n[0].cmd)t.close();else{const e=l(n);t.postMessage(e)}}),l}(),await n.taskManager([{cmd:"INIT",init:25,code:n.code.slice()}]),n.concurrency=1;else{n.workers=[],n.pendingDeferreds=[],n.working=[];let e=2;"object"==typeof navigator&&navigator.hardwareConcurrency&&(e=navigator.hardwareConcurrency),0==e&&(e=2),e>64&&(e=64),n.concurrency=e;for(let t=0;t<e;t++)n.workers[t]=new Worker(tC),n.workers[t].addEventListener("message",i(t)),n.working[t]=!1;const r=[];for(let e=0;e<n.workers.length;e++){const i=t.code.slice();r.push(n.postAction(e,[{cmd:"INIT",init:25,code:i}],[i.buffer]))}await Promise.all(r)}return n;function i(t){return function(e){let r;r=e&&e.data?e.data:e,n.working[t]=!1,n.pendingDeferreds[t].resolve(r),n.processWorks()}}}class rC{constructor(){this.actionQueue=[],this.oldPFree=0}startSyncOp(){if(0!=this.oldPFree)throw new Error("Sync operation in progress");this.oldPFree=this.u32[0]}endSyncOp(){if(0==this.oldPFree)throw new Error("No sync operation in progress");this.u32[0]=this.oldPFree,this.oldPFree=0}postAction(t,e,n,r){if(this.working[t])throw new Error("Posting a job t a working worker");return this.working[t]=!0,this.pendingDeferreds[t]=r||new $I,this.workers[t].postMessage(e,n),this.pendingDeferreds[t].promise}processWorks(){for(let t=0;t<this.workers.length&&this.actionQueue.length>0;t++)if(0==this.working[t]){const e=this.actionQueue.shift();this.postAction(t,e.data,e.transfers,e.deferred)}}queueAction(t,e){const n=new $I;if(this.singleThread){const e=this.taskManager(t);n.resolve(e)}else this.actionQueue.push({data:t,transfers:e,deferred:n}),this.processWorks();return n.promise}resetMemory(){this.u32[0]=this.initalPFree}allocBuff(t){const e=this.alloc(t.byteLength);return this.setBuff(e,t),e}getBuff(t,e){return this.u8.slice(t,t+e)}setBuff(t,e){this.u8.set(new Uint8Array(e),t)}alloc(t){for(;3&this.u32[0];)this.u32[0]++;const e=this.u32[0];return this.u32[0]+=t,e}async terminate(){for(let t=0;t<this.workers.length;t++)this.workers[t].postMessage([{cmd:"TERMINATE"}]);var t;await(t=200,new Promise(e=>setTimeout(e,t)))}}function iC(t,e){const n=t[e],r=t.Fr,i=t.tm;t[e].batchApplyKey=async function(t,o,s,a,c){let l,u,h,d,p;if(a=a||"affine",c=c||"affine","G1"==e)"jacobian"==a?(h=3*n.F.n8,l="g1m_batchApplyKey"):(h=2*n.F.n8,l="g1m_batchApplyKeyMixed"),d=3*n.F.n8,"jacobian"==c?p=3*n.F.n8:(u="g1m_batchToAffine",p=2*n.F.n8);else if("G2"==e)"jacobian"==a?(h=3*n.F.n8,l="g2m_batchApplyKey"):(h=2*n.F.n8,l="g2m_batchApplyKeyMixed"),d=3*n.F.n8,"jacobian"==c?p=3*n.F.n8:(u="g2m_batchToAffine",p=2*n.F.n8);else{if("Fr"!=e)throw new Error("Invalid group: "+e);l="frm_batchApplyKey",h=n.n8,d=n.n8,p=n.n8}const f=Math.floor(t.byteLength/h),A=Math.floor(f/i.concurrency),g=[];s=r.e(s);let E=r.e(o);for(let e=0;e<i.concurrency;e++){let n;if(n=e<i.concurrency-1?A:f-e*A,0==n)continue;const o=[];o.push({cmd:"ALLOCSET",var:0,buff:t.slice(e*A*h,e*A*h+n*h)}),o.push({cmd:"ALLOCSET",var:1,buff:E}),o.push({cmd:"ALLOCSET",var:2,buff:s}),o.push({cmd:"ALLOC",var:3,len:n*Math.max(d,p)}),o.push({cmd:"CALL",fnName:l,params:[{var:0},{val:n},{var:1},{var:2},{var:3}]}),u&&o.push({cmd:"CALL",fnName:u,params:[{var:3},{val:n},{var:3}]}),o.push({cmd:"GET",out:0,var:3,len:n*p}),g.push(i.queueAction(o)),E=r.mul(E,r.exp(s,n))}const m=await Promise.all(g);let w;w=t instanceof JI?new JI(f*p):new Uint8Array(f*p);let y=0;for(let t=0;t<m.length;t++)w.set(m[t][0],y),y+=m[t][0].byteLength;return w}}const oC=[1,1,1,1,2,3,4,5,6,7,7,8,9,10,11,12,13,13,14,15,16,16,17,17,17,17,17,17,17,17,17,17];function sC(t,e){const n=t[e],r=n.tm;async function i(t,r,i,o,s){if(!(t instanceof Uint8Array))throw o&&o.error(`${s} _multiExpChunk buffBases is not Uint8Array`),new Error(`${s} _multiExpChunk buffBases is not Uint8Array`);if(!(r instanceof Uint8Array))throw o&&o.error(`${s} _multiExpChunk buffScalars is not Uint8Array`),new Error(`${s} _multiExpChunk buffScalars is not Uint8Array`);let a,c;if(i=i||"affine","G1"==e)"affine"==i?(c="g1m_multiexpAffine_chunk",a=2*n.F.n8):(c="g1m_multiexp_chunk",a=3*n.F.n8);else{if("G2"!=e)throw new Error("Invalid group");"affine"==i?(c="g2m_multiexpAffine_chunk",a=2*n.F.n8):(c="g2m_multiexp_chunk",a=3*n.F.n8)}const l=Math.floor(t.byteLength/a);if(0==l)return n.zero;const u=Math.floor(r.byteLength/l);if(u*l!=r.byteLength)throw new Error("Scalar size does not match");const h=oC[GI(l)],d=Math.floor((8*u-1)/h)+1,p=[];for(let e=0;e<d;e++){const i=[{cmd:"ALLOCSET",var:0,buff:t},{cmd:"ALLOCSET",var:1,buff:r},{cmd:"ALLOC",var:2,len:3*n.F.n8},{cmd:"CALL",fnName:c,params:[{var:0},{var:1},{val:u},{val:l},{val:e*h},{val:Math.min(8*u-e*h,h)},{var:2}]},{cmd:"GET",out:0,var:2,len:3*n.F.n8}];p.push(n.tm.queueAction(i))}const f=await Promise.all(p);let A=n.zero;for(let t=f.length-1;t>=0;t--){if(!n.isZero(A))for(let t=0;t<h;t++)A=n.double(A);A=n.add(A,f[t][0])}return A}async function o(t,o,s,a,c){const l=1<<22;let u;if("G1"==e)u="affine"==s?2*n.F.n8:3*n.F.n8;else{if("G2"!=e)throw new Error("Invalid group");u="affine"==s?2*n.F.n8:3*n.F.n8}const h=Math.floor(t.byteLength/u);if(0==h)return n.zero;const d=Math.floor(o.byteLength/h);if(d*h!=o.byteLength)throw new Error("Scalar size does not match");const p=oC[GI(h)],f=Math.floor((8*d-1)/p)+1;let A;A=Math.floor(h/(r.concurrency/f)),A>l&&(A=l),A<1024&&(A=1024);const g=[];for(let e=0;e<h;e+=A){a&&a.debug(`Multiexp start: ${c}: ${e}/${h}`);const n=Math.min(h-e,A),r=t.slice(e*u,(e+n)*u),l=o.slice(e*d,(e+n)*d);g.push(i(r,l,s,a,c).then(t=>(a&&a.debug(`Multiexp end: ${c}: ${e}/${h}`),t)))}const E=await Promise.all(g);let m=n.zero;for(let t=E.length-1;t>=0;t--)m=n.add(m,E[t]);return m}n.multiExp=async function(t,e,n,r){return await o(t,e,"jacobian",n,r)},n.multiExpAffine=async function(t,e,n,r){return await o(t,e,"affine",n,r)}}function aC(t,e){const n=t[e],r=t.Fr,i=n.tm;async function o(t,a,c,l,u,h){c=c||"affine",l=l||"affine";let d,p,f,A,g,E,m,w;"G1"==e?("affine"==c?(d=2*n.F.n8,A="g1m_batchToJacobian"):d=3*n.F.n8,p=3*n.F.n8,a&&(w="g1m_fftFinal"),m="g1m_fftJoin",E="g1m_fftMix","affine"==l?(f=2*n.F.n8,g="g1m_batchToAffine"):f=3*n.F.n8):"G2"==e?("affine"==c?(d=2*n.F.n8,A="g2m_batchToJacobian"):d=3*n.F.n8,p=3*n.F.n8,a&&(w="g2m_fftFinal"),m="g2m_fftJoin",E="g2m_fftMix","affine"==l?(f=2*n.F.n8,g="g2m_batchToAffine"):f=3*n.F.n8):"Fr"==e&&(d=n.n8,p=n.n8,f=n.n8,a&&(w="frm_fftFinal"),E="frm_fftMix",m="frm_fftJoin");let y=!1;Array.isArray(t)?(t=HI(t,d),y=!0):t=t.slice(0,t.byteLength);const I=t.byteLength/d,C=GI(I);if(1<<C!=I)throw new Error("fft must be multiple of 2");if(C==r.s+1){let e;return e=a?await async function(t,e,n,i,a){let c,l;c=t.slice(0,t.byteLength/2),l=t.slice(t.byteLength/2,t.byteLength);const u=[];u.push(o(c,!0,e,"jacobian",i,a)),u.push(o(l,!0,e,"jacobian",i,a)),[c,l]=await Promise.all(u);const h=await s(c,l,"fftJoinExtInv",r.one,r.shiftInv,"jacobian",n,i,a);let d;d=h[0].byteLength>1<<28?new JI(2*h[0].byteLength):new Uint8Array(2*h[0].byteLength);return d.set(h[0]),d.set(h[1],h[0].byteLength),d}(t,c,l,u,h):await async function(t,e,n,i,a){let c,l;c=t.slice(0,t.byteLength/2),l=t.slice(t.byteLength/2,t.byteLength);const u=[];[c,l]=await s(c,l,"fftJoinExt",r.one,r.shift,e,"jacobian",i,a),u.push(o(c,!1,"jacobian",n,i,a)),u.push(o(l,!1,"jacobian",n,i,a));const h=await Promise.all(u);let d;d=h[0].byteLength>1<<28?new JI(2*h[0].byteLength):new Uint8Array(2*h[0].byteLength);return d.set(h[0]),d.set(h[1],h[0].byteLength),d}(t,c,l,u,h),y?jI(e,f):e}let B,T,D;a&&(B=r.inv(r.e(I))),VI(t,d);let b=Math.min(16384,I),M=I/b;for(;M<i.concurrency&&b>=16;)M*=2,b/=2;const N=GI(b),v=[];for(let e=0;e<M;e++){u&&u.debug(`${h}: fft ${C} mix start: ${e}/${M}`);const n=[];n.push({cmd:"ALLOC",var:0,len:p*b});const r=t.slice(b*e*d,b*(e+1)*d);n.push({cmd:"SET",var:0,buff:r}),A&&n.push({cmd:"CALL",fnName:A,params:[{var:0},{val:b},{var:0}]});for(let t=1;t<=N;t++)n.push({cmd:"CALL",fnName:E,params:[{var:0},{val:b},{val:t}]});N==C?(w&&(n.push({cmd:"ALLOCSET",var:1,buff:B}),n.push({cmd:"CALL",fnName:w,params:[{var:0},{val:b},{var:1}]})),g&&n.push({cmd:"CALL",fnName:g,params:[{var:0},{val:b},{var:0}]}),n.push({cmd:"GET",out:0,var:0,len:b*f})):n.push({cmd:"GET",out:0,var:0,len:p*b}),v.push(i.queueAction(n).then(t=>(u&&u.debug(`${h}: fft ${C} mix end: ${e}/${M}`),t)))}D=await Promise.all(v);for(let t=0;t<M;t++)D[t]=D[t][0];for(let t=N+1;t<=C;t++){u&&u.debug(`${h}: fft ${C} join: ${t}/${C}`);const e=1<<C-t,n=M/e,o=[];for(let s=0;s<e;s++)for(let a=0;a<n/2;a++){const c=r.exp(r.w[t],a*b),l=r.w[t],d=s*n+a,A=s*n+a+n/2,E=[];E.push({cmd:"ALLOCSET",var:0,buff:D[d]}),E.push({cmd:"ALLOCSET",var:1,buff:D[A]}),E.push({cmd:"ALLOCSET",var:2,buff:c}),E.push({cmd:"ALLOCSET",var:3,buff:l}),E.push({cmd:"CALL",fnName:m,params:[{var:0},{var:1},{val:b},{var:2},{var:3}]}),t==C?(w&&(E.push({cmd:"ALLOCSET",var:4,buff:B}),E.push({cmd:"CALL",fnName:w,params:[{var:0},{val:b},{var:4}]}),E.push({cmd:"CALL",fnName:w,params:[{var:1},{val:b},{var:4}]})),g&&(E.push({cmd:"CALL",fnName:g,params:[{var:0},{val:b},{var:0}]}),E.push({cmd:"CALL",fnName:g,params:[{var:1},{val:b},{var:1}]})),E.push({cmd:"GET",out:0,var:0,len:b*f}),E.push({cmd:"GET",out:1,var:1,len:b*f})):(E.push({cmd:"GET",out:0,var:0,len:b*p}),E.push({cmd:"GET",out:1,var:1,len:b*p})),o.push(i.queueAction(E).then(r=>(u&&u.debug(`${h}: fft ${C} join ${t}/${C} ${s+1}/${e} ${a}/${n/2}`),r)))}const s=await Promise.all(o);for(let t=0;t<e;t++)for(let e=0;e<n/2;e++){const r=t*n+e,i=t*n+e+n/2,o=s.shift();D[r]=o[0],D[i]=o[1]}}if(T=t instanceof JI?new JI(I*f):new Uint8Array(I*f),a){T.set(D[0].slice((b-1)*f));let t=f;for(let e=M-1;e>0;e--)T.set(D[e],t),t+=b*f,delete D[e];T.set(D[0].slice(0,(b-1)*f),t),delete D[0]}else for(let t=0;t<M;t++)T.set(D[t],b*f*t),delete D[t];return y?jI(T,f):T}async function s(t,o,s,a,c,l,u,h,d){let p,f,A,g,E,m;if("G1"==e)"affine"==l?(E=2*n.F.n8,f="g1m_batchToJacobian"):E=3*n.F.n8,m=3*n.F.n8,p="g1m_"+s,"affine"==u?(A="g1m_batchToAffine",g=2*n.F.n8):g=3*n.F.n8;else if("G2"==e)"affine"==l?(E=2*n.F.n8,f="g2m_batchToJacobian"):E=3*n.F.n8,p="g2m_"+s,m=3*n.F.n8,"affine"==u?(A="g2m_batchToAffine",g=2*n.F.n8):g=3*n.F.n8;else{if("Fr"!=e)throw new Error("Invalid group");E=r.n8,g=r.n8,m=r.n8,p="frm_"+s}if(t.byteLength!=o.byteLength)throw new Error("Invalid buffer size");const w=Math.floor(t.byteLength/E);if(w!=1<<GI(w))throw new Error("Invalid number of points");let y=Math.floor(w/i.concurrency);y<16&&(y=16),y>65536&&(y=65536);const I=[];for(let e=0;e<w;e+=y){h&&h.debug(`${d}: fftJoinExt Start: ${e}/${w}`);const n=Math.min(w-e,y),s=r.mul(a,r.exp(c,e)),l=[],u=t.slice(e*E,(e+n)*E),C=o.slice(e*E,(e+n)*E);l.push({cmd:"ALLOC",var:0,len:m*n}),l.push({cmd:"SET",var:0,buff:u}),l.push({cmd:"ALLOC",var:1,len:m*n}),l.push({cmd:"SET",var:1,buff:C}),l.push({cmd:"ALLOCSET",var:2,buff:s}),l.push({cmd:"ALLOCSET",var:3,buff:c}),f&&(l.push({cmd:"CALL",fnName:f,params:[{var:0},{val:n},{var:0}]}),l.push({cmd:"CALL",fnName:f,params:[{var:1},{val:n},{var:1}]})),l.push({cmd:"CALL",fnName:p,params:[{var:0},{var:1},{val:n},{var:2},{var:3},{val:r.s}]}),A&&(l.push({cmd:"CALL",fnName:A,params:[{var:0},{val:n},{var:0}]}),l.push({cmd:"CALL",fnName:A,params:[{var:1},{val:n},{var:1}]})),l.push({cmd:"GET",out:0,var:0,len:n*g}),l.push({cmd:"GET",out:1,var:1,len:n*g}),I.push(i.queueAction(l).then(t=>(h&&h.debug(`${d}: fftJoinExt End: ${e}/${w}`),t)))}const C=await Promise.all(I);let B,T;w*g>1<<28?(B=new JI(w*g),T=new JI(w*g)):(B=new Uint8Array(w*g),T=new Uint8Array(w*g));let D=0;for(let t=0;t<C.length;t++)B.set(C[t][0],D),T.set(C[t][1],D),D+=C[t][0].byteLength;return[B,T]}n.fft=async function(t,e,n,r,i){return await o(t,!1,e,n,r,i)},n.ifft=async function(t,e,n,r,i){return await o(t,!0,e,n,r,i)},n.lagrangeEvaluations=async function(t,i,a,c,l){let u;if(i=i||"affine",a=a||"affine","G1"==e)u="affine"==i?2*n.F.n8:3*n.F.n8;else if("G2"==e)u="affine"==i?2*n.F.n8:3*n.F.n8;else{if("Fr"!=e)throw new Error("Invalid group");u=r.n8}const h=t.byteLength/u,d=GI(h);if(2**d*u!=t.byteLength)throw c&&c.error("lagrangeEvaluations iinvalid input size"),new Error("lagrangeEvaluations invalid Input size");if(d<=r.s)return await n.ifft(t,i,a,c,l);if(d>r.s+1)throw c&&c.error("lagrangeEvaluations input too big"),new Error("lagrangeEvaluations input too big");let p=t.slice(0,t.byteLength/2),f=t.slice(t.byteLength/2,t.byteLength);const A=r.exp(r.shift,h/2),g=r.inv(r.sub(r.one,A));[p,f]=await s(p,f,"prepareLagrangeEvaluation",g,r.shiftInv,i,"jacobian",c,l+" prep");const E=[];let m;return E.push(o(p,!0,"jacobian",a,c,l+" t0")),E.push(o(f,!0,"jacobian",a,c,l+" t1")),[p,f]=await Promise.all(E),m=p.byteLength>1<<28?new JI(2*p.byteLength):new Uint8Array(2*p.byteLength),m.set(p),m.set(f,p.byteLength),m},n.fftMix=async function(t){const o=3*n.F.n8;let s,a;if("G1"==e)s="g1m_fftMix",a="g1m_fftJoin";else if("G2"==e)s="g2m_fftMix",a="g2m_fftJoin";else{if("Fr"!=e)throw new Error("Invalid group");s="frm_fftMix",a="frm_fftJoin"}const c=Math.floor(t.byteLength/o),l=GI(c);let u=1<<GI(i.concurrency);c<=2*u&&(u=1);const h=c/u,d=GI(h),p=[];for(let e=0;e<u;e++){const n=[],r=t.slice(e*h*o,(e+1)*h*o);n.push({cmd:"ALLOCSET",var:0,buff:r});for(let t=1;t<=d;t++)n.push({cmd:"CALL",fnName:s,params:[{var:0},{val:h},{val:t}]});n.push({cmd:"GET",out:0,var:0,len:h*o}),p.push(i.queueAction(n))}const f=await Promise.all(p),A=[];for(let t=0;t<f.length;t++)A[t]=f[t][0];for(let t=d+1;t<=l;t++){const e=1<<l-t,n=u/e,s=[];for(let c=0;c<e;c++)for(let e=0;e<n/2;e++){const l=r.exp(r.w[t],e*h),u=r.w[t],d=c*n+e,p=c*n+e+n/2,f=[];f.push({cmd:"ALLOCSET",var:0,buff:A[d]}),f.push({cmd:"ALLOCSET",var:1,buff:A[p]}),f.push({cmd:"ALLOCSET",var:2,buff:l}),f.push({cmd:"ALLOCSET",var:3,buff:u}),f.push({cmd:"CALL",fnName:a,params:[{var:0},{var:1},{val:h},{var:2},{var:3}]}),f.push({cmd:"GET",out:0,var:0,len:h*o}),f.push({cmd:"GET",out:1,var:1,len:h*o}),s.push(i.queueAction(f))}const c=await Promise.all(s);for(let t=0;t<e;t++)for(let e=0;e<n/2;e++){const r=t*n+e,i=t*n+e+n/2,o=c.shift();A[r]=o[0],A[i]=o[1]}}let g;g=t instanceof JI?new JI(c*o):new Uint8Array(c*o);let E=0;for(let t=0;t<u;t++)g.set(A[t],E),E+=A[t].byteLength;return g},n.fftJoin=async function(t,o,s,a){const c=3*n.F.n8;let l;if("G1"==e)l="g1m_fftJoin";else if("G2"==e)l="g2m_fftJoin";else{if("Fr"!=e)throw new Error("Invalid group");l="frm_fftJoin"}if(t.byteLength!=o.byteLength)throw new Error("Invalid buffer size");const u=Math.floor(t.byteLength/c);if(u!=1<<GI(u))throw new Error("Invalid number of points");let h=1<<GI(i.concurrency);u<=2*h&&(h=1);const d=u/h,p=[];for(let e=0;e<h;e++){const n=[],u=r.mul(s,r.exp(a,e*d)),h=t.slice(e*d*c,(e+1)*d*c),f=o.slice(e*d*c,(e+1)*d*c);n.push({cmd:"ALLOCSET",var:0,buff:h}),n.push({cmd:"ALLOCSET",var:1,buff:f}),n.push({cmd:"ALLOCSET",var:2,buff:u}),n.push({cmd:"ALLOCSET",var:3,buff:a}),n.push({cmd:"CALL",fnName:l,params:[{var:0},{var:1},{val:d},{var:2},{var:3}]}),n.push({cmd:"GET",out:0,var:0,len:d*c}),n.push({cmd:"GET",out:1,var:1,len:d*c}),p.push(i.queueAction(n))}const f=await Promise.all(p);let A,g;t instanceof JI?(A=new JI(u*c),g=new JI(u*c)):(A=new Uint8Array(u*c),g=new Uint8Array(u*c));let E=0;for(let t=0;t<f.length;t++)A.set(f[t][0],E),g.set(f[t][1],E),E+=f[t][0].byteLength;return[A,g]},n.fftFinal=async function(t,r){const o=3*n.F.n8,s=2*n.F.n8;let a,c;if("G1"==e)a="g1m_fftFinal",c="g1m_batchToAffine";else{if("G2"!=e)throw new Error("Invalid group");a="g2m_fftFinal",c="g2m_batchToAffine"}const l=Math.floor(t.byteLength/o);if(l!=1<<GI(l))throw new Error("Invalid number of points");const u=Math.floor(l/i.concurrency),h=[];for(let e=0;e<i.concurrency;e++){let n;if(n=e<i.concurrency-1?u:l-e*u,0==n)continue;const d=[],p=t.slice(e*u*o,(e*u+n)*o);d.push({cmd:"ALLOCSET",var:0,buff:p}),d.push({cmd:"ALLOCSET",var:1,buff:r}),d.push({cmd:"CALL",fnName:a,params:[{var:0},{val:n},{var:1}]}),d.push({cmd:"CALL",fnName:c,params:[{var:0},{val:n},{var:0}]}),d.push({cmd:"GET",out:0,var:0,len:n*s}),h.push(i.queueAction(d))}const d=await Promise.all(h);let p;p=t instanceof JI?new JI(l*s):new Uint8Array(l*s);let f=0;for(let t=d.length-1;t>=0;t--)p.set(d[t][0],f),f+=d[t][0].byteLength;return p}}async function cC(t){const e=await nC(t.wasm,t.singleThread),n={};return n.q=gw(t.wasm.q.toString()),n.r=gw(t.wasm.r.toString()),n.name=t.name,n.tm=e,n.prePSize=t.wasm.prePSize,n.preQSize=t.wasm.preQSize,n.Fr=new qI(e,"frm",t.n8r,t.r),n.F1=new qI(e,"f1m",t.n8q,t.q),n.F2=new KI(e,"f2m",n.F1),n.G1=new ZI(e,"g1m",n.F1,t.wasm.pG1gen,t.wasm.pG1b,t.cofactorG1),n.G2=new ZI(e,"g2m",n.F2,t.wasm.pG2gen,t.wasm.pG2b,t.cofactorG2),n.F6=new XI(e,"f6m",n.F2),n.F12=new KI(e,"ftm",n.F6),n.Gt=n.F12,iC(n,"G1"),iC(n,"G2"),iC(n,"Fr"),sC(n,"G1"),sC(n,"G2"),aC(n,"G1"),aC(n,"G2"),aC(n,"Fr"),function(t){const e=t.tm;t.pairing=function(n,r){e.startSyncOp();const i=e.allocBuff(t.G1.toJacobian(n)),o=e.allocBuff(t.G2.toJacobian(r)),s=e.alloc(t.Gt.n8);e.instance.exports[t.name+"_pairing"](i,o,s);const a=e.getBuff(s,t.Gt.n8);return e.endSyncOp(),a},t.pairingEq=async function(){let n,r;arguments.length%2==1?(n=arguments[arguments.length-1],r=(arguments.length-1)/2):(n=t.Gt.one,r=arguments.length/2);const i=[];for(let n=0;n<r;n++){const r=[],o=t.G1.toJacobian(arguments[2*n]);r.push({cmd:"ALLOCSET",var:0,buff:o}),r.push({cmd:"ALLOC",var:1,len:t.prePSize});const s=t.G2.toJacobian(arguments[2*n+1]);r.push({cmd:"ALLOCSET",var:2,buff:s}),r.push({cmd:"ALLOC",var:3,len:t.preQSize}),r.push({cmd:"ALLOC",var:4,len:t.Gt.n8}),r.push({cmd:"CALL",fnName:t.name+"_prepareG1",params:[{var:0},{var:1}]}),r.push({cmd:"CALL",fnName:t.name+"_prepareG2",params:[{var:2},{var:3}]}),r.push({cmd:"CALL",fnName:t.name+"_millerLoop",params:[{var:1},{var:3},{var:4}]}),r.push({cmd:"GET",out:0,var:4,len:t.Gt.n8}),i.push(e.queueAction(r))}const o=await Promise.all(i);e.startSyncOp();const s=e.alloc(t.Gt.n8);e.instance.exports.ftm_one(s);for(let t=0;t<o.length;t++){const n=e.allocBuff(o[t][0]);e.instance.exports.ftm_mul(s,n,s)}e.instance.exports[t.name+"_finalExponentiation"](s,s);const a=e.allocBuff(n),c=!!e.instance.exports.ftm_eq(s,a);return e.endSyncOp(),c},t.prepareG1=function(t){this.tm.startSyncOp();const e=this.tm.allocBuff(t),n=this.tm.alloc(this.prePSize);this.tm.instance.exports[this.name+"_prepareG1"](e,n);const r=this.tm.getBuff(n,this.prePSize);return this.tm.endSyncOp(),r},t.prepareG2=function(t){this.tm.startSyncOp();const e=this.tm.allocBuff(t),n=this.tm.alloc(this.preQSize);this.tm.instance.exports[this.name+"_prepareG2"](e,n);const r=this.tm.getBuff(n,this.preQSize);return this.tm.endSyncOp(),r},t.millerLoop=function(t,e){this.tm.startSyncOp();const n=this.tm.allocBuff(t),r=this.tm.allocBuff(e),i=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+"_millerLoop"](n,r,i);const o=this.tm.getBuff(i,this.Gt.n8);return this.tm.endSyncOp(),o},t.finalExponentiation=function(t){this.tm.startSyncOp();const e=this.tm.allocBuff(t),n=this.tm.alloc(this.Gt.n8);this.tm.instance.exports[this.name+"_finalExponentiation"](e,n);const r=this.tm.getBuff(n,this.Gt.n8);return this.tm.endSyncOp(),r}}(n),n.array2buffer=function(t,e){const n=new Uint8Array(e*t.length);for(let r=0;r<t.length;r++)n.set(t[r],r*e);return n},n.buffer2array=function(t,e){const n=t.byteLength/e,r=new Array(n);for(let i=0;i<n;i++)r[i]=t.slice(i*e,i*e+e);return r},n}function lC(t){return BigInt(t)}function uC(t){return t<0n}function hC(t){return 0n===t}function dC(t){const e=[],n=lC(t);return e.push(Number(0xFFn&n)),e.push(Number(n>>8n&0xFFn)),e.push(Number(n>>16n&0xFFn)),e.push(Number(n>>24n&0xFFn)),e}function pC(t){const e=function(t){for(var e=[],n=0;n<t.length;n++){var r=t.charCodeAt(n);r<128?e.push(r):r<2048?e.push(192|r>>6,128|63&r):r<55296||r>=57344?e.push(224|r>>12,128|r>>6&63,128|63&r):(n++,r=65536+((1023&r)<<10|1023&t.charCodeAt(n)),e.push(240|r>>18,128|r>>12&63,128|r>>6&63,128|63&r))}return e}(t);return[...mC(e.length),...e]}function fC(t){const e=[];let n=lC(t);if(uC(n))throw new Error("Number cannot be negative");for(;!hC(n);)e.push(Number(0x7Fn&n)),n>>=7n;0==e.length&&e.push(0);for(let t=0;t<e.length-1;t++)e[t]=128|e[t];return e}function AC(t){let e,n;const r=function(t){return uC(t)?t.toString(2).length-1:t.toString(2).length}(t);t<0?(n=!0,e=(1n<<BigInt(r))+t):(n=!1,e=lC(t));const i=7-r%7,o=(1<<7-i)-1|128,s=fC(e+((1n<<BigInt(i))-1n<<BigInt(r)));return n||(s[s.length-1]=s[s.length-1]&o),s}function gC(t){let e=lC(t);if(e>0xFFFFFFFFn)throw new Error("Number too big");if(e>0x7FFFFFFFn&&(e-=0x100000000n),e<-2147483648n)throw new Error("Number too small");return AC(e)}function EC(t){let e=lC(t);if(e>0xFFFFFFFFFFFFFFFFn)throw new Error("Number too big");if(e>0x7FFFFFFFFFFFFFFFn&&(e-=0x10000000000000000n),e<-9223372036854775808n)throw new Error("Number too small");return AC(e)}function mC(t){let e=lC(t);if(e>0xFFFFFFFFn)throw new Error("Number too big");return fC(e)}function wC(t){return Array.from(t,function(t){return("0"+(255&t).toString(16)).slice(-2)}).join("")}class yC{constructor(t){this.func=t,this.functionName=t.functionName,this.module=t.module}setLocal(t,e){const n=this.func.localIdxByName[t];if(void 0===n)throw new Error(`Local Variable not defined: Function: ${this.functionName} local: ${t} `);return[...e,33,...mC(n)]}teeLocal(t,e){const n=this.func.localIdxByName[t];if(void 0===n)throw new Error(`Local Variable not defined: Function: ${this.functionName} local: ${t} `);return[...e,34,...mC(n)]}getLocal(t){const e=this.func.localIdxByName[t];if(void 0===e)throw new Error(`Local Variable not defined: Function: ${this.functionName} local: ${t} `);return[32,...mC(e)]}i64_load8_s(t,e,n){return[...t,48,void 0===n?0:n,...mC(e||0)]}i64_load8_u(t,e,n){return[...t,49,void 0===n?0:n,...mC(e||0)]}i64_load16_s(t,e,n){return[...t,50,void 0===n?1:n,...mC(e||0)]}i64_load16_u(t,e,n){return[...t,51,void 0===n?1:n,...mC(e||0)]}i64_load32_s(t,e,n){return[...t,52,void 0===n?2:n,...mC(e||0)]}i64_load32_u(t,e,n){return[...t,53,void 0===n?2:n,...mC(e||0)]}i64_load(t,e,n){return[...t,41,void 0===n?3:n,...mC(e||0)]}i64_store(t,e,n,r){let i,o,s;return Array.isArray(e)?(i=0,o=3,s=e):Array.isArray(n)?(i=e,o=3,s=n):Array.isArray(r)&&(i=e,o=n,s=r),[...t,...s,55,o,...mC(i)]}i64_store32(t,e,n,r){let i,o,s;return Array.isArray(e)?(i=0,o=2,s=e):Array.isArray(n)?(i=e,o=2,s=n):Array.isArray(r)&&(i=e,o=n,s=r),[...t,...s,62,o,...mC(i)]}i64_store16(t,e,n,r){let i,o,s;return Array.isArray(e)?(i=0,o=1,s=e):Array.isArray(n)?(i=e,o=1,s=n):Array.isArray(r)&&(i=e,o=n,s=r),[...t,...s,61,o,...mC(i)]}i64_store8(t,e,n,r){let i,o,s;return Array.isArray(e)?(i=0,o=0,s=e):Array.isArray(n)?(i=e,o=0,s=n):Array.isArray(r)&&(i=e,o=n,s=r),[...t,...s,60,o,...mC(i)]}i32_load8_s(t,e,n){return[...t,44,void 0===n?0:n,...mC(e||0)]}i32_load8_u(t,e,n){return[...t,45,void 0===n?0:n,...mC(e||0)]}i32_load16_s(t,e,n){return[...t,46,void 0===n?1:n,...mC(e||0)]}i32_load16_u(t,e,n){return[...t,47,void 0===n?1:n,...mC(e||0)]}i32_load(t,e,n){return[...t,40,void 0===n?2:n,...mC(e||0)]}i32_store(t,e,n,r){let i,o,s;return Array.isArray(e)?(i=0,o=2,s=e):Array.isArray(n)?(i=e,o=2,s=n):Array.isArray(r)&&(i=e,o=n,s=r),[...t,...s,54,o,...mC(i)]}i32_store16(t,e,n,r){let i,o,s;return Array.isArray(e)?(i=0,o=1,s=e):Array.isArray(n)?(i=e,o=1,s=n):Array.isArray(r)&&(i=e,o=n,s=r),[...t,...s,59,o,...mC(i)]}i32_store8(t,e,n,r){let i,o,s;return Array.isArray(e)?(i=0,o=0,s=e):Array.isArray(n)?(i=e,o=0,s=n):Array.isArray(r)&&(i=e,o=n,s=r),[...t,...s,58,o,...mC(i)]}call(t,...e){const n=this.module.functionIdxByName[t];if(void 0===n)throw new Error(`Function not defined: Function: ${t}`);return[...[].concat(...e),16,...mC(n)]}call_indirect(t,...e){return[...[].concat(...e),...t,17,0,0]}if(t,e,n){return n?[...t,4,64,...e,5,...n,11]:[...t,4,64,...e,11]}block(t){return[2,64,...t,11]}loop(...t){return[3,64,...[].concat(...t),11]}br_if(t,e){return[...e,13,...mC(t)]}br(t){return[12,...mC(t)]}ret(t){return[...t,15]}drop(t){return[...t,26]}i64_const(t){return[66,...EC(t)]}i32_const(t){return[65,...gC(t)]}i64_eqz(t){return[...t,80]}i64_eq(t,e){return[...t,...e,81]}i64_ne(t,e){return[...t,...e,82]}i64_lt_s(t,e){return[...t,...e,83]}i64_lt_u(t,e){return[...t,...e,84]}i64_gt_s(t,e){return[...t,...e,85]}i64_gt_u(t,e){return[...t,...e,86]}i64_le_s(t,e){return[...t,...e,87]}i64_le_u(t,e){return[...t,...e,88]}i64_ge_s(t,e){return[...t,...e,89]}i64_ge_u(t,e){return[...t,...e,90]}i64_add(t,e){return[...t,...e,124]}i64_sub(t,e){return[...t,...e,125]}i64_mul(t,e){return[...t,...e,126]}i64_div_s(t,e){return[...t,...e,127]}i64_div_u(t,e){return[...t,...e,128]}i64_rem_s(t,e){return[...t,...e,129]}i64_rem_u(t,e){return[...t,...e,130]}i64_and(t,e){return[...t,...e,131]}i64_or(t,e){return[...t,...e,132]}i64_xor(t,e){return[...t,...e,133]}i64_shl(t,e){return[...t,...e,134]}i64_shr_s(t,e){return[...t,...e,135]}i64_shr_u(t,e){return[...t,...e,136]}i64_extend_i32_s(t){return[...t,172]}i64_extend_i32_u(t){return[...t,173]}i64_clz(t){return[...t,121]}i64_ctz(t){return[...t,122]}i32_eqz(t){return[...t,69]}i32_eq(t,e){return[...t,...e,70]}i32_ne(t,e){return[...t,...e,71]}i32_lt_s(t,e){return[...t,...e,72]}i32_lt_u(t,e){return[...t,...e,73]}i32_gt_s(t,e){return[...t,...e,74]}i32_gt_u(t,e){return[...t,...e,75]}i32_le_s(t,e){return[...t,...e,76]}i32_le_u(t,e){return[...t,...e,77]}i32_ge_s(t,e){return[...t,...e,78]}i32_ge_u(t,e){return[...t,...e,79]}i32_add(t,e){return[...t,...e,106]}i32_sub(t,e){return[...t,...e,107]}i32_mul(t,e){return[...t,...e,108]}i32_div_s(t,e){return[...t,...e,109]}i32_div_u(t,e){return[...t,...e,110]}i32_rem_s(t,e){return[...t,...e,111]}i32_rem_u(t,e){return[...t,...e,112]}i32_and(t,e){return[...t,...e,113]}i32_or(t,e){return[...t,...e,114]}i32_xor(t,e){return[...t,...e,115]}i32_shl(t,e){return[...t,...e,116]}i32_shr_s(t,e){return[...t,...e,117]}i32_shr_u(t,e){return[...t,...e,118]}i32_rotl(t,e){return[...t,...e,119]}i32_rotr(t,e){return[...t,...e,120]}i32_wrap_i64(t){return[...t,167]}i32_clz(t){return[...t,103]}i32_ctz(t){return[...t,104]}unreachable(){return[0]}current_memory(){return[63,0]}comment(){return[]}}const IC={i32:127,i64:126,f32:125,f64:124,anyfunc:112,func:96,emptyblock:64};class CC{constructor(t,e,n,r,i){if("import"==n)this.fnType="import",this.moduleName=r,this.fieldName=i;else{if("internal"!=n)throw new Error("Invalid function fnType: "+n);this.fnType="internal"}this.module=t,this.fnName=e,this.params=[],this.locals=[],this.localIdxByName={},this.code=[],this.returnType=null,this.nextLocal=0}addParam(t,e){if(this.localIdxByName[t])throw new Error(`param already exists. Function: ${this.fnName}, Param: ${t} `);const n=this.nextLocal++;this.localIdxByName[t]=n,this.params.push({type:e})}addLocal(t,e,n){const r=n||1;if(this.localIdxByName[t])throw new Error(`local already exists. Function: ${this.fnName}, Param: ${t} `);const i=this.nextLocal++;this.localIdxByName[t]=i,this.locals.push({type:e,length:r})}setReturnType(t){if(this.returnType)throw new Error(`returnType already defined. Function: ${this.fnName}`);this.returnType=t}getSignature(){return[96,...[...mC(this.params.length),...this.params.map(t=>IC[t.type])],...this.returnType?[1,IC[this.returnType]]:[0]]}getBody(){const t=this.locals.map(t=>[...mC(t.length),IC[t.type]]),e=[...mC(this.locals.length),...[].concat(...t),...this.code,11];return[...mC(e.length),...e]}addCode(...t){this.code.push(...[].concat(...t))}getCodeBuilder(){return new yC(this)}}class BC{constructor(){this.functions=[],this.functionIdxByName={},this.nImportFunctions=0,this.nInternalFunctions=0,this.memory={pagesSize:1,moduleName:"env",fieldName:"memory"},this.free=8,this.datas=[],this.modules={},this.exports=[],this.functionsTable=[]}build(){return this._setSignatures(),new Uint8Array([...dC(1836278016),...dC(1),...this._buildType(),...this._buildImport(),...this._buildFunctionDeclarations(),...this._buildFunctionsTable(),...this._buildExports(),...this._buildElements(),...this._buildCode(),...this._buildData()])}addFunction(t){if(void 0!==this.functionIdxByName[t])throw new Error(`Function already defined: ${t}`);const e=this.functions.length;return this.functionIdxByName[t]=e,this.functions.push(new CC(this,t,"internal")),this.nInternalFunctions++,this.functions[e]}addIimportFunction(t,e,n){if(void 0!==this.functionIdxByName[t])throw new Error(`Function already defined: ${t}`);if(this.functions.length>0&&"internal"==this.functions[this.functions.length-1].type)throw new Error(`Import functions must be declared before internal: ${t}`);let r=n||t;const i=this.functions.length;return this.functionIdxByName[t]=i,this.functions.push(new CC(this,t,"import",e,r)),this.nImportFunctions++,this.functions[i]}setMemory(t,e,n){this.memory={pagesSize:t,moduleName:e||"env",fieldName:n||"memory"}}exportFunction(t,e){const n=e||t;if(void 0===this.functionIdxByName[t])throw new Error(`Function not defined: ${t}`);const r=this.functionIdxByName[t];n!=t&&(this.functionIdxByName[n]=r),this.exports.push({exportName:n,idx:r})}addFunctionToTable(t){const e=this.functionIdxByName[t];this.functionsTable.push(e)}addData(t,e){this.datas.push({offset:t,bytes:e})}alloc(t,e){let n,r;(Array.isArray(t)||ArrayBuffer.isView(t))&&void 0===e?(n=t.length,r=t):(n=t,r=e),n=1+(n-1>>3)<<3;const i=this.free;return this.free+=n,r&&this.addData(i,r),i}allocString(t){const e=(new globalThis.TextEncoder).encode(t);return this.alloc([...e,0])}_setSignatures(){this.signatures=[];const t={};if(this.functionsTable.length>0){const e=this.functions[this.functionsTable[0]].getSignature();t["s_"+wC(e)]=0,this.signatures.push(e)}for(let e=0;e<this.functions.length;e++){const n=this.functions[e].getSignature(),r="s_"+wC(n);void 0===t[r]&&(t[r]=this.signatures.length,this.signatures.push(n)),this.functions[e].signatureIdx=t[r]}}_buildSection(t,e){return[t,...mC(e.length),...e]}_buildType(){return this._buildSection(1,[...mC(this.signatures.length),...[].concat(...this.signatures)])}_buildImport(){const t=[];t.push([...pC(this.memory.moduleName),...pC(this.memory.fieldName),2,0,...mC(this.memory.pagesSize)]);for(let e=0;e<this.nImportFunctions;e++)t.push([...pC(this.functions[e].moduleName),...pC(this.functions[e].fieldName),0,...mC(this.functions[e].signatureIdx)]);return this._buildSection(2,mC(t.length).concat(...t))}_buildFunctionDeclarations(){const t=[];for(let e=this.nImportFunctions;e<this.nImportFunctions+this.nInternalFunctions;e++)t.push(...mC(this.functions[e].signatureIdx));return this._buildSection(3,[...mC(t.length),...t])}_buildFunctionsTable(){return 0==this.functionsTable.length?[]:this._buildSection(4,[...mC(1),112,0,...mC(this.functionsTable.length)])}_buildElements(){if(0==this.functionsTable.length)return[];const t=[];for(let e=0;e<this.functionsTable.length;e++)t.push(...mC(this.functionsTable[e]));return this._buildSection(9,[...mC(1),...mC(0),65,...gC(0),11,...mC(this.functionsTable.length),...t])}_buildExports(){const t=[];for(let e=0;e<this.exports.length;e++)t.push([...pC(this.exports[e].exportName),0,...mC(this.exports[e].idx)]);return this._buildSection(7,mC(t.length).concat(...t))}_buildCode(){const t=[];for(let e=this.nImportFunctions;e<this.nImportFunctions+this.nInternalFunctions;e++)t.push(this.functions[e].getBody());return this._buildSection(10,mC(t.length).concat(...t))}_buildData(){const t=[];t.push([0,65,0,11,4,...dC(this.free)]);for(let e=0;e<this.datas.length;e++)t.push([0,65,...gC(this.datas[e].offset),11,...mC(this.datas[e].bytes.length),...this.datas[e].bytes]);return this._buildSection(11,mC(t.length).concat(...t))}}async function TC(t,e){if(!t&&globalThis.curve_bn128)return globalThis.curve_bn128;const n=new BC;n.setMemory(25),FI(n),e&&e(n);const r={};r.code=n.build(),r.pq=n.modules.f1m.pq,r.pr=n.modules.frm.pq,r.pG1gen=n.modules.bn128.pG1gen,r.pG1zero=n.modules.bn128.pG1zero,r.pG1b=n.modules.bn128.pG1b,r.pG2gen=n.modules.bn128.pG2gen,r.pG2zero=n.modules.bn128.pG2zero,r.pG2b=n.modules.bn128.pG2b,r.pOneT=n.modules.bn128.pOneT,r.prePSize=n.modules.bn128.prePSize,r.preQSize=n.modules.bn128.preQSize,r.n8q=32,r.n8r=32,r.q=n.modules.bn128.q,r.r=n.modules.bn128.r;const i={name:"bn128",wasm:r,q:gw("21888242871839275222246405745257275088696311157297823662689037894645226208583"),r:gw("21888242871839275222246405745257275088548364400416034343698204186575808495617"),n8q:32,n8r:32,cofactorG2:gw("30644e72e131a029b85045b68181585e06ceecda572a2489345f2299c0f9fa8d",16),singleThread:!!t},o=await cC(i);return o.terminate=async function(){i.singleThread||(globalThis.curve_bn128=null,await this.tm.terminate())},t||(globalThis.curve_bn128=o),o}async function DC(t,e){if(!t&&globalThis.curve_bls12381)return globalThis.curve_bls12381;const n=new BC;n.setMemory(25),OI(n),e&&e(n);const r={};r.code=n.build(),r.pq=n.modules.f1m.pq,r.pr=n.modules.frm.pq,r.pG1gen=n.modules.bls12381.pG1gen,r.pG1zero=n.modules.bls12381.pG1zero,r.pG1b=n.modules.bls12381.pG1b,r.pG2gen=n.modules.bls12381.pG2gen,r.pG2zero=n.modules.bls12381.pG2zero,r.pG2b=n.modules.bls12381.pG2b,r.pOneT=n.modules.bls12381.pOneT,r.prePSize=n.modules.bls12381.prePSize,r.preQSize=n.modules.bls12381.preQSize,r.n8q=48,r.n8r=32,r.q=n.modules.bls12381.q,r.r=n.modules.bls12381.r;const i={name:"bls12381",wasm:r,q:gw("1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab",16),r:gw("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),n8q:48,n8r:32,cofactorG1:gw("0x396c8c005555e1568c00aaab0000aaab",16),cofactorG2:gw("0x5d543a95414e7f1091d50792876a202cd91de4547085abaa68a205b2e5a7ddfa628f1cb4d9e82ef21537e293a6691ae1616ec6e786f0c70cf1c38e31c7238e5",16),singleThread:!!t},o=await cC(i);return o.terminate=async function(){i.singleThread||(globalThis.curve_bls12381=null,await this.tm.terminate())},t||(globalThis.curve_bls12381=o),o}globalThis.curve_bn128=null,globalThis.curve_bls12381=null;const bC=gw("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),MC=gw("21888242871839275222246405745257275088548364400416034343698204186575808495617");gw("1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab",16),gw("21888242871839275222246405745257275088696311157297823662689037894645226208583");const NC=Jw,vC=YI;var SC=s(5606),_C={};async function LC(t,e,n,r){if(n=n||262144,"number"!=typeof e&&["w+","wx+","r","ax+","a+"].indexOf(e)<0)throw new Error("Invalid open option");const i=await _C.promises.open(t,e),o=await i.stat();return new xC(i,o,n,r,t)}class xC{constructor(t,e,n,r,i){for(this.fileName=i,this.fd=t,this.pos=0,this.pageSize=r||256;this.pageSize<e.blksize;)this.pageSize*=2;this.totalSize=e.size,this.totalPages=Math.floor((e.size-1)/this.pageSize)+1,this.maxPagesLoaded=Math.floor(n/this.pageSize)+1,this.pages={},this.pendingLoads=[],this.writing=!1,this.reading=!1,this.avBuffs=[],this.history={}}_loadPage(t){const e=this,n=new Promise((n,r)=>{e.pendingLoads.push({page:t,resolve:n,reject:r})});return e.__statusPage("After Load request: ",t),n}__statusPage(t,e){const n=[],r=this;if(!r.logHistory)return;n.push("=="+t+" "+e);let i="";for(let t=0;t<r.pendingLoads.length;t++)r.pendingLoads[t].page==e&&(i=i+" "+t);if(i&&n.push("Pending loads:"+i),void 0!==r.pages[e]){const t=r.pages[e];n.push("Loaded"),n.push("pendingOps: "+t.pendingOps),t.loading&&n.push("loading: "+t.loading),t.writing&&n.push("writing"),t.dirty&&n.push("dirty")}n.push("=="),r.history[e]||(r.history[e]=[]),r.history[e].push(n)}__printHistory(t){const e=this;e.history[t]||console.log("Empty History ",t),console.log("History "+t);for(let n=0;n<e.history[t].length;n++)for(let r=0;r<e.history[t][n].length;r++)console.log("-> "+e.history[t][n][r])}_triggerLoad(){const t=this;if(t.reading)return;if(0==t.pendingLoads.length)return;const e=Object.keys(t.pages),n=[];for(let r=0;r<e.length;r++){const i=t.pages[parseInt(e[r])];0!=i.dirty||0!=i.pendingOps||i.writing||i.loading||n.push(parseInt(e[r]))}let r=t.maxPagesLoaded-e.length;const i=[];for(;t.pendingLoads.length>0&&(void 0!==t.pages[t.pendingLoads[0].page]||r>0||n.length>0);){const e=t.pendingLoads.shift();if(void 0!==t.pages[e.page]){t.pages[e.page].pendingOps++;const r=n.indexOf(e.page);r>=0&&n.splice(r,1),t.pages[e.page].loading?t.pages[e.page].loading.push(e):e.resolve(),t.__statusPage("After Load (cached): ",e.page)}else{if(r)r--;else{const e=n.shift();t.__statusPage("Before Unload: ",e),t.avBuffs.unshift(t.pages[e]),delete t.pages[e],t.__statusPage("After Unload: ",e)}e.page>=t.totalPages?(t.pages[e.page]=o(),e.resolve(),t.__statusPage("After Load (new): ",e.page)):(t.reading=!0,t.pages[e.page]=o(),t.pages[e.page].loading=[e],i.push(t.fd.read(t.pages[e.page].buff,0,t.pageSize,e.page*t.pageSize).then(n=>{t.pages[e.page].size=n.bytesRead;const r=t.pages[e.page].loading;delete t.pages[e.page].loading;for(let t=0;t<r.length;t++)r[t].resolve();return t.__statusPage("After Load (loaded): ",e.page),n},t=>{e.reject(t)})),t.__statusPage("After Load (loading): ",e.page))}}function o(){if(t.avBuffs.length>0){const e=t.avBuffs.shift();return e.dirty=!1,e.pendingOps=1,e.size=0,e}return{dirty:!1,buff:new Uint8Array(t.pageSize),pendingOps:1,size:0}}Promise.all(i).then(()=>{t.reading=!1,t.pendingLoads.length>0&&setImmediate(t._triggerLoad.bind(t)),t._tryClose()})}_triggerWrite(){const t=this;if(t.writing)return;const e=Object.keys(t.pages),n=[];for(let r=0;r<e.length;r++){const i=t.pages[parseInt(e[r])];i.dirty&&(i.dirty=!1,i.writing=!0,t.writing=!0,n.push(t.fd.write(i.buff,0,i.size,parseInt(e[r])*t.pageSize).then(()=>{i.writing=!1},e=>{console.log("ERROR Writing: "+e),t.error=e,t._tryClose()})))}t.writing&&Promise.all(n).then(()=>{t.writing=!1,setImmediate(t._triggerWrite.bind(t)),t._tryClose(),t.pendingLoads.length>0&&setImmediate(t._triggerLoad.bind(t))})}_getDirtyPage(){for(let t in this.pages)if(this.pages[t].dirty)return t;return-1}async write(t,e){if(0==t.byteLength)return;const n=this;if(void 0===e&&(e=n.pos),n.pos=e+t.byteLength,n.totalSize<e+t.byteLength&&(n.totalSize=e+t.byteLength),n.pendingClose)throw new Error("Writing a closing file");const r=Math.floor(e/n.pageSize),i=Math.floor((e+t.byteLength-1)/n.pageSize),o=[];for(let t=r;t<=i;t++)o.push(n._loadPage(t));n._triggerLoad();let s=r,a=e%n.pageSize,c=t.byteLength;for(;c>0;){await o[s-r];const e=a+c>n.pageSize?n.pageSize-a:c,i=t.slice(t.byteLength-c,t.byteLength-c+e);new Uint8Array(n.pages[s].buff.buffer,a,e).set(i),n.pages[s].dirty=!0,n.pages[s].pendingOps--,n.pages[s].size=Math.max(a+e,n.pages[s].size),s>=n.totalPages&&(n.totalPages=s+1),c-=e,s++,a=0,n.writing||setImmediate(n._triggerWrite.bind(n))}}async read(t,e){let n=new Uint8Array(t);return await this.readToBuffer(n,0,t,e),n}async readToBuffer(t,e,n,r){if(0==n)return;const i=this;if(n>i.pageSize*i.maxPagesLoaded*.8){const t=Math.floor(1.1*n);this.maxPagesLoaded=Math.floor(t/i.pageSize)+1}if(void 0===r&&(r=i.pos),i.pos=r+n,i.pendingClose)throw new Error("Reading a closing file");const o=Math.floor(r/i.pageSize),s=Math.floor((r+n-1)/i.pageSize),a=[];for(let t=o;t<=s;t++)a.push(i._loadPage(t));i._triggerLoad();let c=o,l=r%i.pageSize,u=r+n>i.totalSize?n-(r+n-i.totalSize):n;for(;u>0;){await a[c-o],i.__statusPage("After Await (read): ",c);const r=l+u>i.pageSize?i.pageSize-l:u,s=new Uint8Array(i.pages[c].buff.buffer,i.pages[c].buff.byteOffset+l,r);t.set(s,e+n-u),i.pages[c].pendingOps--,i.__statusPage("After Op done: ",c),u-=r,c++,l=0,i.pendingLoads.length>0&&setImmediate(i._triggerLoad.bind(i))}this.pos=r+n}_tryClose(){const t=this;if(!t.pendingClose)return;t.error&&t.pendingCloseReject(t.error);t._getDirtyPage()>=0||t.writing||t.reading||t.pendingLoads.length>0||t.pendingClose()}close(){const t=this;if(t.pendingClose)throw new Error("Closing the file twice");return new Promise((e,n)=>{t.pendingClose=e,t.pendingCloseReject=n,t._tryClose()}).then(()=>{t.fd.close()},e=>{throw t.fd.close(),e})}async discard(){await this.close(),await _C.promises.unlink(this.fileName)}async writeULE32(t,e){const n=new Uint8Array(4);new DataView(n.buffer).setUint32(0,t,!0),await this.write(n,e)}async writeUBE32(t,e){const n=new Uint8Array(4);new DataView(n.buffer).setUint32(0,t,!1),await this.write(n,e)}async writeULE64(t,e){const n=new Uint8Array(8),r=new DataView(n.buffer);r.setUint32(0,4294967295&t,!0),r.setUint32(4,Math.floor(t/4294967296),!0),await this.write(n,e)}async readULE32(t){const e=await this.read(4,t);return new Uint32Array(e.buffer)[0]}async readUBE32(t){const e=await this.read(4,t);return new DataView(e.buffer).getUint32(0,!1)}async readULE64(t){const e=await this.read(8,t),n=new Uint32Array(e.buffer);return 4294967296*n[1]+n[0]}async readString(t){const e=this;if(e.pendingClose)throw new Error("Reading a closing file");let n=void 0===t?e.pos:t,r=Math.floor(n/e.pageSize),i=!1,o="";for(;!i;){let t=e._loadPage(r);e._triggerLoad(),await t,e.__statusPage("After Await (read): ",r);let s=n%e.pageSize;const a=new Uint8Array(e.pages[r].buff.buffer,e.pages[r].buff.byteOffset+s,e.pageSize-s);let c=a.findIndex(t=>0===t);i=-1!==c,i?(o+=(new TextDecoder).decode(a.slice(0,c)),e.pos=r*this.pageSize+s+c+1):(o+=(new TextDecoder).decode(a),e.pos=r*this.pageSize+s+a.length),e.pages[r].pendingOps--,e.__statusPage("After Op done: ",r),n=e.pos,r++,e.pendingLoads.length>0&&setImmediate(e._triggerLoad.bind(e))}return o}}const RC=new Uint8Array(4),FC=new DataView(RC.buffer),OC=new Uint8Array(8),QC=new DataView(OC.buffer);class kC{constructor(){this.pageSize=16384}_resizeIfNeeded(t){if(t>this.allocSize){const e=Math.max(this.allocSize+(1<<20),Math.floor(1.1*this.allocSize),t),n=new Uint8Array(e);n.set(this.o.data),this.o.data=n,this.allocSize=e}}async write(t,e){if(void 0===e&&(e=this.pos),this.readOnly)throw new Error("Writing a read only file");this._resizeIfNeeded(e+t.byteLength),this.o.data.set(t.slice(),e),e+t.byteLength>this.totalSize&&(this.totalSize=e+t.byteLength),this.pos=e+t.byteLength}async readToBuffer(t,e,n,r){if(void 0===r&&(r=this.pos),this.readOnly&&r+n>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(r+n);const i=new Uint8Array(this.o.data.buffer,this.o.data.byteOffset+r,n);t.set(i,e),this.pos=r+n}async read(t,e){const n=new Uint8Array(t);return await this.readToBuffer(n,0,t,e),n}close(){this.o.data.byteLength!=this.totalSize&&(this.o.data=this.o.data.slice(0,this.totalSize))}async discard(){}async writeULE32(t,e){FC.setUint32(0,t,!0),await this.write(RC,e)}async writeUBE32(t,e){FC.setUint32(0,t,!1),await this.write(RC,e)}async writeULE64(t,e){QC.setUint32(0,4294967295&t,!0),QC.setUint32(4,Math.floor(t/4294967296),!0),await this.write(OC,e)}async readULE32(t){const e=await this.read(4,t);return new Uint32Array(e.buffer)[0]}async readUBE32(t){const e=await this.read(4,t);return new DataView(e.buffer).getUint32(0,!1)}async readULE64(t){const e=await this.read(8,t),n=new Uint32Array(e.buffer);return 4294967296*n[1]+n[0]}async readString(t){const e=this;let n=void 0===t?e.pos:t;if(n>this.totalSize){if(this.readOnly)throw new Error("Reading out of bounds");this._resizeIfNeeded(t)}const r=new Uint8Array(e.o.data.buffer,n,this.totalSize-n);let i=r.findIndex(t=>0===t),o="";return-1!==i?(o=(new TextDecoder).decode(r.slice(0,i)),e.pos=n+i+1):e.pos=n,o}}const UC=1<<22;const PC=new Uint8Array(4),GC=new DataView(PC.buffer),VC=new Uint8Array(8),HC=new DataView(VC.buffer);class jC{constructor(){this.pageSize=16384}_resizeIfNeeded(t){if(t<=this.totalSize)return;if(this.readOnly)throw new Error("Reading out of file bounds");const e=Math.floor((t-1)/UC)+1;for(let n=Math.max(this.o.data.length-1,0);n<e;n++){const r=new Uint8Array(n<e-1?UC:t-(e-1)*UC);n==this.o.data.length-1&&r.set(this.o.data[n]),this.o.data[n]=r}this.totalSize=t}async write(t,e){const n=this;if(void 0===e&&(e=n.pos),this.readOnly)throw new Error("Writing a read only file");this._resizeIfNeeded(e+t.byteLength);let r=Math.floor(e/UC),i=e%UC,o=t.byteLength;for(;o>0;){const e=i+o>UC?UC-i:o,s=t.slice(t.byteLength-o,t.byteLength-o+e);new Uint8Array(n.o.data[r].buffer,i,e).set(s),o-=e,r++,i=0}this.pos=e+t.byteLength}async readToBuffer(t,e,n,r){const i=this;if(void 0===r&&(r=i.pos),this.readOnly&&r+n>this.totalSize)throw new Error("Reading out of bounds");this._resizeIfNeeded(r+n);let o=Math.floor(r/UC),s=r%UC,a=n;for(;a>0;){const r=s+a>UC?UC-s:a,c=new Uint8Array(i.o.data[o].buffer,s,r);t.set(c,e+n-a),a-=r,o++,s=0}this.pos=r+n}async read(t,e){const n=new Uint8Array(t);return await this.readToBuffer(n,0,t,e),n}close(){}async discard(){}async writeULE32(t,e){GC.setUint32(0,t,!0),await this.write(PC,e)}async writeUBE32(t,e){GC.setUint32(0,t,!1),await this.write(PC,e)}async writeULE64(t,e){HC.setUint32(0,4294967295&t,!0),HC.setUint32(4,Math.floor(t/4294967296),!0),await this.write(VC,e)}async readULE32(t){const e=await this.read(4,t);return new Uint32Array(e.buffer)[0]}async readUBE32(t){const e=await this.read(4,t);return new DataView(e.buffer).getUint32(0,!1)}async readULE64(t){const e=await this.read(8,t),n=new Uint32Array(e.buffer);return 4294967296*n[1]+n[0]}async readString(t){const e=this;let n=void 0===t?e.pos:t;if(n>this.totalSize){if(this.readOnly)throw new Error("Reading out of bounds");this._resizeIfNeeded(t)}let r=!1,i="";for(;!r;){let t=Math.floor(n/UC),o=n%UC;if(void 0===e.o.data[t])throw new Error("ERROR");let s=Math.min(2048,e.o.data[t].length-o);const a=new Uint8Array(e.o.data[t].buffer,o,s);let c=a.findIndex(t=>0===t);r=-1!==c,r?(i+=(new TextDecoder).decode(a.slice(0,c)),e.pos=t*UC+o+c+1):(i+=(new TextDecoder).decode(a),e.pos=t*UC+o+a.length),n=e.pos}return i}}async function YC(t,e,n){if("string"==typeof t&&(t={type:"file",fileName:t,cacheSize:e||65536,pageSize:n||8192}),"file"==t.type)return await LC(t.fileName,1538,t.cacheSize,t.pageSize);if("mem"==t.type)return function(t){const e=t.initialSize||1<<20,n=new kC;return n.o=t,n.o.data=new Uint8Array(e),n.allocSize=e,n.totalSize=0,n.readOnly=!1,n.pos=0,n}(t);if("bigMem"==t.type)return function(t){const e=t.initialSize||0,n=new jC;n.o=t;const r=e?Math.floor((e-1)/UC)+1:0;n.o.data=[];for(let t=0;t<r-1;t++)n.o.data.push(new Uint8Array(UC));return r&&n.o.data.push(new Uint8Array(e-UC*(r-1))),n.totalSize=0,n.readOnly=!1,n.pos=0,n}(t);throw new Error("Invalid FastFile type: "+t.type)}async function zC(t,e,n){if(t instanceof Uint8Array&&(t={type:"mem",data:t}),"string"==typeof t){t={type:"mem",data:await fetch(t).then(function(t){return t.arrayBuffer()}).then(function(t){return new Uint8Array(t)})}}if("file"==t.type)return await LC(t.fileName,0,t.cacheSize,t.pageSize);if("mem"==t.type)return await function(t){const e=new kC;return e.o=t,e.allocSize=t.data.byteLength,e.totalSize=t.data.byteLength,e.readOnly=!0,e.pos=0,e}(t);if("bigMem"==t.type)return await function(t){const e=new jC;return e.o=t,e.totalSize=(t.data.length-1)*UC+t.data[t.data.length-1].byteLength,e.readOnly=!0,e.pos=0,e}(t);throw new Error("Invalid FastFile type: "+t.type)}async function JC(t,e,n,r,i){const o=await zC(t),s=await o.read(4);let a="";for(let t=0;t<4;t++)a+=String.fromCharCode(s[t]);if(a!=e)throw new Error(t+": Invalid File format");if(await o.readULE32()>n)throw new Error("Version not supported");const c=await o.readULE32();let l=[];for(let t=0;t<c;t++){let t=await o.readULE32(),e=await o.readULE64();void 0===l[t]&&(l[t]=[]),l[t].push({p:o.pos,size:e}),o.pos+=e}return{fd:o,sections:l}}async function WC(t,e,n,r,i,o){const s=await YC(t,i,o),a=new Uint8Array(4);for(let t=0;t<4;t++)a[t]=e.charCodeAt(t);return await s.write(a,0),await s.writeULE32(n),await s.writeULE32(r),s}async function qC(t,e){if(void 0!==t.writingSection)throw new Error("Already writing a section");await t.writeULE32(e),t.writingSection={pSectionSize:t.pos},await t.writeULE64(0)}async function KC(t){if(void 0===t.writingSection)throw new Error("Not writing a section");const e=t.pos-t.writingSection.pSectionSize-8,n=t.pos;t.pos=t.writingSection.pSectionSize,await t.writeULE64(e),t.pos=n,delete t.writingSection}async function XC(t,e,n){if(void 0!==t.readingSection)throw new Error("Already reading a section");if(!e[n])throw new Error(t.fileName+": Missing section "+n);if(e[n].length>1)throw new Error(t.fileName+": Section Duplicated "+n);t.pos=e[n][0].p,t.readingSection=e[n][0]}async function ZC(t,e){if(void 0===t.readingSection)throw new Error("Not reading a section");if(!e&&t.pos-t.readingSection.p!=t.readingSection.size)throw new Error("Invalid section size reading");delete t.readingSection}async function $C(t,e,n,r){const i=new Uint8Array(n);NC.toRprLE(i,0,e,n),await t.write(i,r)}async function tB(t,e,n){const r=await t.read(e,n);return NC.fromRprLE(r,0,e)}async function eB(t,e,n,r,i){void 0===i&&(i=e[r][0].size);const o=t.pageSize;await XC(t,e,r),await qC(n,r);for(let e=0;e<i;e+=o){const r=Math.min(i-e,o),s=await t.read(r);await n.write(s)}await KC(n),await ZC(t,i!=e[r][0].size)}async function nB(t,e,n,r,i){if((r=void 0===r?0:r)+(i=void 0===i?e[n][0].size-r:i)>e[n][0].size)throw new Error("Reading out of the range of the section");let o;return o=i<1<<30?new Uint8Array(i):new JI(i),await t.readToBuffer(o,0,i,e[n][0].p+r),o}async function rB(t,e,n,r,i){const o=16*t.pageSize;if(await XC(t,e,i),await XC(n,r,i),e[i][0].size!=r[i][0].size)return!1;const s=e[i][0].size;for(let e=0;e<s;e+=o){const r=Math.min(s-e,o),i=await t.read(r),a=await n.read(r);for(let t=0;t<r;t++)if(i[t]!=a[t])return!1}return await ZC(t),await ZC(n),!0}const iB=NC.e("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),oB=NC.e("21888242871839275222246405745257275088548364400416034343698204186575808495617"),sB=NC.e("1a0111ea397fe69a4b1ba7b6434bacd764774b84f38512bf6730d2a0f6b0f6241eabfffeb153ffffb9feffffffffaaab",16),aB=NC.e("21888242871839275222246405745257275088696311157297823662689037894645226208583");async function cB(t,e){let n,r=e&&e.singleThread;if(NC.eq(t,oB))n=await TC(r);else{if(!NC.eq(t,iB))throw new Error(`Curve not supported: ${NC.toString(t)}`);n=await DC(r)}return n}async function lB(t,e){let n,r=e&&e.singleThread;if(NC.eq(t,aB))n=await TC(r);else{if(!NC.eq(t,sB))throw new Error(`Curve not supported: ${NC.toString(t)}`);n=await DC(r)}return n}async function uB(t,e){let n,r=e&&e.singleThread;const i=t.toUpperCase().match(/[A-Za-z0-9]+/g).join("");if(["BN128","BN254","ALTBN128"].indexOf(i)>=0)n=await TC(r);else{if(!(["BLS12381"].indexOf(i)>=0))throw new Error(`Curve not supported: ${t}`);n=await DC(r)}return n}var hB="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},dB={exports:{}},pB=function t(e,n){if(!e){var r=new fB(n);throw Error.captureStackTrace&&Error.captureStackTrace(r,t),r}};class fB extends Error{}fB.prototype.name="AssertionError";var AB={exports:{}};function gB(t){return t.length}var EB={byteLength:gB,toString:function(t){const e=t.byteLength;let n="";for(let r=0;r<e;r++)n+=String.fromCharCode(t[r]);return n},write:function(t,e,n=0,r=gB(e)){const i=Math.min(r,t.byteLength-n);for(let r=0;r<i;r++)t[n+r]=e.charCodeAt(r);return i}};const mB="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",wB=new Uint8Array(256);for(let t=0;t<64;t++)wB[mB.charCodeAt(t)]=t;function yB(t){let e=t.length;return 61===t.charCodeAt(e-1)&&e--,e>1&&61===t.charCodeAt(e-1)&&e--,3*e>>>2}wB[45]=62,wB[95]=63;var IB={byteLength:yB,toString:function(t){const e=t.byteLength;let n="";for(let r=0;r<e;r+=3)n+=mB[t[r]>>2]+mB[(3&t[r])<<4|t[r+1]>>4]+mB[(15&t[r+1])<<2|t[r+2]>>6]+mB[63&t[r+2]];return e%3==2?n=n.substring(0,n.length-1)+"=":e%3==1&&(n=n.substring(0,n.length-2)+"=="),n},write:function(t,e,n=0,r=yB(e)){const i=Math.min(r,t.byteLength-n);for(let n=0,r=0;r<i;n+=4){const i=wB[e.charCodeAt(n)],o=wB[e.charCodeAt(n+1)],s=wB[e.charCodeAt(n+2)],a=wB[e.charCodeAt(n+3)];t[r++]=i<<2|o>>4,t[r++]=(15&o)<<4|s>>2,t[r++]=(3&s)<<6|63&a}return i}};function CB(t){return t.length>>>1}var BB={byteLength:CB,toString:function(t){const e=t.byteLength;t=new DataView(t.buffer,t.byteOffset,e);let n="",r=0;for(let i=e-e%4;r<i;r+=4)n+=t.getUint32(r).toString(16).padStart(8,"0");for(;r<e;r++)n+=t.getUint8(r).toString(16).padStart(2,"0");return n},write:function(t,e,n=0,r=CB(e)){const i=Math.min(r,t.byteLength-n);for(let r=0;r<i;r++){const i=TB(e.charCodeAt(2*r)),o=TB(e.charCodeAt(2*r+1));if(void 0===i||void 0===o)return t.subarray(0,r);t[n+r]=i<<4|o}return i}};function TB(t){return t>=48&&t<=57?t-48:t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:void 0}function DB(t){let e=0;for(let n=0,r=t.length;n<r;n++){const i=t.charCodeAt(n);if(i>=55296&&i<=56319&&n+1<r){const r=t.charCodeAt(n+1);if(r>=56320&&r<=57343){e+=4,n++;continue}}e+=i<=127?1:i<=2047?2:3}return e}let bB,MB;if("undefined"!=typeof TextDecoder){const t=new TextDecoder;bB=function(e){return t.decode(e)}}else bB=function(t){const e=t.byteLength;let n="",r=0;for(;r<e;){let i=t[r];if(i<=127){n+=String.fromCharCode(i),r++;continue}let o=0,s=0;if(i<=223?(o=1,s=31&i):i<=239?(o=2,s=15&i):i<=244&&(o=3,s=7&i),e-r-o>0){let e=0;for(;e<o;)i=t[r+e+1],s=s<<6|63&i,e+=1}else s=65533,o=e-r;n+=String.fromCodePoint(s),r+=o+1}return n};if("undefined"!=typeof TextEncoder){const t=new TextEncoder;MB=function(e,n,r=0,i=DB(n)){const o=Math.min(i,e.byteLength-r);return t.encodeInto(n,e.subarray(r,r+o)),o}}else MB=function(t,e,n=0,r=DB(e)){const i=Math.min(r,t.byteLength-n);t=t.subarray(n,n+i);let o=0,s=0;for(;o<e.length;){const n=e.codePointAt(o);if(n<=127){t[s++]=n,o++;continue}let r=0,i=0;for(n<=2047?(r=6,i=192):n<=65535?(r=12,i=224):n<=2097151&&(r=18,i=240),t[s++]=i|n>>r,r-=6;r>=0;)t[s++]=128|n>>r&63,r-=6;o+=n>=65536?2:1}return i};var NB={byteLength:DB,toString:bB,write:MB};function vB(t){return 2*t.length}var SB,_B,LB={byteLength:vB,toString:function(t){const e=t.byteLength;let n="";for(let r=0;r<e-1;r+=2)n+=String.fromCharCode(t[r]+256*t[r+1]);return n},write:function(t,e,n=0,r=vB(e)){const i=Math.min(r,t.byteLength-n);let o=i;for(let r=0;r<e.length&&!((o-=2)<0);++r){const i=e.charCodeAt(r),o=i>>8,s=i%256;t[n+2*r]=s,t[n+2*r+1]=o}return i}};!function(t,e){const n=EB,r=IB,i=BB,o=NB,s=LB,a=255===new Uint8Array(Uint16Array.of(255).buffer)[0];function c(t){switch(t){case"ascii":return n;case"base64":return r;case"hex":return i;case"utf8":case"utf-8":case void 0:return o;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return s;default:throw new Error(`Unknown encoding: ${t}`)}}function l(t){return t instanceof Uint8Array}function u(t,e,n){return"string"==typeof t?function(t,e){const n=c(e),r=new Uint8Array(n.byteLength(t));return n.write(r,t,0,r.byteLength),r}(t,e):Array.isArray(t)?function(t){const e=new Uint8Array(t.length);return e.set(t),e}(t):ArrayBuffer.isView(t)?function(t){const e=new Uint8Array(t.byteLength);return e.set(t),e}(t):function(t,e,n){return new Uint8Array(t,e,n)}(t,e,n)}function h(t,e,n,r,i){if(0===t.byteLength)return-1;if("string"==typeof n?(r=n,n=0):void 0===n?n=i?0:t.length-1:n<0&&(n+=t.byteLength),n>=t.byteLength){if(i)return-1;n=t.byteLength-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e)e=u(e,r);else if("number"==typeof e)return e&=255,i?t.indexOf(e,n):t.lastIndexOf(e,n);if(0===e.byteLength)return-1;if(i){let r=-1;for(let i=n;i<t.byteLength;i++)if(t[i]===e[-1===r?0:i-r]){if(-1===r&&(r=i),i-r+1===e.byteLength)return r}else-1!==r&&(i-=i-r),r=-1}else{n+e.byteLength>t.byteLength&&(n=t.byteLength-e.byteLength);for(let r=n;r>=0;r--){let n=!0;for(let i=0;i<e.byteLength;i++)if(t[r+i]!==e[i]){n=!1;break}if(n)return r}}return-1}function d(t,e,n,r){return h(t,e,n,r,!0)}function p(t,e,n){const r=t[e];t[e]=t[n],t[n]=r}t.exports=e={isBuffer:l,isEncoding:function(t){try{return c(t),!0}catch{return!1}},alloc:function(t,n,r){const i=new Uint8Array(t);return void 0!==n&&e.fill(i,n,0,i.byteLength,r),i},allocUnsafe:function(t){return new Uint8Array(t)},allocUnsafeSlow:function(t){return new Uint8Array(t)},byteLength:function(t,e){return c(e).byteLength(t)},compare:function(t,e){if(t===e)return 0;const n=Math.min(t.byteLength,e.byteLength);t=new DataView(t.buffer,t.byteOffset,t.byteLength),e=new DataView(e.buffer,e.byteOffset,e.byteLength);let r=0;for(let i=n-n%4;r<i;r+=4){if(t.getUint32(r,a)!==e.getUint32(r,a))break}for(;r<n;r++){const n=t.getUint8(r),i=e.getUint8(r);if(n<i)return-1;if(n>i)return 1}return t.byteLength>e.byteLength?1:t.byteLength<e.byteLength?-1:0},concat:function(t,e){void 0===e&&(e=t.reduce((t,e)=>t+e.byteLength,0));const n=new Uint8Array(e);let r=0;for(const e of t){if(r+e.byteLength>n.byteLength){const t=e.subarray(0,n.byteLength-r);return n.set(t,r),n}n.set(e,r),r+=e.byteLength}return n},copy:function(t,e,n=0,r=0,i=t.byteLength){if(i>0&&i<r)return 0;if(i===r)return 0;if(0===t.byteLength||0===e.byteLength)return 0;if(n<0)throw new RangeError("targetStart is out of range");if(r<0||r>=t.byteLength)throw new RangeError("sourceStart is out of range");if(i<0)throw new RangeError("sourceEnd is out of range");n>=e.byteLength&&(n=e.byteLength),i>t.byteLength&&(i=t.byteLength),e.byteLength-n<i-r&&(i=e.length-n+r);const o=i-r;return t===e?e.copyWithin(n,r,i):e.set(t.subarray(r,i),n),o},equals:function(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;const n=t.byteLength;t=new DataView(t.buffer,t.byteOffset,t.byteLength),e=new DataView(e.buffer,e.byteOffset,e.byteLength);let r=0;for(let i=n-n%4;r<i;r+=4)if(t.getUint32(r,a)!==e.getUint32(r,a))return!1;for(;r<n;r++)if(t.getUint8(r)!==e.getUint8(r))return!1;return!0},fill:function(t,e,n,r,i){if("string"==typeof e?"string"==typeof n?(i=n,n=0,r=t.byteLength):"string"==typeof r&&(i=r,r=t.byteLength):"number"==typeof e?e&=255:"boolean"==typeof e&&(e=+e),n<0||t.byteLength<n||t.byteLength<r)throw new RangeError("Out of range index");if(void 0===n&&(n=0),void 0===r&&(r=t.byteLength),r<=n)return t;if(e||(e=0),"number"==typeof e)for(let i=n;i<r;++i)t[i]=e;else{const o=(e=l(e)?e:u(e,i)).byteLength;for(let i=0;i<r-n;++i)t[i+n]=e[i%o]}return t},from:u,includes:function(t,e,n,r){return-1!==d(t,e,n,r)},indexOf:d,lastIndexOf:function(t,e,n,r){return h(t,e,n,r,!1)},swap16:function(t){const e=t.byteLength;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let n=0;n<e;n+=2)p(t,n,n+1);return t},swap32:function(t){const e=t.byteLength;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let n=0;n<e;n+=4)p(t,n,n+3),p(t,n+1,n+2);return t},swap64:function(t){const e=t.byteLength;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let n=0;n<e;n+=8)p(t,n,n+7),p(t,n+1,n+6),p(t,n+2,n+5),p(t,n+3,n+4);return t},toBuffer:function(t){return t},toString:function(t,e,n=0,r=t.byteLength){const i=t.byteLength;return n>=i||r<=n?"":(n<0&&(n=0),r>i&&(r=i),(0!==n||r<i)&&(t=t.subarray(n,r)),c(e).toString(t))},write:function(t,e,n,r,i){return void 0===n?i="utf8":void 0===r&&"string"==typeof n?(i=n,n=void 0):void 0===i&&"string"==typeof r&&(i=r,r=void 0),c(i).write(t,e,n,r)},writeDoubleLE:function(t,e,n){return void 0===n&&(n=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setFloat64(n,e,!0),n+8},writeFloatLE:function(t,e,n){return void 0===n&&(n=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setFloat32(n,e,!0),n+4},writeUInt32LE:function(t,e,n){return void 0===n&&(n=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setUint32(n,e,!0),n+4},writeInt32LE:function(t,e,n){return void 0===n&&(n=0),new DataView(t.buffer,t.byteOffset,t.byteLength).setInt32(n,e,!0),n+4},readDoubleLE:function(t,e){return void 0===e&&(e=0),new DataView(t.buffer,t.byteOffset,t.byteLength).getFloat64(e,!0)},readFloatLE:function(t,e){return void 0===e&&(e=0),new DataView(t.buffer,t.byteOffset,t.byteLength).getFloat32(e,!0)},readUInt32LE:function(t,e){return void 0===e&&(e=0),new DataView(t.buffer,t.byteOffset,t.byteLength).getUint32(e,!0)},readInt32LE:function(t,e){return void 0===e&&(e=0),new DataView(t.buffer,t.byteOffset,t.byteLength).getInt32(e,!0)}}}(AB,AB.exports);var xB=pB,RB=AB.exports,FB=null,OB="undefined"!=typeof WebAssembly&&function(){if(_B)return SB;_B=1;var t=(()=>{for(var t=new Uint8Array(128),e=0;e<64;e++)t[e<26?e+65:e<52?e+71:e<62?e-4:4*e-205]=e;return e=>{for(var n=e.length,r=new Uint8Array(3*(n-("="==e[n-1])-("="==e[n-2]))/4|0),i=0,o=0;i<n;){var s=t[e.charCodeAt(i++)],a=t[e.charCodeAt(i++)],c=t[e.charCodeAt(i++)],l=t[e.charCodeAt(i++)];r[o++]=s<<2|a>>4,r[o++]=a<<4|c>>2,r[o++]=c<<6|l}return r}})(),e=((t,e)=>function(){return e||(0,t[Object.keys(t)[0]])((e={exports:{}}).exports,e),e.exports})({"wasm-binary:./blake2b.wat"(e,n){n.exports=t("AGFzbQEAAAABEANgAn9/AGADf39/AGABfwADBQQAAQICBQUBAQroBwdNBQZtZW1vcnkCAAxibGFrZTJiX2luaXQAAA5ibGFrZTJiX3VwZGF0ZQABDWJsYWtlMmJfZmluYWwAAhBibGFrZTJiX2NvbXByZXNzAAMKvz8EwAIAIABCADcDACAAQgA3AwggAEIANwMQIABCADcDGCAAQgA3AyAgAEIANwMoIABCADcDMCAAQgA3AzggAEIANwNAIABCADcDSCAAQgA3A1AgAEIANwNYIABCADcDYCAAQgA3A2ggAEIANwNwIABCADcDeCAAQoiS853/zPmE6gBBACkDAIU3A4ABIABCu86qptjQ67O7f0EIKQMAhTcDiAEgAEKr8NP0r+68tzxBECkDAIU3A5ABIABC8e30+KWn/aelf0EYKQMAhTcDmAEgAELRhZrv+s+Uh9EAQSApAwCFNwOgASAAQp/Y+dnCkdqCm39BKCkDAIU3A6gBIABC6/qG2r+19sEfQTApAwCFNwOwASAAQvnC+JuRo7Pw2wBBOCkDAIU3A7gBIABCADcDwAEgAEIANwPIASAAQgA3A9ABC20BA38gAEHAAWohAyAAQcgBaiEEIAQpAwCnIQUCQANAIAEgAkYNASAFQYABRgRAIAMgAykDACAFrXw3AwBBACEFIAAQAwsgACAFaiABLQAAOgAAIAVBAWohBSABQQFqIQEMAAsLIAQgBa03AwALYQEDfyAAQcABaiEBIABByAFqIQIgASABKQMAIAIpAwB8NwMAIABCfzcD0AEgAikDAKchAwJAA0AgA0GAAUYNASAAIANqQQA6AAAgA0EBaiEDDAALCyACIAOtNwMAIAAQAwuqOwIgfgl/IABBgAFqISEgAEGIAWohIiAAQZABaiEjIABBmAFqISQgAEGgAWohJSAAQagBaiEmIABBsAFqIScgAEG4AWohKCAhKQMAIQEgIikDACECICMpAwAhAyAkKQMAIQQgJSkDACEFICYpAwAhBiAnKQMAIQcgKCkDACEIQoiS853/zPmE6gAhCUK7zqqm2NDrs7t/IQpCq/DT9K/uvLc8IQtC8e30+KWn/aelfyEMQtGFmu/6z5SH0QAhDUKf2PnZwpHagpt/IQ5C6/qG2r+19sEfIQ9C+cL4m5Gjs/DbACEQIAApAwAhESAAKQMIIRIgACkDECETIAApAxghFCAAKQMgIRUgACkDKCEWIAApAzAhFyAAKQM4IRggACkDQCEZIAApA0ghGiAAKQNQIRsgACkDWCEcIAApA2AhHSAAKQNoIR4gACkDcCEfIAApA3ghICANIAApA8ABhSENIA8gACkD0AGFIQ8gASAFIBF8fCEBIA0gAYVCIIohDSAJIA18IQkgBSAJhUIYiiEFIAEgBSASfHwhASANIAGFQhCKIQ0gCSANfCEJIAUgCYVCP4ohBSACIAYgE3x8IQIgDiAChUIgiiEOIAogDnwhCiAGIAqFQhiKIQYgAiAGIBR8fCECIA4gAoVCEIohDiAKIA58IQogBiAKhUI/iiEGIAMgByAVfHwhAyAPIAOFQiCKIQ8gCyAPfCELIAcgC4VCGIohByADIAcgFnx8IQMgDyADhUIQiiEPIAsgD3whCyAHIAuFQj+KIQcgBCAIIBd8fCEEIBAgBIVCIIohECAMIBB8IQwgCCAMhUIYiiEIIAQgCCAYfHwhBCAQIASFQhCKIRAgDCAQfCEMIAggDIVCP4ohCCABIAYgGXx8IQEgECABhUIgiiEQIAsgEHwhCyAGIAuFQhiKIQYgASAGIBp8fCEBIBAgAYVCEIohECALIBB8IQsgBiALhUI/iiEGIAIgByAbfHwhAiANIAKFQiCKIQ0gDCANfCEMIAcgDIVCGIohByACIAcgHHx8IQIgDSAChUIQiiENIAwgDXwhDCAHIAyFQj+KIQcgAyAIIB18fCEDIA4gA4VCIIohDiAJIA58IQkgCCAJhUIYiiEIIAMgCCAefHwhAyAOIAOFQhCKIQ4gCSAOfCEJIAggCYVCP4ohCCAEIAUgH3x8IQQgDyAEhUIgiiEPIAogD3whCiAFIAqFQhiKIQUgBCAFICB8fCEEIA8gBIVCEIohDyAKIA98IQogBSAKhUI/iiEFIAEgBSAffHwhASANIAGFQiCKIQ0gCSANfCEJIAUgCYVCGIohBSABIAUgG3x8IQEgDSABhUIQiiENIAkgDXwhCSAFIAmFQj+KIQUgAiAGIBV8fCECIA4gAoVCIIohDiAKIA58IQogBiAKhUIYiiEGIAIgBiAZfHwhAiAOIAKFQhCKIQ4gCiAOfCEKIAYgCoVCP4ohBiADIAcgGnx8IQMgDyADhUIgiiEPIAsgD3whCyAHIAuFQhiKIQcgAyAHICB8fCEDIA8gA4VCEIohDyALIA98IQsgByALhUI/iiEHIAQgCCAefHwhBCAQIASFQiCKIRAgDCAQfCEMIAggDIVCGIohCCAEIAggF3x8IQQgECAEhUIQiiEQIAwgEHwhDCAIIAyFQj+KIQggASAGIBJ8fCEBIBAgAYVCIIohECALIBB8IQsgBiALhUIYiiEGIAEgBiAdfHwhASAQIAGFQhCKIRAgCyAQfCELIAYgC4VCP4ohBiACIAcgEXx8IQIgDSAChUIgiiENIAwgDXwhDCAHIAyFQhiKIQcgAiAHIBN8fCECIA0gAoVCEIohDSAMIA18IQwgByAMhUI/iiEHIAMgCCAcfHwhAyAOIAOFQiCKIQ4gCSAOfCEJIAggCYVCGIohCCADIAggGHx8IQMgDiADhUIQiiEOIAkgDnwhCSAIIAmFQj+KIQggBCAFIBZ8fCEEIA8gBIVCIIohDyAKIA98IQogBSAKhUIYiiEFIAQgBSAUfHwhBCAPIASFQhCKIQ8gCiAPfCEKIAUgCoVCP4ohBSABIAUgHHx8IQEgDSABhUIgiiENIAkgDXwhCSAFIAmFQhiKIQUgASAFIBl8fCEBIA0gAYVCEIohDSAJIA18IQkgBSAJhUI/iiEFIAIgBiAdfHwhAiAOIAKFQiCKIQ4gCiAOfCEKIAYgCoVCGIohBiACIAYgEXx8IQIgDiAChUIQiiEOIAogDnwhCiAGIAqFQj+KIQYgAyAHIBZ8fCEDIA8gA4VCIIohDyALIA98IQsgByALhUIYiiEHIAMgByATfHwhAyAPIAOFQhCKIQ8gCyAPfCELIAcgC4VCP4ohByAEIAggIHx8IQQgECAEhUIgiiEQIAwgEHwhDCAIIAyFQhiKIQggBCAIIB58fCEEIBAgBIVCEIohECAMIBB8IQwgCCAMhUI/iiEIIAEgBiAbfHwhASAQIAGFQiCKIRAgCyAQfCELIAYgC4VCGIohBiABIAYgH3x8IQEgECABhUIQiiEQIAsgEHwhCyAGIAuFQj+KIQYgAiAHIBR8fCECIA0gAoVCIIohDSAMIA18IQwgByAMhUIYiiEHIAIgByAXfHwhAiANIAKFQhCKIQ0gDCANfCEMIAcgDIVCP4ohByADIAggGHx8IQMgDiADhUIgiiEOIAkgDnwhCSAIIAmFQhiKIQggAyAIIBJ8fCEDIA4gA4VCEIohDiAJIA58IQkgCCAJhUI/iiEIIAQgBSAafHwhBCAPIASFQiCKIQ8gCiAPfCEKIAUgCoVCGIohBSAEIAUgFXx8IQQgDyAEhUIQiiEPIAogD3whCiAFIAqFQj+KIQUgASAFIBh8fCEBIA0gAYVCIIohDSAJIA18IQkgBSAJhUIYiiEFIAEgBSAafHwhASANIAGFQhCKIQ0gCSANfCEJIAUgCYVCP4ohBSACIAYgFHx8IQIgDiAChUIgiiEOIAogDnwhCiAGIAqFQhiKIQYgAiAGIBJ8fCECIA4gAoVCEIohDiAKIA58IQogBiAKhUI/iiEGIAMgByAefHwhAyAPIAOFQiCKIQ8gCyAPfCELIAcgC4VCGIohByADIAcgHXx8IQMgDyADhUIQiiEPIAsgD3whCyAHIAuFQj+KIQcgBCAIIBx8fCEEIBAgBIVCIIohECAMIBB8IQwgCCAMhUIYiiEIIAQgCCAffHwhBCAQIASFQhCKIRAgDCAQfCEMIAggDIVCP4ohCCABIAYgE3x8IQEgECABhUIgiiEQIAsgEHwhCyAGIAuFQhiKIQYgASAGIBd8fCEBIBAgAYVCEIohECALIBB8IQsgBiALhUI/iiEGIAIgByAWfHwhAiANIAKFQiCKIQ0gDCANfCEMIAcgDIVCGIohByACIAcgG3x8IQIgDSAChUIQiiENIAwgDXwhDCAHIAyFQj+KIQcgAyAIIBV8fCEDIA4gA4VCIIohDiAJIA58IQkgCCAJhUIYiiEIIAMgCCARfHwhAyAOIAOFQhCKIQ4gCSAOfCEJIAggCYVCP4ohCCAEIAUgIHx8IQQgDyAEhUIgiiEPIAogD3whCiAFIAqFQhiKIQUgBCAFIBl8fCEEIA8gBIVCEIohDyAKIA98IQogBSAKhUI/iiEFIAEgBSAafHwhASANIAGFQiCKIQ0gCSANfCEJIAUgCYVCGIohBSABIAUgEXx8IQEgDSABhUIQiiENIAkgDXwhCSAFIAmFQj+KIQUgAiAGIBZ8fCECIA4gAoVCIIohDiAKIA58IQogBiAKhUIYiiEGIAIgBiAYfHwhAiAOIAKFQhCKIQ4gCiAOfCEKIAYgCoVCP4ohBiADIAcgE3x8IQMgDyADhUIgiiEPIAsgD3whCyAHIAuFQhiKIQcgAyAHIBV8fCEDIA8gA4VCEIohDyALIA98IQsgByALhUI/iiEHIAQgCCAbfHwhBCAQIASFQiCKIRAgDCAQfCEMIAggDIVCGIohCCAEIAggIHx8IQQgECAEhUIQiiEQIAwgEHwhDCAIIAyFQj+KIQggASAGIB98fCEBIBAgAYVCIIohECALIBB8IQsgBiALhUIYiiEGIAEgBiASfHwhASAQIAGFQhCKIRAgCyAQfCELIAYgC4VCP4ohBiACIAcgHHx8IQIgDSAChUIgiiENIAwgDXwhDCAHIAyFQhiKIQcgAiAHIB18fCECIA0gAoVCEIohDSAMIA18IQwgByAMhUI/iiEHIAMgCCAXfHwhAyAOIAOFQiCKIQ4gCSAOfCEJIAggCYVCGIohCCADIAggGXx8IQMgDiADhUIQiiEOIAkgDnwhCSAIIAmFQj+KIQggBCAFIBR8fCEEIA8gBIVCIIohDyAKIA98IQogBSAKhUIYiiEFIAQgBSAefHwhBCAPIASFQhCKIQ8gCiAPfCEKIAUgCoVCP4ohBSABIAUgE3x8IQEgDSABhUIgiiENIAkgDXwhCSAFIAmFQhiKIQUgASAFIB18fCEBIA0gAYVCEIohDSAJIA18IQkgBSAJhUI/iiEFIAIgBiAXfHwhAiAOIAKFQiCKIQ4gCiAOfCEKIAYgCoVCGIohBiACIAYgG3x8IQIgDiAChUIQiiEOIAogDnwhCiAGIAqFQj+KIQYgAyAHIBF8fCEDIA8gA4VCIIohDyALIA98IQsgByALhUIYiiEHIAMgByAcfHwhAyAPIAOFQhCKIQ8gCyAPfCELIAcgC4VCP4ohByAEIAggGXx8IQQgECAEhUIgiiEQIAwgEHwhDCAIIAyFQhiKIQggBCAIIBR8fCEEIBAgBIVCEIohECAMIBB8IQwgCCAMhUI/iiEIIAEgBiAVfHwhASAQIAGFQiCKIRAgCyAQfCELIAYgC4VCGIohBiABIAYgHnx8IQEgECABhUIQiiEQIAsgEHwhCyAGIAuFQj+KIQYgAiAHIBh8fCECIA0gAoVCIIohDSAMIA18IQwgByAMhUIYiiEHIAIgByAWfHwhAiANIAKFQhCKIQ0gDCANfCEMIAcgDIVCP4ohByADIAggIHx8IQMgDiADhUIgiiEOIAkgDnwhCSAIIAmFQhiKIQggAyAIIB98fCEDIA4gA4VCEIohDiAJIA58IQkgCCAJhUI/iiEIIAQgBSASfHwhBCAPIASFQiCKIQ8gCiAPfCEKIAUgCoVCGIohBSAEIAUgGnx8IQQgDyAEhUIQiiEPIAogD3whCiAFIAqFQj+KIQUgASAFIB18fCEBIA0gAYVCIIohDSAJIA18IQkgBSAJhUIYiiEFIAEgBSAWfHwhASANIAGFQhCKIQ0gCSANfCEJIAUgCYVCP4ohBSACIAYgEnx8IQIgDiAChUIgiiEOIAogDnwhCiAGIAqFQhiKIQYgAiAGICB8fCECIA4gAoVCEIohDiAKIA58IQogBiAKhUI/iiEGIAMgByAffHwhAyAPIAOFQiCKIQ8gCyAPfCELIAcgC4VCGIohByADIAcgHnx8IQMgDyADhUIQiiEPIAsgD3whCyAHIAuFQj+KIQcgBCAIIBV8fCEEIBAgBIVCIIohECAMIBB8IQwgCCAMhUIYiiEIIAQgCCAbfHwhBCAQIASFQhCKIRAgDCAQfCEMIAggDIVCP4ohCCABIAYgEXx8IQEgECABhUIgiiEQIAsgEHwhCyAGIAuFQhiKIQYgASAGIBh8fCEBIBAgAYVCEIohECALIBB8IQsgBiALhUI/iiEGIAIgByAXfHwhAiANIAKFQiCKIQ0gDCANfCEMIAcgDIVCGIohByACIAcgFHx8IQIgDSAChUIQiiENIAwgDXwhDCAHIAyFQj+KIQcgAyAIIBp8fCEDIA4gA4VCIIohDiAJIA58IQkgCCAJhUIYiiEIIAMgCCATfHwhAyAOIAOFQhCKIQ4gCSAOfCEJIAggCYVCP4ohCCAEIAUgGXx8IQQgDyAEhUIgiiEPIAogD3whCiAFIAqFQhiKIQUgBCAFIBx8fCEEIA8gBIVCEIohDyAKIA98IQogBSAKhUI/iiEFIAEgBSAefHwhASANIAGFQiCKIQ0gCSANfCEJIAUgCYVCGIohBSABIAUgHHx8IQEgDSABhUIQiiENIAkgDXwhCSAFIAmFQj+KIQUgAiAGIBh8fCECIA4gAoVCIIohDiAKIA58IQogBiAKhUIYiiEGIAIgBiAffHwhAiAOIAKFQhCKIQ4gCiAOfCEKIAYgCoVCP4ohBiADIAcgHXx8IQMgDyADhUIgiiEPIAsgD3whCyAHIAuFQhiKIQcgAyAHIBJ8fCEDIA8gA4VCEIohDyALIA98IQsgByALhUI/iiEHIAQgCCAUfHwhBCAQIASFQiCKIRAgDCAQfCEMIAggDIVCGIohCCAEIAggGnx8IQQgECAEhUIQiiEQIAwgEHwhDCAIIAyFQj+KIQggASAGIBZ8fCEBIBAgAYVCIIohECALIBB8IQsgBiALhUIYiiEGIAEgBiARfHwhASAQIAGFQhCKIRAgCyAQfCELIAYgC4VCP4ohBiACIAcgIHx8IQIgDSAChUIgiiENIAwgDXwhDCAHIAyFQhiKIQcgAiAHIBV8fCECIA0gAoVCEIohDSAMIA18IQwgByAMhUI/iiEHIAMgCCAZfHwhAyAOIAOFQiCKIQ4gCSAOfCEJIAggCYVCGIohCCADIAggF3x8IQMgDiADhUIQiiEOIAkgDnwhCSAIIAmFQj+KIQggBCAFIBN8fCEEIA8gBIVCIIohDyAKIA98IQogBSAKhUIYiiEFIAQgBSAbfHwhBCAPIASFQhCKIQ8gCiAPfCEKIAUgCoVCP4ohBSABIAUgF3x8IQEgDSABhUIgiiENIAkgDXwhCSAFIAmFQhiKIQUgASAFICB8fCEBIA0gAYVCEIohDSAJIA18IQkgBSAJhUI/iiEFIAIgBiAffHwhAiAOIAKFQiCKIQ4gCiAOfCEKIAYgCoVCGIohBiACIAYgGnx8IQIgDiAChUIQiiEOIAogDnwhCiAGIAqFQj+KIQYgAyAHIBx8fCEDIA8gA4VCIIohDyALIA98IQsgByALhUIYiiEHIAMgByAUfHwhAyAPIAOFQhCKIQ8gCyAPfCELIAcgC4VCP4ohByAEIAggEXx8IQQgECAEhUIgiiEQIAwgEHwhDCAIIAyFQhiKIQggBCAIIBl8fCEEIBAgBIVCEIohECAMIBB8IQwgCCAMhUI/iiEIIAEgBiAdfHwhASAQIAGFQiCKIRAgCyAQfCELIAYgC4VCGIohBiABIAYgE3x8IQEgECABhUIQiiEQIAsgEHwhCyAGIAuFQj+KIQYgAiAHIB58fCECIA0gAoVCIIohDSAMIA18IQwgByAMhUIYiiEHIAIgByAYfHwhAiANIAKFQhCKIQ0gDCANfCEMIAcgDIVCP4ohByADIAggEnx8IQMgDiADhUIgiiEOIAkgDnwhCSAIIAmFQhiKIQggAyAIIBV8fCEDIA4gA4VCEIohDiAJIA58IQkgCCAJhUI/iiEIIAQgBSAbfHwhBCAPIASFQiCKIQ8gCiAPfCEKIAUgCoVCGIohBSAEIAUgFnx8IQQgDyAEhUIQiiEPIAogD3whCiAFIAqFQj+KIQUgASAFIBt8fCEBIA0gAYVCIIohDSAJIA18IQkgBSAJhUIYiiEFIAEgBSATfHwhASANIAGFQhCKIQ0gCSANfCEJIAUgCYVCP4ohBSACIAYgGXx8IQIgDiAChUIgiiEOIAogDnwhCiAGIAqFQhiKIQYgAiAGIBV8fCECIA4gAoVCEIohDiAKIA58IQogBiAKhUI/iiEGIAMgByAYfHwhAyAPIAOFQiCKIQ8gCyAPfCELIAcgC4VCGIohByADIAcgF3x8IQMgDyADhUIQiiEPIAsgD3whCyAHIAuFQj+KIQcgBCAIIBJ8fCEEIBAgBIVCIIohECAMIBB8IQwgCCAMhUIYiiEIIAQgCCAWfHwhBCAQIASFQhCKIRAgDCAQfCEMIAggDIVCP4ohCCABIAYgIHx8IQEgECABhUIgiiEQIAsgEHwhCyAGIAuFQhiKIQYgASAGIBx8fCEBIBAgAYVCEIohECALIBB8IQsgBiALhUI/iiEGIAIgByAafHwhAiANIAKFQiCKIQ0gDCANfCEMIAcgDIVCGIohByACIAcgH3x8IQIgDSAChUIQiiENIAwgDXwhDCAHIAyFQj+KIQcgAyAIIBR8fCEDIA4gA4VCIIohDiAJIA58IQkgCCAJhUIYiiEIIAMgCCAdfHwhAyAOIAOFQhCKIQ4gCSAOfCEJIAggCYVCP4ohCCAEIAUgHnx8IQQgDyAEhUIgiiEPIAogD3whCiAFIAqFQhiKIQUgBCAFIBF8fCEEIA8gBIVCEIohDyAKIA98IQogBSAKhUI/iiEFIAEgBSARfHwhASANIAGFQiCKIQ0gCSANfCEJIAUgCYVCGIohBSABIAUgEnx8IQEgDSABhUIQiiENIAkgDXwhCSAFIAmFQj+KIQUgAiAGIBN8fCECIA4gAoVCIIohDiAKIA58IQogBiAKhUIYiiEGIAIgBiAUfHwhAiAOIAKFQhCKIQ4gCiAOfCEKIAYgCoVCP4ohBiADIAcgFXx8IQMgDyADhUIgiiEPIAsgD3whCyAHIAuFQhiKIQcgAyAHIBZ8fCEDIA8gA4VCEIohDyALIA98IQsgByALhUI/iiEHIAQgCCAXfHwhBCAQIASFQiCKIRAgDCAQfCEMIAggDIVCGIohCCAEIAggGHx8IQQgECAEhUIQiiEQIAwgEHwhDCAIIAyFQj+KIQggASAGIBl8fCEBIBAgAYVCIIohECALIBB8IQsgBiALhUIYiiEGIAEgBiAafHwhASAQIAGFQhCKIRAgCyAQfCELIAYgC4VCP4ohBiACIAcgG3x8IQIgDSAChUIgiiENIAwgDXwhDCAHIAyFQhiKIQcgAiAHIBx8fCECIA0gAoVCEIohDSAMIA18IQwgByAMhUI/iiEHIAMgCCAdfHwhAyAOIAOFQiCKIQ4gCSAOfCEJIAggCYVCGIohCCADIAggHnx8IQMgDiADhUIQiiEOIAkgDnwhCSAIIAmFQj+KIQggBCAFIB98fCEEIA8gBIVCIIohDyAKIA98IQogBSAKhUIYiiEFIAQgBSAgfHwhBCAPIASFQhCKIQ8gCiAPfCEKIAUgCoVCP4ohBSABIAUgH3x8IQEgDSABhUIgiiENIAkgDXwhCSAFIAmFQhiKIQUgASAFIBt8fCEBIA0gAYVCEIohDSAJIA18IQkgBSAJhUI/iiEFIAIgBiAVfHwhAiAOIAKFQiCKIQ4gCiAOfCEKIAYgCoVCGIohBiACIAYgGXx8IQIgDiAChUIQiiEOIAogDnwhCiAGIAqFQj+KIQYgAyAHIBp8fCEDIA8gA4VCIIohDyALIA98IQsgByALhUIYiiEHIAMgByAgfHwhAyAPIAOFQhCKIQ8gCyAPfCELIAcgC4VCP4ohByAEIAggHnx8IQQgECAEhUIgiiEQIAwgEHwhDCAIIAyFQhiKIQggBCAIIBd8fCEEIBAgBIVCEIohECAMIBB8IQwgCCAMhUI/iiEIIAEgBiASfHwhASAQIAGFQiCKIRAgCyAQfCELIAYgC4VCGIohBiABIAYgHXx8IQEgECABhUIQiiEQIAsgEHwhCyAGIAuFQj+KIQYgAiAHIBF8fCECIA0gAoVCIIohDSAMIA18IQwgByAMhUIYiiEHIAIgByATfHwhAiANIAKFQhCKIQ0gDCANfCEMIAcgDIVCP4ohByADIAggHHx8IQMgDiADhUIgiiEOIAkgDnwhCSAIIAmFQhiKIQggAyAIIBh8fCEDIA4gA4VCEIohDiAJIA58IQkgCCAJhUI/iiEIIAQgBSAWfHwhBCAPIASFQiCKIQ8gCiAPfCEKIAUgCoVCGIohBSAEIAUgFHx8IQQgDyAEhUIQiiEPIAogD3whCiAFIAqFQj+KIQUgISAhKQMAIAEgCYWFNwMAICIgIikDACACIAqFhTcDACAjICMpAwAgAyALhYU3AwAgJCAkKQMAIAQgDIWFNwMAICUgJSkDACAFIA2FhTcDACAmICYpAwAgBiAOhYU3AwAgJyAnKQMAIAcgD4WFNwMAICggKCkDACAIIBCFhTcDAAs=")}}),n=e(),r=WebAssembly.compile(n);return SB=async t=>(await WebAssembly.instantiate(await r,t)).exports}()().then(t=>{FB=t}),QB=64,kB=[];dB.exports=YB;var UB=dB.exports.BYTES_MIN=16,PB=dB.exports.BYTES_MAX=64;dB.exports.BYTES=32;var GB=dB.exports.KEYBYTES_MIN=16,VB=dB.exports.KEYBYTES_MAX=64;dB.exports.KEYBYTES=32;var HB=dB.exports.SALTBYTES=16,jB=dB.exports.PERSONALBYTES=16;function YB(t,e,n,r,i){if(!(this instanceof YB))return new YB(t,e,n,r,i);if(!FB)throw new Error("WASM not loaded. Wait for Blake2b.ready(cb)");t||(t=32),!0!==i&&(xB(t>=UB,"digestLength must be at least "+UB+", was given "+t),xB(t<=PB,"digestLength must be at most "+PB+", was given "+t),null!=e&&(xB(e instanceof Uint8Array,"key must be Uint8Array or Buffer"),xB(e.length>=GB,"key must be at least "+GB+", was given "+e.length),xB(e.length<=VB,"key must be at least "+VB+", was given "+e.length)),null!=n&&(xB(n instanceof Uint8Array,"salt must be Uint8Array or Buffer"),xB(n.length===HB,"salt must be exactly "+HB+", was given "+n.length)),null!=r&&(xB(r instanceof Uint8Array,"personal must be Uint8Array or Buffer"),xB(r.length===jB,"personal must be exactly "+jB+", was given "+r.length))),kB.length||(kB.push(QB),QB+=216),this.digestLength=t,this.finalized=!1,this.pointer=kB.pop(),this._memory=new Uint8Array(FB.memory.buffer),this._memory.fill(0,0,64),this._memory[0]=this.digestLength,this._memory[1]=e?e.length:0,this._memory[2]=1,this._memory[3]=1,n&&this._memory.set(n,32),r&&this._memory.set(r,48),this.pointer+216>this._memory.length&&this._realloc(this.pointer+216),FB.blake2b_init(this.pointer,this.digestLength),e&&(this.update(e),this._memory.fill(0,QB,QB+e.length),this._memory[this.pointer+200]=128)}function zB(){}function JB(t){return(4294901760&t?(t&=4294901760,16):0)|(4278255360&t?(t&=4278255360,8):0)|(4042322160&t?(t&=4042322160,4):0)|(3435973836&t?(t&=3435973836,2):0)|!!(2863311530&t)}function WB(t,e){const n=new DataView(t.buffer,t.byteOffset,t.byteLength);let r="";for(let t=0;t<4;t++){t>0&&(r+="\n"),r+="\t\t";for(let e=0;e<4;e++)e>0&&(r+=" "),r+=n.getUint32(16*t+4*e).toString(16).padStart(8,"0")}return e&&(r=e+"\n"+r),r}function qB(t,e){if(t.byteLength!=e.byteLength)return!1;for(var n=new Int8Array(t),r=new Int8Array(e),i=0;i!=t.byteLength;i++)if(n[i]!=r[i])return!1;return!0}function KB(t){const e=t.getPartialHash(),n=dB.exports(64);return n.setPartialHash(e),n}async function XB(t,e,n,r,i){if(t.G1.isZero(e))return!1;if(t.G1.isZero(n))return!1;if(t.G2.isZero(r))return!1;if(t.G2.isZero(i))return!1;return await t.pairingEq(e,i,t.G1.neg(n),r)}function ZB(){return window.prompt("Enter a random text. (Entropy): ","")}function $B(t){let e=new Uint8Array(t);return globalThis.crypto.getRandomValues(e),e}async function tT(t){{const e=await globalThis.crypto.subtle.digest("SHA-256",t.buffer);return new Uint8Array(e)}}function eT(t,e){return new DataView(t.buffer).getUint32(e,!1)}async function nT(t){for(;!t;)t=await ZB();const e=dB.exports(64);e.update($B(64));const n=new TextEncoder;e.update(n.encode(t));const r=e.digest(),i=[];for(let t=0;t<8;t++)i[t]=eT(r,4*t);return new ty(i)}async function rT(t,e){let n,r;e<32?(n=1<<e>>>0,r=1):(n=4294967296,r=1<<e-32>>>0);let i=t;for(let t=0;t<r;t++)for(let t=0;t<n;t++)i=await tT(i);const o=new DataView(i.buffer,i.byteOffset,i.byteLength),s=[];for(let t=0;t<8;t++)s[t]=o.getUint32(4*t,!1);return new ty(s)}function iT(t){return t instanceof Uint8Array?t:("0x"==t.slice(0,2)&&(t=t.slice(2)),new Uint8Array(t.match(/[\da-f]{2}/gi).map(function(t){return parseInt(t,16)})))}function oT(t){return Array.prototype.map.call(t,function(t){return("0"+(255&t).toString(16)).slice(-2)}).join("")}YB.prototype._realloc=function(t){FB.memory.grow(Math.max(0,Math.ceil(Math.abs(t-this._memory.length)/65536))),this._memory=new Uint8Array(FB.memory.buffer)},YB.prototype.update=function(t){return xB(!1===this.finalized,"Hash instance finalized"),xB(t instanceof Uint8Array,"input must be Uint8Array or Buffer"),QB+t.length>this._memory.length&&this._realloc(QB+t.length),this._memory.set(t,QB),FB.blake2b_update(this.pointer,QB,QB+t.length),this},YB.prototype.digest=function(t){if(xB(!1===this.finalized,"Hash instance finalized"),this.finalized=!0,kB.push(this.pointer),FB.blake2b_final(this.pointer),!t||"binary"===t)return this._memory.slice(this.pointer+128,this.pointer+128+this.digestLength);if("string"==typeof t)return RB.toString(this._memory,t,this.pointer+128,this.pointer+128+this.digestLength);xB(t instanceof Uint8Array&&t.length>=this.digestLength,"input must be Uint8Array or Buffer");for(var e=0;e<this.digestLength;e++)t[e]=this._memory[this.pointer+128+e];return t},YB.prototype.final=YB.prototype.digest,YB.WASM=FB,YB.SUPPORTED="undefined"!=typeof WebAssembly,YB.ready=function(t){return t||(t=zB),OB?OB.then(()=>t(),t):t(new Error("WebAssembly not supported"))},YB.prototype.ready=YB.ready,YB.prototype.getPartialHash=function(){return this._memory.slice(this.pointer,this.pointer+216)},YB.prototype.setPartialHash=function(t){this._memory.set(t,this.pointer)};const sT=10;async function aT(t,e){await qC(t,1),await t.writeULE32(1),await KC(t);const n=await lB(e.q);await qC(t,2);const r=n.q,i=8*(Math.floor((NC.bitLength(r)-1)/64)+1),o=n.r,s=8*(Math.floor((NC.bitLength(o)-1)/64)+1);await t.writeULE32(i),await $C(t,r,i),await t.writeULE32(s),await $C(t,o,s),await t.writeULE32(e.nVars),await t.writeULE32(e.nPublic),await t.writeULE32(e.domainSize),await cT(t,n,e.vk_alpha_1),await cT(t,n,e.vk_beta_1),await lT(t,n,e.vk_beta_2),await lT(t,n,e.vk_gamma_2),await cT(t,n,e.vk_delta_1),await lT(t,n,e.vk_delta_2),await KC(t)}async function cT(t,e,n){const r=new Uint8Array(2*e.G1.F.n8);e.G1.toRprLEM(r,0,n),await t.write(r)}async function lT(t,e,n){const r=new Uint8Array(2*e.G2.F.n8);e.G2.toRprLEM(r,0,n),await t.write(r)}async function uT(t,e,n){const r=await t.read(2*e.G1.F.n8),i=e.G1.fromRprLEM(r,0);return n?e.G1.toObject(i):i}async function hT(t,e,n){const r=await t.read(2*e.G2.F.n8),i=e.G2.fromRprLEM(r,0);return n?e.G2.toObject(i):i}async function dT(t,e,n,r){await XC(t,e,1);const i=await t.readULE32();if(await ZC(t),1===i)return await async function(t,e,n,r){const i={protocol:"groth16"};await XC(t,e,2);const o=await t.readULE32();i.n8q=o,i.q=await tB(t,o);const s=await t.readULE32();return i.n8r=s,i.r=await tB(t,s),i.curve=await lB(i.q,r),i.nVars=await t.readULE32(),i.nPublic=await t.readULE32(),i.domainSize=await t.readULE32(),i.power=JB(i.domainSize),i.vk_alpha_1=await uT(t,i.curve,n),i.vk_beta_1=await uT(t,i.curve,n),i.vk_beta_2=await hT(t,i.curve,n),i.vk_gamma_2=await hT(t,i.curve,n),i.vk_delta_1=await uT(t,i.curve,n),i.vk_delta_2=await hT(t,i.curve,n),await ZC(t),i}(t,e,n,r);if(2===i)return await async function(t,e,n,r){const i={protocol:"plonk"};await XC(t,e,2);const o=await t.readULE32();i.n8q=o,i.q=await tB(t,o);const s=await t.readULE32();return i.n8r=s,i.r=await tB(t,s),i.curve=await lB(i.q,r),i.nVars=await t.readULE32(),i.nPublic=await t.readULE32(),i.domainSize=await t.readULE32(),i.power=JB(i.domainSize),i.nAdditions=await t.readULE32(),i.nConstraints=await t.readULE32(),i.k1=await t.read(s),i.k2=await t.read(s),i.Qm=await uT(t,i.curve,n),i.Ql=await uT(t,i.curve,n),i.Qr=await uT(t,i.curve,n),i.Qo=await uT(t,i.curve,n),i.Qc=await uT(t,i.curve,n),i.S1=await uT(t,i.curve,n),i.S2=await uT(t,i.curve,n),i.S3=await uT(t,i.curve,n),i.X_2=await hT(t,i.curve,n),await ZC(t),i}(t,e,n,r);if(10===i)return await async function(t,e,n,r){const i={protocol:"fflonk"};i.protocolId=sT,await XC(t,e,2);const o=await t.readULE32();i.n8q=o,i.q=await tB(t,o),i.curve=await lB(i.q,r);const s=await t.readULE32();return i.n8r=s,i.r=await tB(t,s),i.nVars=await t.readULE32(),i.nPublic=await t.readULE32(),i.domainSize=await t.readULE32(),i.power=JB(i.domainSize),i.nAdditions=await t.readULE32(),i.nConstraints=await t.readULE32(),i.k1=await t.read(s),i.k2=await t.read(s),i.w3=await t.read(s),i.w4=await t.read(s),i.w8=await t.read(s),i.wr=await t.read(s),i.X_2=await hT(t,i.curve,n),i.C0=await uT(t,i.curve,n),await ZC(t),i}(t,e,n,r);throw new Error("Protocol not supported: ")}async function pT(t,e,n){const r={delta:{}};r.deltaAfter=await uT(t,e,n),r.delta.g1_s=await uT(t,e,n),r.delta.g1_sx=await uT(t,e,n),r.delta.g2_spx=await hT(t,e,n),r.transcript=await t.read(64),r.type=await t.readULE32();const i=await t.readULE32(),o=t.pos;let s=0;for(;t.pos-o<i;){const e=await t.read(1);if(e[0]<=s)throw new Error("Parameters in the contribution must be sorted");if(s=e[0],1==e[0]){const e=await t.read(1),n=await t.read(e[0]);r.name=(new TextDecoder).decode(n)}else if(2==e[0]){const e=await t.read(1);r.numIterationsExp=e[0]}else{if(3!=e[0])throw new Error("Parameter not recognized");{const e=await t.read(1);r.beaconHash=await t.read(e[0])}}}if(t.pos!=o+i)throw new Error("Parameters do not match");return r}async function fT(t,e,n){await XC(t,n,10);const r={contributions:[]};r.csHash=await t.read(64);const i=await t.readULE32();for(let n=0;n<i;n++){const n=await pT(t,e);r.contributions.push(n)}return await ZC(t),r}async function AT(t,e,n){await cT(t,e,n.deltaAfter),await cT(t,e,n.delta.g1_s),await cT(t,e,n.delta.g1_sx),await lT(t,e,n.delta.g2_spx),await t.write(n.transcript),await t.writeULE32(n.type||0);const r=[];if(n.name){r.push(1);const t=new TextEncoder("utf-8").encode(n.name.substring(0,64));r.push(t.byteLength);for(let e=0;e<t.byteLength;e++)r.push(t[e])}if(1==n.type){r.push(2),r.push(n.numIterationsExp),r.push(3),r.push(n.beaconHash.byteLength);for(let t=0;t<n.beaconHash.byteLength;t++)r.push(n.beaconHash[t])}if(r.length>0){const e=new Uint8Array(r);await t.writeULE32(e.byteLength),await t.write(e)}else await t.writeULE32(0)}async function gT(t,e,n){await qC(t,10),await t.write(n.csHash),await t.writeULE32(n.contributions.length);for(let r=0;r<n.contributions.length;r++)await AT(t,e,n.contributions[r]);await KC(t)}function ET(t,e,n){const r=new Uint8Array(2*e.G1.F.n8);e.G1.toRprUncompressed(r,0,n),t.update(r)}function mT(t,e,n){ET(t,e,n.deltaAfter),ET(t,e,n.delta.g1_s),ET(t,e,n.delta.g1_sx),function(t,e,n){const r=new Uint8Array(2*e.G2.F.n8);e.G2.toRprUncompressed(r,0,n),t.update(r)}(t,e,n.delta.g2_spx),t.update(n.transcript)}async function wT(t,e){await XC(t,e,1);const n=await t.readULE32(),r=await tB(t,n),i=await t.readULE32();return await ZC(t),{n8:n,q:r,nWitness:i}}const{stringifyBigInts:yT}=vC;async function IT(t,e,n,r){const{fd:i,sections:o}=await JC(e,"wtns",2),s=await wT(i,o),{fd:a,sections:c}=await JC(t,"zkey",2),l=await dT(a,c,void 0,r);if("groth16"!=l.protocol)throw new Error("zkey file is not groth16");if(!NC.eq(l.r,s.q))throw new Error("Curve of the witness does not match the curve of the proving key");if(s.nWitness!=l.nVars)throw new Error(`Invalid witness length. Circuit: ${l.nVars}, witness: ${s.nWitness}`);const u=l.curve,h=u.Fr,d=u.G1,p=u.G2,f=JB(l.domainSize);n&&n.debug("Reading Wtns");const A=await nB(i,o,2);n&&n.debug("Reading Coeffs");const g=await nB(a,c,4);n&&n.debug("Building ABC");const[E,m,w]=await async function(t,e,n,r,i){const o=t.Fr.n8,s=12+e.n8r,a=(r.byteLength-4)/s,c=new JI(e.domainSize*o),l=new JI(e.domainSize*o),u=new JI(e.domainSize*o),h=[c,l];for(let e=0;e<a;e++){i&&e%1e6==0&&i.debug(`QAP AB: ${e}/${a}`);const c=r.slice(4+e*s,4+e*s+s),l=new DataView(c.buffer),u=l.getUint32(0,!0),d=l.getUint32(4,!0),p=l.getUint32(8,!0),f=c.slice(12,12+o);h[u].set(t.Fr.add(h[u].slice(d*o,d*o+o),t.Fr.mul(f,n.slice(p*o,p*o+o))),d*o)}for(let n=0;n<e.domainSize;n++)i&&n%1e6==0&&i.debug(`QAP C: ${n}/${e.domainSize}`),u.set(t.Fr.mul(c.slice(n*o,n*o+o),l.slice(n*o,n*o+o)),n*o);return[c,l,u]}(u,l,A,g,n),y=f==h.s?u.Fr.shift:u.Fr.w[f+1],I=await h.ifft(E,"","",n,"IFFT_A"),C=await h.batchApplyKey(I,h.e(1),y),B=await h.fft(C,"","",n,"FFT_A"),T=await h.ifft(m,"","",n,"IFFT_B"),D=await h.batchApplyKey(T,h.e(1),y),b=await h.fft(D,"","",n,"FFT_B"),M=await h.ifft(w,"","",n,"IFFT_C"),N=await h.batchApplyKey(M,h.e(1),y),v=await h.fft(N,"","",n,"FFT_C");n&&n.debug("Join ABC");const S=await async function(t,e,n,r,i,o){const s=1<<22,a=t.Fr.n8,c=Math.floor(n.byteLength/t.Fr.n8),l=[];for(let e=0;e<c;e+=s){o&&o.debug(`JoinABC: ${e}/${c}`);const u=Math.min(c-e,s),h=[],d=n.slice(e*a,(e+u)*a),p=r.slice(e*a,(e+u)*a),f=i.slice(e*a,(e+u)*a);h.push({cmd:"ALLOCSET",var:0,buff:d}),h.push({cmd:"ALLOCSET",var:1,buff:p}),h.push({cmd:"ALLOCSET",var:2,buff:f}),h.push({cmd:"ALLOC",var:3,len:u*a}),h.push({cmd:"CALL",fnName:"qap_joinABC",params:[{var:0},{var:1},{var:2},{val:u},{var:3}]}),h.push({cmd:"CALL",fnName:"frm_batchFromMontgomery",params:[{var:3},{val:u},{var:3}]}),h.push({cmd:"GET",out:0,var:3,len:u*a}),l.push(t.tm.queueAction(h))}const u=await Promise.all(l);let h;h=n instanceof JI?new JI(n.byteLength):new Uint8Array(n.byteLength);let d=0;for(let t=0;t<u.length;t++)h.set(u[t][0],d),d+=u[t][0].byteLength;return h}(u,0,B,b,v,n);let _={};n&&n.debug("Reading A Points");const L=await nB(a,c,5);_.pi_a=await u.G1.multiExpAffine(L,A,n,"multiexp A"),n&&n.debug("Reading B1 Points");const x=await nB(a,c,6);let R=await u.G1.multiExpAffine(x,A,n,"multiexp B1");n&&n.debug("Reading B2 Points");const F=await nB(a,c,7);_.pi_b=await u.G2.multiExpAffine(F,A,n,"multiexp B2"),n&&n.debug("Reading C Points");const O=await nB(a,c,8);_.pi_c=await u.G1.multiExpAffine(O,A.slice((l.nPublic+1)*u.Fr.n8),n,"multiexp C"),n&&n.debug("Reading H Points");const Q=await nB(a,c,9),k=await u.G1.multiExpAffine(Q,S,n,"multiexp H"),U=u.Fr.random(),P=u.Fr.random();_.pi_a=d.add(_.pi_a,l.vk_alpha_1),_.pi_a=d.add(_.pi_a,d.timesFr(l.vk_delta_1,U)),_.pi_b=p.add(_.pi_b,l.vk_beta_2),_.pi_b=p.add(_.pi_b,p.timesFr(l.vk_delta_2,P)),R=d.add(R,l.vk_beta_1),R=d.add(R,d.timesFr(l.vk_delta_1,P)),_.pi_c=d.add(_.pi_c,k),_.pi_c=d.add(_.pi_c,d.timesFr(_.pi_a,P)),_.pi_c=d.add(_.pi_c,d.timesFr(R,U)),_.pi_c=d.add(_.pi_c,d.timesFr(l.vk_delta_1,h.neg(h.mul(U,P))));let G=[];for(let t=1;t<=l.nPublic;t++){const e=A.slice(t*h.n8,t*h.n8+h.n8);G.push(NC.fromRprLE(e))}return _.pi_a=d.toObject(d.toAffine(_.pi_a)),_.pi_b=p.toObject(p.toAffine(_.pi_b)),_.pi_c=d.toObject(d.toAffine(_.pi_c)),_.protocol="groth16",_.curve=u.name,await a.close(),await i.close(),_=yT(_),G=yT(G),{proof:_,publicSignals:G}}function CT(t){let e=[];return function t(e,n){if(Array.isArray(n))for(let r=0;r<n.length;r++)t(e,n[r]);else e.push(n)}(e,t),e}function BT(t,e){let n=BigInt(t)%e;return n<0&&(n+=e),n}function TT(t){const e=BigInt(2)**BigInt(64);let n=BigInt("0xCBF29CE484222325");for(let r=0;r<t.length;r++)n^=BigInt(t[r].charCodeAt(0)),n*=BigInt(1099511628211),n%=e;let r=n.toString(16),i=16-r.length;return r="0".repeat(i).concat(r),r}function DT(t,e){const n=[];let r=BigInt(t);const i=BigInt(4294967296);for(;r;)n.unshift(Number(r%i)),r/=i;if(e){let t=e-n.length;for(;t>0;)n.unshift(0),t--}return n}async function bT(t,e){let n,r,i;e=e||{};let o=1,s=0,a=0,c=!1;if(t instanceof WebAssembly.Instance)n=t,c=!0;else{let c=32767;if(e.memorySize&&(c=parseInt(e.memorySize),c<0))throw new Error("Invalid memory size");let l=!1;for(;!l;)try{i=new WebAssembly.Memory({initial:c}),l=!0}catch(t){if(c<=1)throw t;console.warn("Could not allocate "+1024*c*64+" bytes. This may cause severe instability. Trying with "+1024*c*64/2+" bytes"),c=Math.floor(c/2)}const d=await WebAssembly.compile(t);let p="",f="";n=await WebAssembly.instantiate(d,{env:{memory:i},runtime:{printDebug:function(t){console.log("printDebug:",t)},exceptionHandler:function(t){let e;throw e=1===t?"Signal not found. ":2===t?"Too many signals set. ":3===t?"Signal already set. ":4===t?"Assert Failed. ":5===t?"Not enough memory. ":6===t?"Input signal array access exceeds the size. ":"Unknown error. ",console.error("ERROR: ",t,p),new Error(e+p)},printErrorMessage:function(){p+=u()+"\n"},writeBufferMessage:function(){const t=u();"\n"===t?(console.log(f),f=""):(""!==f&&(f+=" "),f+=t)},showSharedRWMemory:function(){const t=n.exports.getFieldNumLen32(),e=new Uint32Array(t);for(let r=0;r<t;r++)e[t-1-r]=n.exports.readSharedRWMemory(r);if(o>=2&&(s>=1||a>=7)){""!==f&&(f+=" ");const t=NC.fromArray(e,4294967296).toString();f+=t}else console.log(NC.fromArray(e,4294967296))},error:function(t,n,i,o,s,a){let c;throw c=7===t?h(n)+" "+r.getFr(o).toString()+" != "+r.getFr(s).toString()+" "+h(a):9===t?h(n)+" "+r.getFr(o).toString()+" "+h(s):5===t&&e.sym?h(n)+" "+e.sym.labelIdx2Name[s]:h(n)+" "+i+" "+o+" "+s+" "+a,console.log("ERROR: ",t,c),new Error(c)},log:function(t){console.log(r.getFr(t).toString())},logGetSignal:function(t,n){e.logGetSignal&&e.logGetSignal(t,r.getFr(n))},logSetSignal:function(t,n){e.logSetSignal&&e.logSetSignal(t,r.getFr(n))},logStartComponent:function(t){e.logStartComponent&&e.logStartComponent(t)},logFinishComponent:function(t){e.logFinishComponent&&e.logFinishComponent(t)}}})}"function"==typeof n.exports.getVersion&&(o=n.exports.getVersion()),"function"==typeof n.exports.getMinorVersion&&(s=n.exports.getMinorVersion()),"function"==typeof n.exports.getPatchVersion&&(a=n.exports.getPatchVersion());const l=e&&(e.sanityCheck||e.logGetSignal||e.logSetSignal||e.logStartComponent||e.logFinishComponent);if(2===o)r=new NT(n,l);else{if(1!==o)throw new Error(`Unsupported circom version: ${o}`);if(c)throw new Error("Loading code from WebAssembly instance is not supported for circom version 1");r=new MT(i,n,l)}return r;function u(){let t="",e=n.exports.getMessageChar();for(;0!==e;)t+=String.fromCharCode(e),e=n.exports.getMessageChar();return t}function h(t){const e=new Uint8Array(i.buffer),n=[];for(let r=0;e[t+r]>0;r++)n.push(e[t+r]);return String.fromCharCode.apply(null,n)}}class MT{constructor(t,e,n){this.memory=t,this.i32=new Uint32Array(t.buffer),this.instance=e,this.n32=(this.instance.exports.getFrLen()>>2)-2;const r=this.instance.exports.getPRawPrime(),i=new Array(this.n32);for(let t=0;t<this.n32;t++)i[this.n32-1-t]=this.i32[(r>>2)+t];this.prime=NC.fromArray(i,4294967296),this.Fr=new ay(this.prime),this.mask32=NC.fromString("FFFFFFFF",16),this.NVars=this.instance.exports.getNVars(),this.n64=Math.floor((this.Fr.bitLength-1)/64)+1,this.R=this.Fr.e(NC.shiftLeft(1,64*this.n64)),this.RInv=this.Fr.inv(this.R),this.sanityCheck=n}circom_version(){return 1}async _doCalculateWitness(t,e){this.instance.exports.init(this.sanityCheck||e?1:0);const n=this.allocInt(),r=this.allocFr();Object.keys(t).forEach(e=>{const i=TT(e),o=parseInt(i.slice(0,8),16),s=parseInt(i.slice(8,16),16);try{this.instance.exports.getSignalOffset32(n,0,o,s)}catch(t){throw new Error(`Signal ${e} is not an input of the circuit.`)}const a=this.getInt(n),c=CT(t[e]);for(let t=0;t<c.length;t++)this.setFr(r,c[t]),this.instance.exports.setSignal(0,0,a+t,r)})}async calculateWitness(t,e){const n=this,r=n.i32[0],i=[];await n._doCalculateWitness(t,e);for(let t=0;t<n.NVars;t++){const e=n.instance.exports.getPWitness(t);i.push(n.getFr(e))}return n.i32[0]=r,i}async calculateBinWitness(t,e){const n=this,r=n.i32[0];await n._doCalculateWitness(t,e);const i=n.instance.exports.getWitnessBuffer();n.i32[0]=r;const o=n.memory.buffer.slice(i,i+n.NVars*n.n64*8);return new Uint8Array(o)}allocInt(){const t=this.i32[0];return this.i32[0]=t+8,t}allocFr(){const t=this.i32[0];return this.i32[0]=t+4*this.n32+8,t}getInt(t){return this.i32[t>>2]}setInt(t,e){this.i32[t>>2]=e}getFr(t){const e=this,n=t>>2;if(2147483648&e.i32[n+1]){const t=new Array(e.n32);for(let r=0;r<e.n32;r++)t[e.n32-1-r]=e.i32[n+2+r];const i=e.Fr.e(NC.fromArray(t,4294967296));return 1073741824&e.i32[n+1]?(r=i,e.Fr.mul(e.RInv,r)):i}return 2147483648&e.i32[n]?e.Fr.e(e.i32[n]-4294967296):e.Fr.e(e.i32[n]);var r}setFr(t,e){const n=this;e=n.Fr.e(e);const r=n.Fr.neg(n.Fr.e("80000000",16)),i=n.Fr.e("7FFFFFFF",16);if(n.Fr.geq(e,r)&&n.Fr.leq(e,i)){let i;return n.Fr.geq(e,n.Fr.zero)?i=NC.toNumber(e):(i=NC.toNumber(n.Fr.sub(e,r)),i-=2147483648,i=4294967296+i),n.i32[t>>2]=i,void(n.i32[1+(t>>2)]=0)}n.i32[t>>2]=0,n.i32[1+(t>>2)]=2147483648;const o=NC.toArray(e,4294967296);for(let e=0;e<n.n32;e++){const r=o.length-1-e;n.i32[2+(t>>2)+e]=r>=0?o[r]:0}}}class NT{constructor(t,e){this.instance=t,this.version=this.instance.exports.getVersion(),this.n32=this.instance.exports.getFieldNumLen32(),this.instance.exports.getRawPrime();const n=new Uint32Array(this.n32);for(let t=0;t<this.n32;t++)n[this.n32-1-t]=this.instance.exports.readSharedRWMemory(t);this.prime=NC.fromArray(n,4294967296),this.witnessSize=this.instance.exports.getWitnessSize(),this.sanityCheck=e}circom_version(){return this.instance.exports.getVersion()}async _doCalculateWitness(t,e){this.instance.exports.init(this.sanityCheck||e?1:0);const n=Object.keys(t);let r=0;if(n.forEach(e=>{const n=TT(e),i=parseInt(n.slice(0,8),16),o=parseInt(n.slice(8,16),16),s=CT(t[e]);if("function"==typeof this.instance.exports.getInputSignalSize){let t=this.instance.exports.getInputSignalSize(i,o);if(t<0)throw new Error(`Signal ${e} not found\n`);if(s.length<t)throw new Error(`Not enough values for input signal ${e}\n`);if(s.length>t)throw new Error(`Too many values for input signal ${e}\n`)}for(let t=0;t<s.length;t++){const e=DT(BT(s[t],this.prime),this.n32);for(let t=0;t<this.n32;t++)this.instance.exports.writeSharedRWMemory(t,e[this.n32-1-t]);try{this.instance.exports.setInputSignal(i,o,t),r++}catch(t){throw new Error(t)}}}),r<this.instance.exports.getInputSize())throw new Error(`Not all inputs have been set. Only ${r} out of ${this.instance.exports.getInputSize()}`)}async calculateWitness(t,e){const n=[];await this._doCalculateWitness(t,e);for(let t=0;t<this.witnessSize;t++){this.instance.exports.getWitness(t);const e=new Uint32Array(this.n32);for(let t=0;t<this.n32;t++)e[this.n32-1-t]=this.instance.exports.readSharedRWMemory(t);n.push(NC.fromArray(e,4294967296))}return n}async calculateWTNSBin(t,e){const n=new Uint32Array(this.witnessSize*this.n32+this.n32+11),r=new Uint8Array(n.buffer);await this._doCalculateWitness(t,e),r[0]="w".charCodeAt(0),r[1]="t".charCodeAt(0),r[2]="n".charCodeAt(0),r[3]="s".charCodeAt(0),n[1]=2,n[2]=2,n[3]=1;const i=4*this.n32,o=(8+i).toString(16);n[4]=parseInt(o.slice(0,8),16),n[5]=parseInt(o.slice(8,16),16),n[6]=i,this.instance.exports.getRawPrime();let s=7;for(let t=0;t<this.n32;t++)n[s+t]=this.instance.exports.readSharedRWMemory(t);s+=this.n32,n[s]=this.witnessSize,s++,n[s]=2,s++;const a=(i*this.witnessSize).toString(16);n[s]=parseInt(a.slice(0,8),16),n[s+1]=parseInt(a.slice(8,16),16),s+=2;for(let t=0;t<this.witnessSize;t++){this.instance.exports.getWitness(t);for(let t=0;t<this.n32;t++)n[s+t]=this.instance.exports.readSharedRWMemory(t);s+=this.n32}return r}}const{unstringifyBigInts:vT}=vC;async function ST(t,e,n,r){const i=vT(t),o=await zC(e),s=await o.read(o.totalSize);await o.close();const a=await bT(s,r);if(1===a.circom_version()){const t=await a.calculateBinWitness(i),e=await WC(n,"wtns",2,2);await async function(t,e,n){await qC(t,1);const r=8*(Math.floor((NC.bitLength(n)-1)/64)+1);if(await t.writeULE32(r),await $C(t,n,r),e.byteLength%r!=0)throw new Error("Invalid witness length");await t.writeULE32(e.byteLength/r),await KC(t),await qC(t,2),await t.write(e),await KC(t)}(e,t,a.prime),await e.close()}else{const t=await YC(n),e=await a.calculateWTNSBin(i);await t.write(e),await t.close()}}const{unstringifyBigInts:_T}=vC;const{unstringifyBigInts:LT}=vC;const{unstringifyBigInts:xT}=vC;function RT(t){let e=t.toString(16);for(;e.length<64;)e="0"+e;return e=`"0x${e}"`,e}var FT=Object.freeze({__proto__:null,fullProve:async function(t,e,n,r,i,o){const s=_T(t),a={type:"mem"};return await ST(s,e,a,i),await IT(n,a,r,o)},prove:IT,verify:async function(t,e,n,r){const i=LT(t),o=LT(n),s=LT(e),a=await uB(i.curve),c=a.G1.fromObject(i.IC[0]),l=new Uint8Array(2*a.G1.F.n8*s.length),u=new Uint8Array(a.Fr.n8*s.length);if(!function(t,e){for(let n=0;n<e.length;n++)if(!NC.lt(e[n],t.r))return!1;return!0}(a,s))return r&&r.error("Public inputs are not valid."),!1;for(let t=0;t<s.length;t++){const e=a.G1.fromObject(i.IC[t+1]);l.set(e,t*a.G1.F.n8*2),NC.toRprLE(u,a.Fr.n8*t,s[t],a.Fr.n8)}let h=await a.G1.multiExpAffine(l,u);h=a.G1.add(h,c);const d=a.G1.fromObject(o.pi_a),p=a.G2.fromObject(o.pi_b),f=a.G1.fromObject(o.pi_c);if(!function(t,e){const n=t.G1,r=t.G2;return n.isValid(e.pi_a)&&r.isValid(e.pi_b)&&n.isValid(e.pi_c)}(a,{pi_a:d,pi_b:p,pi_c:f}))return r&&r.error("Proof commitments are not valid."),!1;const A=a.G2.fromObject(i.vk_gamma_2),g=a.G2.fromObject(i.vk_delta_2),E=a.G1.fromObject(i.vk_alpha_1),m=a.G2.fromObject(i.vk_beta_2);return await a.pairingEq(a.G1.neg(d),p,h,A,f,g,E,m)?(r&&r.info("OK!"),!0):(r&&r.error("Invalid proof"),!1)},exportSolidityCallData:async function(t,e){const n=xT(t),r=xT(e);let i,o="";for(let t=0;t<r.length;t++)""!=o&&(o+=","),o+=RT(r[t]);return i=`[${RT(n.pi_a[0])}, ${RT(n.pi_a[1])}],[[${RT(n.pi_b[0][1])}, ${RT(n.pi_b[0][0])}],[${RT(n.pi_b[1][1])}, ${RT(n.pi_b[1][0])}]],[${RT(n.pi_c[0])}, ${RT(n.pi_c[1])}],[${o}]`,i}});function OT(t,e){const n=new DataView(e.buffer,e.byteOffset,e.byteLength),r=[];for(let t=0;t<8;t++)r[t]=n.getUint32(4*t);const i=new ty(r);return t.G2.fromRng(i)}async function QT(t,e){if(!e[1])throw new Error(t.fileName+": File has no header");if(e[1].length>1)throw new Error(t.fileName+": File has more than one header");t.pos=e[1][0].p;const n=await t.readULE32(),r=await t.read(n),i=NC.fromRprLE(r),o=await lB(i);if(8*o.F1.n64!=n)throw new Error(t.fileName+": Invalid size");const s=await t.readULE32(),a=await t.readULE32();if(t.pos-e[1][0].p!=e[1][0].size)throw new Error("Invalid PTau header size");return{curve:o,power:s,ceremonyPower:a}}async function kT(t,e,n,r,i,o,s,a,c,l){const u=i[o],h=2*u.F.n8,d=e[r][0].size/h;await XC(t,e,r),await qC(n,r);let p=s;for(let e=0;e<d;e+=65536){l&&l.debug(`Applying key: ${c}: ${e}/${d}`);const r=Math.min(d-e,65536);let o;o=await t.read(r*h),o=await u.batchApplyKey(o,p,a),await n.write(o),p=i.Fr.mul(p,i.Fr.exp(a,r))}await KC(n),await ZC(t)}async function UT(t,e,n,r,i,o,s,a,c,l,u){const h=r[i],d=2*h.F.n8,p=Math.floor((1<<20)/d);let f=s;for(let i=0;i<o;i+=p){u&&u.debug(`Applying key ${l}: ${i}/${o}`);const s=Math.min(o-i,p),A=await t.read(s*d),g=await h.batchUtoLEM(A),E=await h.batchApplyKey(g,f,a);let m;m="COMPRESSED"==c?await h.batchLEMtoC(E):await h.batchLEMtoU(E),n&&n.update(m),await e.write(m),f=r.Fr.mul(f,r.Fr.exp(a,s))}}const PT=262144,GT={get:function(t,e){return isNaN(e)?t[e]:t.getElement(e)},set:function(t,e,n){return isNaN(e)?(t[e]=n,!0):t.setElement(e,n)}};class VT{constructor(t){this.length=t||0,this.arr=new Array(PT);for(let e=0;e<t;e+=PT)this.arr[e/PT]=new Array(Math.min(PT,t-e));return this}push(){for(let t=0;t<arguments.length;t++)this.setElement(this.length,arguments[t])}slice(t,e){const n=new Array(e-t);for(let r=t;r<e;r++)n[r-t]=this.getElement(r);return n}getElement(t){t=parseInt(t);const e=Math.floor(t/PT),n=t%PT;return this.arr[e]?this.arr[e][n]:void 0}setElement(t,e){t=parseInt(t);const n=Math.floor(t/PT);this.arr[n]||(this.arr[n]=new Array(PT));const r=t%PT;return this.arr[n][r]=e,t>=this.length&&(this.length=t+1),!0}getKeys(){const t=new HT;for(let e=0;e<this.arr.length;e++)if(this.arr[e])for(let n=0;n<this.arr[e].length;n++)void 0!==this.arr[e][n]&&t.push(e*PT+n);return t}}class HT{constructor(t){const e=new VT(t);return new Proxy(e,GT)}}var jT=HT;async function YT(t,e,n){let r;r="object"==typeof n?n:void 0===n?{singleThread:!1}:{singleThread:n};const i={};if(await XC(t,e,1),i.n8=await t.readULE32(),i.prime=await tB(t,i.n8),r.F){if(r.F.p!=i.prime)throw new Error("Different Prime");i.F=r.F}else if(r.getFieldFromPrime)i.F=await r.getFieldFromPrime(i.prime,r.singleThread);else if(r.getCurveFromPrime)i.curve=await r.getCurveFromPrime(i.prime,r.singleThread),i.F=i.curve.Fr;else try{i.curve=await async function(t,e,n){let r;if(Fw(t,MC))r=await TC(e,n);else{if(!Fw(t,bC))throw new Error(`Curve not supported: ${Hw(t)}`);r=await DC(e,n)}return r}(i.prime,r.singleThread),i.F=i.curve.Fr}catch(t){i.F=new ay(i.prime)}return i.nVars=await t.readULE32(),i.nOutputs=await t.readULE32(),i.nPubInputs=await t.readULE32(),i.nPrvInputs=await t.readULE32(),i.nLabels=await t.readULE64(),i.nConstraints=await t.readULE32(),i.useCustomGates=void 0!==e[4]&&null!==e[4]&&void 0!==e[5]&&null!==e[5],await ZC(t),i}async function zT(t,e,n){if("object"!=typeof n)throw new Error("readR1csFd: options must be an object");n.loadConstraints=!("loadConstraints"in n)||n.loadConstraints,n.loadMap="loadMap"in n&&n.loadMap,n.loadCustomGates=!("loadCustomGates"in n)||n.loadCustomGates;const r=await YT(t,e,n);return n.loadConstraints&&(r.constraints=await async function(t,e,n,r,i){let o;o="object"==typeof r?r:void 0===r?{}:{logger:r,loggerCtx:i};const s=await nB(t,e,2);let a,c=0;a=n.nConstraints>1<<20?new jT:[];for(let t=0;t<n.nConstraints;t++){o.logger&&t%1e5==0&&o.logger.info(`${o.loggerCtx}: Loading constraints: ${t}/${n.nConstraints}`);const e=l();a.push(e)}return a;function l(){const t=[];return t[0]=u(),t[1]=u(),t[2]=u(),t}function u(){const t={},e=s.slice(c,c+4);c+=4;const r=new DataView(e.buffer).getUint32(0,!0),i=s.slice(c,c+(4+n.n8)*r);c+=(4+n.n8)*r;const o=new DataView(i.buffer);for(let e=0;e<r;e++){const r=o.getUint32(e*(4+n.n8),!0),s=n.F.fromRprLE(i,e*(4+n.n8)+4);t[r]=s}return t}}(t,e,r,n)),n.loadMap&&(r.map=await async function(t,e,n,r,i){let o;o="object"==typeof r?r:void 0===r?{}:{logger:r,loggerCtx:i};const s=await nB(t,e,3);let a,c=0;a=n.nVars>1<<20?new jT:[];for(let t=0;t<n.nVars;t++){o.logger&&t%1e4==0&&o.logger.info(`${o.loggerCtx}: Loading map: ${t}/${n.nVars}`);const e=l();a.push(e)}return a;function l(){const t=s.slice(c,c+8);c+=8;const e=new DataView(t.buffer),n=e.getUint32(0,!0);return 4294967296*e.getUint32(4,!0)+n}}(t,e,r,n)),n.loadCustomGates&&(r.useCustomGates?(r.customGates=await async function(t,e,n){await XC(t,e,4);let r=await t.readULE32(),i=[];for(let e=0;e<r;e++){let e={};e.templateName=await t.readString();let r=await t.readULE32();e.parameters=Array(r);let o=await t.read(n.n8*r);for(let t=0;t<r;t++)e.parameters[t]=n.F.fromRprLE(o,t*n.n8,n.n8);i.push(e)}return await ZC(t),i}(t,e,r),r.customGatesUses=await async function(t,e,n){const r=await nB(t,e,5),i=new Uint32Array(r.buffer,r.byteOffset,r.byteLength/4),o=i[0];let s,a=1;s=o>1<<20?new jT:[];for(let t=0;t<o;t++){n.logger&&t%1e5==0&&n.logger.info(`${n.loggerCtx}: Loading custom gate uses: ${t}/${o}`);let e={};e.id=i[a++];let r=i[a++];e.signals=[];for(let t=0;t<r;t++){const t=i[a++],n=i[a++];e.signals.push(4294967296*n+t)}s.push(e)}return s}(t,e,n)):(r.customGates=[],r.customGatesUses=[])),r}NC.e("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001",16),NC.e("21888242871839275222246405745257275088548364400416034343698204186575808495617");async function JT(t){const e={labelIdx2Name:["one"],varIdx2Name:["one"],componentIdx2Name:[]},n=await zC(t),r=await n.read(n.totalSize),i=new TextDecoder("utf-8").decode(r).split("\n");for(let t=0;t<i.length;t++){const n=i[t].split(",");4==n.length&&(e.varIdx2Name[n[1]]?e.varIdx2Name[n[1]]+="|"+n[3]:e.varIdx2Name[n[1]]=n[3],e.labelIdx2Name[n[0]]=n[3],e.componentIdx2Name[n[2]]||(e.componentIdx2Name[n[2]]=o(n[3])))}return await n.close(),e;function o(t){const e=t.split(".");return e.pop(),e.join(".")}}const{unstringifyBigInts:WT}=vC;var qT=Object.freeze({__proto__:null,calculate:ST,debug:async function(t,e,n,r,i,o){const s=WT(t),a=await zC(e),c=await a.read(a.totalSize);await a.close();const l={...i,sanityCheck:!0};let u=await JT(r);i.set&&(u||(u=await JT(r)),l.logSetSignal=function(t,e){o&&o.info("SET "+u.labelIdx2Name[t]+" <-- "+e.toString())}),i.get&&(u||(u=await JT(r)),l.logGetSignal=function(t,e){o&&o.info("GET "+u.labelIdx2Name[t]+" --\x3e "+e.toString())}),i.trigger&&(u||(u=await JT(r)),l.logStartComponent=function(t){o&&o.info("START: "+u.componentIdx2Name[t])},l.logFinishComponent=function(t){o&&o.info("FINISH: "+u.componentIdx2Name[t])}),l.sym=u;const h=await bT(c,l),d=await h.calculateWitness(s,!0),p=await WC(n,"wtns",2,2);await async function(t,e,n){await qC(t,1);const r=8*(Math.floor((NC.bitLength(n)-1)/64)+1);await t.writeULE32(r),await $C(t,n,r),await t.writeULE32(e.length),await KC(t),await qC(t,2);for(let n=0;n<e.length;n++)await $C(t,e[n],r);await KC(t)}(p,d,h.prime),await p.close()},exportJson:async function(t){return await async function(t){const{fd:e,sections:n}=await JC(t,"wtns",2),{n8:r,nWitness:i}=await wT(e,n);await XC(e,n,2);const o=[];for(let t=0;t<i;t++){const t=await tB(e,r);o.push(t)}return await ZC(e),await e.close(),o}(t)},check:async function(t,e,n){n&&n.info("WITNESS CHECKING STARTED"),n&&n.info("> Reading r1cs file");const{fd:r,sections:i}=await JC(t,"r1cs",1),o=await zT(r,i,{loadConstraints:!1,loadCustomGates:!1});n&&n.info("> Reading witness file");const{fd:s,sections:a}=await JC(e,"wtns",2),c=await wT(s,a);if(!NC.eq(o.prime,c.q))throw new Error("Curve of the witness does not match the curve of the proving key");const l=await nB(s,a,2);await s.close();const u=(await cB(o.prime)).Fr,h=u.n8,d=await nB(r,i,2);n&&(n.info("----------------------------"),n.info(" WITNESS CHECK"),n.info(` Curve: ${o.curve.name}`),n.info(` Vars (wires): ${o.nVars}`),n.info(` Outputs: ${o.nOutputs}`),n.info(` Public Inputs: ${o.nPubInputs}`),n.info(` Private Inputs: ${o.nPrvInputs}`),n.info(` Labels: ${o.nLabels}`),n.info(` Constraints: ${o.nConstraints}`),n.info(` Custom Gates: ${o.useCustomGates}`),n.info("----------------------------")),n&&n.info("> Checking witness correctness");let p=0,f=!0;for(let t=0;t<o.nConstraints;t++){n&&0!==t&&t%5e5==0&&n.info(`··· processing r1cs constraints ${t}/${o.nConstraints}`);const e=g(),r=g(),i=g(),s=A(e),a=A(r),c=A(i);if(!u.eq(u.sub(u.mul(s,a),c),u.zero)){n.warn("··· aborting checking process at constraint "+t),f=!1;break}}return r.close(),n&&(f?(n.info("WITNESS IS CORRECT"),n.info("WITNESS CHECKING FINISHED SUCCESSFULLY")):(n.warn("WITNESS IS NOT CORRECT"),n.warn("WITNESS CHECKING FINISHED UNSUCCESSFULLY"))),f;function A(t){let e=u.zero;return Object.keys(t).forEach(n=>{const r=function(t){return u.fromRprLE(l.slice(t*h,t*h+h))}(n),i=t[n];e=u.add(e,u.mul(r,i))}),e}function g(){const t={},e=d.slice(p,p+4);p+=4;const n=new DataView(e.buffer).getUint32(0,!0),r=d.slice(p,p+(4+o.n8)*n);p+=(4+o.n8)*n;const i=new DataView(r.buffer);for(let e=0;e<n;e++){const n=i.getUint32(e*(4+o.n8),!0),s=o.F.fromRprLE(r,e*(4+o.n8)+4);t[n]=s}return t}}});const KT=262144,XT={get:function(t,e){return isNaN(e)?t[e]:t.getElement(e)},set:function(t,e,n){return isNaN(e)?(t[e]=n,!0):t.setElement(e,n)}};class ZT{constructor(t){this.length=t||0,this.arr=new Array(KT);for(let e=0;e<t;e+=KT)this.arr[e/KT]=new Array(Math.min(KT,t-e));return this}push(){for(let t=0;t<arguments.length;t++)this.setElement(this.length,arguments[t])}slice(t,e){const n=new Array(e-t);for(let r=t;r<e;r++)n[r-t]=this.getElement(r);return n}getElement(t){t=parseInt(t);const e=Math.floor(t/KT),n=t%KT;return this.arr[e]?this.arr[e][n]:void 0}setElement(t,e){t=parseInt(t);const n=Math.floor(t/KT);this.arr[n]||(this.arr[n]=new Array(KT));const r=t%KT;return this.arr[n][r]=e,t>=this.length&&(this.length=t+1),!0}getKeys(){const t=new $T;for(let e=0;e<this.arr.length;e++)if(this.arr[e])for(let n=0;n<this.arr[e].length;n++)void 0!==this.arr[e][n]&&t.push(e*KT+n);return t}}class $T{constructor(t){const e=new ZT(t);return new Proxy(e,XT)}}var tD=$T;async function eD(t,e,n,r){await dB.exports.ready();const i=dB.exports(64),{fd:o,sections:s}=await JC(e,"ptau",1),{curve:a,power:c}=await QT(o,s),{fd:l,sections:u}=await JC(t,"r1cs",1),h=await YT(l,u,!1),d=await WC(n,"zkey",1,10,1<<22,1<<24),p=2*a.G1.F.n8,f=2*a.G2.F.n8;if(h.prime!=a.r)return r&&r.error("r1cs curve does not match powers of tau ceremony curve"),-1;const A=JB(h.nConstraints+h.nPubInputs+h.nOutputs+1-1)+1;if(A>c)return r&&r.error(`circuit too big for this power of tau ceremony. ${h.nConstraints}*2 > 2**${c}`),-1;if(!s[12])return r&&r.error("Powers of tau is not prepared."),-1;const g=h.nOutputs+h.nPubInputs,E=2**A;await qC(d,1),await d.writeULE32(1),await KC(d),await qC(d,2);const m=a.q,w=8*(Math.floor((NC.bitLength(m)-1)/64)+1),y=a.r,I=8*(Math.floor((NC.bitLength(y)-1)/64)+1),C=NC.mod(NC.shl(1,8*I),y),B=a.Fr.e(NC.mod(NC.mul(C,C),y));let T,D,b;await d.writeULE32(w),await $C(d,m,w),await d.writeULE32(I),await $C(d,y,I),await d.writeULE32(h.nVars),await d.writeULE32(g),await d.writeULE32(E),T=await o.read(p,s[4][0].p),await d.write(T),T=await a.G1.batchLEMtoU(T),i.update(T),D=await o.read(p,s[5][0].p),await d.write(D),D=await a.G1.batchLEMtoU(D),i.update(D),b=await o.read(f,s[6][0].p),await d.write(b),b=await a.G2.batchLEMtoU(b),i.update(b);const M=new Uint8Array(p);a.G1.toRprLEM(M,0,a.G1.g);const N=new Uint8Array(f);a.G2.toRprLEM(N,0,a.G2.g);const v=new Uint8Array(p);a.G1.toRprUncompressed(v,0,a.G1.g);const S=new Uint8Array(f);a.G2.toRprUncompressed(S,0,a.G2.g),await d.write(N),await d.write(M),await d.write(N),i.update(S),i.update(v),i.update(S),await KC(d),r&&r.info("Reading r1cs");let _=await nB(l,u,2);const L=new tD(h.nVars),x=new tD(h.nVars),R=new tD(h.nVars),F=new tD(h.nVars-g-1),O=new Array(g+1);r&&r.info("Reading tauG1");let Q=await nB(o,s,12,(E-1)*p,E*p);r&&r.info("Reading tauG2");let k=await nB(o,s,13,(E-1)*f,E*f);r&&r.info("Reading alphatauG1");let U=await nB(o,s,14,(E-1)*p,E*p);r&&r.info("Reading betatauG1");let P=await nB(o,s,15,(E-1)*p,E*p);await async function(){const t=new Uint8Array(12+a.Fr.n8),e=new DataView(t.buffer),n=new Uint8Array(a.Fr.n8);a.Fr.toRprLE(n,0,a.Fr.e(1));let i=0;function o(){const t=_.slice(i,i+4);i+=4;return new DataView(t.buffer).getUint32(0,!0)}const s=new tD;for(let t=0;t<h.nConstraints;t++){r&&t%1e4==0&&r.debug(`processing constraints: ${t}/${h.nConstraints}`);const e=o();for(let n=0;n<e;n++){const e=o(),n=i;i+=a.Fr.n8;const r=0,c=p*t,l=3,u=p*t;void 0===L[e]&&(L[e]=[]),L[e].push([r,c,n]),e<=g?(void 0===O[e]&&(O[e]=[]),O[e].push([l,u,n])):(void 0===F[e-g-1]&&(F[e-g-1]=[]),F[e-g-1].push([l,u,n])),s.push([0,t,e,n])}const n=o();for(let e=0;e<n;e++){const e=o(),n=i;i+=a.Fr.n8;const r=0,c=p*t,l=1,u=f*t,h=2,d=p*t;void 0===x[e]&&(x[e]=[]),x[e].push([r,c,n]),void 0===R[e]&&(R[e]=[]),R[e].push([l,u,n]),e<=g?(void 0===O[e]&&(O[e]=[]),O[e].push([h,d,n])):(void 0===F[e-g-1]&&(F[e-g-1]=[]),F[e-g-1].push([h,d,n])),s.push([1,t,e,n])}const c=o();for(let e=0;e<c;e++){const e=o(),n=i;i+=a.Fr.n8;const r=0,s=p*t;e<=g?(void 0===O[e]&&(O[e]=[]),O[e].push([r,s,n])):(void 0===F[e-g-1]&&(F[e-g-1]=[]),F[e-g-1].push([r,s,n]))}}for(let t=0;t<=g;t++){const e=0,n=p*(h.nConstraints+t),r=3,i=p*(h.nConstraints+t);void 0===L[t]&&(L[t]=[]),L[t].push([e,n,-1]),void 0===O[t]&&(O[t]=[]),O[t].push([r,i,-1]),s.push([0,h.nConstraints+t,t,-1])}await qC(d,4);const c=new JI(s.length*(12+a.Fr.n8)+4),l=new Uint8Array(4);new DataView(l.buffer).setUint32(0,s.length,!0),c.set(l);let u=4;for(let t=0;t<s.length;t++)r&&t%1e5==0&&r.debug(`writing coeffs: ${t}/${s.length}`),A(s[t]);function A(r){let i;e.setUint32(0,r[0],!0),e.setUint32(4,r[1],!0),e.setUint32(8,r[2],!0),i=r[3]>=0?a.Fr.fromRprLE(_.slice(r[3],r[3]+a.Fr.n8),0):a.Fr.fromRprLE(n,0);const o=a.Fr.mul(i,B);a.Fr.toRprLE(t,12,o),c.set(t,u),u+=t.length}await d.write(c),await KC(d)}(),await V(3,"G1",O,"IC"),await async function(){await qC(d,9);const t=new JI(E*p);if(A<a.Fr.s){let e=await nB(o,s,12,(2*E-1)*p,2*E*p);for(let n=0;n<E;n++){r&&n%1e4==0&&r.debug(`splitting buffer: ${n}/${E}`);const i=e.slice((2*n+1)*p,(2*n+1)*p+p);t.set(i,n*p)}}else{if(A!=a.Fr.s)throw r&&r.error("Circuit too big"),new Error("Circuit too big for this curve");{const e=s[12][0].p+(2**(A+1)-1)*p;await o.readToBuffer(t,0,E*p,e+E*p)}}await d.write(t),await KC(d)}(),await async function(){z(E-1);for(let t=0;t<E-1;t+=16384){r&&r.debug(`HashingHPoints: ${t}/${E}`);const e=Math.min(E-1,16384);await j(t,e)}}(),await V(8,"G1",F,"C"),await V(5,"G1",L,"A"),await V(6,"G1",x,"B1"),await V(7,"G2",R,"B2");const G=i.digest();return await qC(d,10),await d.write(G),await d.writeULE32(0),await KC(d),r&&r.info(WB(G,"Circuit hash: ")),await d.close(),await l.close(),await o.close(),G;async function V(t,e,n,o){const s=a[e];z(n.length),await qC(d,t);let c=[],l=0;for(;l<n.length;){let t=0;for(;l<n.length&&t<a.tm.concurrency;){r&&r.debug(`Writing points start ${o}: ${l}/${n.length}`);let i=1,s=n[l]?n[l].length:0;for(;l+i<n.length&&s+(n[l+i]?n[l+i].length:0)<32768&&i<32768;)s+=n[l+i]?n[l+i].length:0,i++;const a=n.slice(l,l+i),u=l;c.push(H(e,a,r,o).then(t=>(r&&r.debug(`Writing points end ${o}: ${u}/${n.length}`),t))),l+=i,t++}const u=await Promise.all(c);for(let t=0;t<u.length;t++){await d.write(u[t][0]);const e=await s.batchLEMtoU(u[t][0]);i.update(e)}c=[]}await KC(d)}async function H(t,e,n,r){const i=a[t],o=2*i.F.n8,s=3*i.F.n8,c=2*i.F.n8;let l,u,h,d;if("G1"==t)l="g1m_timesScalarAffine",u="g1m_multiexpAffine",h="g1m_batchToAffine",d="g1m_zero";else{if("G2"!=t)throw new Error("Invalid group");l="g2m_timesScalarAffine",u="g2m_multiexpAffine",h="g2m_batchToAffine",d="g2m_zero"}let p,f,A=0;for(let t=0;t<e.length;t++)A+=e[t]?e[t].length:0;A>32768?(p=new JI(A*o),f=new JI(A*a.Fr.n8)):(p=new Uint8Array(A*o),f=new Uint8Array(A*a.Fr.n8));let g=0,E=0;const m=[Q,k,U,P],w=new Uint8Array(a.Fr.n8);a.Fr.toRprLE(w,0,a.Fr.e(1));let y=0;for(let t=0;t<e.length;t++)if(e[t])for(let i=0;i<e[t].length;i++)n&&i&&i%1e4==0&&n.debug(`Configuring big array ${r}: ${i}/${e[t].length}`),p.set(m[e[t][i][0]].slice(e[t][i][1],e[t][i][1]+o),y*o),e[t][i][2]>=0?f.set(_.slice(e[t][i][2],e[t][i][2]+a.Fr.n8),y*a.Fr.n8):f.set(w,y*a.Fr.n8),y++;if(e.length>1){const t=[];t.push({cmd:"ALLOCSET",var:0,buff:p}),t.push({cmd:"ALLOCSET",var:1,buff:f}),t.push({cmd:"ALLOC",var:2,len:e.length*s}),g=0,E=0;let n=0;for(let r=0;r<e.length;r++)e[r]?(1==e[r].length?t.push({cmd:"CALL",fnName:l,params:[{var:0,offset:g},{var:1,offset:E},{val:a.Fr.n8},{var:2,offset:n}]}):t.push({cmd:"CALL",fnName:u,params:[{var:0,offset:g},{var:1,offset:E},{val:a.Fr.n8},{val:e[r].length},{var:2,offset:n}]}),g+=o*e[r].length,E+=a.Fr.n8*e[r].length,n+=s):(t.push({cmd:"CALL",fnName:d,params:[{var:2,offset:n}]}),n+=s);t.push({cmd:"CALL",fnName:h,params:[{var:2},{val:e.length},{var:2}]}),t.push({cmd:"GET",out:0,var:2,len:e.length*c});return await a.tm.queueAction(t)}{let t=await i.multiExpAffine(p,f,n,r);return t=[i.toAffine(t)],t}}async function j(t,e){const n=await o.read(e*p,s[2][0].p+(t+E)*p),r=await o.read(e*p,s[2][0].p+t*p),c=a.tm.concurrency,l=Math.floor(e/c),u=[];for(let t=0;t<c;t++){let i;if(i=t<c-1?l:e-t*l,0==i)continue;const o=n.slice(t*l*p,(t*l+i)*p),s=r.slice(t*l*p,(t*l+i)*p);u.push(Y(o,s))}const h=await Promise.all(u);for(let t=0;t<h.length;t++)i.update(h[t][0])}async function Y(t,e){const n=t.byteLength/p,r=3*a.G1.F.n8,i=[];i.push({cmd:"ALLOCSET",var:0,buff:t}),i.push({cmd:"ALLOCSET",var:1,buff:e}),i.push({cmd:"ALLOC",var:2,len:n*r});for(let t=0;t<n;t++)i.push({cmd:"CALL",fnName:"g1m_subAffine",params:[{var:0,offset:t*p},{var:1,offset:t*p},{var:2,offset:t*r}]});i.push({cmd:"CALL",fnName:"g1m_batchToAffine",params:[{var:2},{val:n},{var:2}]}),i.push({cmd:"CALL",fnName:"g1m_batchLEMtoU",params:[{var:2},{val:n},{var:2}]}),i.push({cmd:"GET",out:0,var:2,len:n*p});return await a.tm.queueAction(i)}function z(t){const e=new Uint8Array(4);new DataView(e.buffer,e.byteOffset,e.byteLength).setUint32(0,t,!1),i.update(e)}}const nD=XB;async function rD(t,e,n,r){let i;await dB.exports.ready();const{fd:o,sections:s}=await JC(n,"zkey",2),a=await dT(o,s,!1);if("groth16"!=a.protocol)throw new Error("zkey file is not groth16");const c=await lB(a.q),l=2*c.G1.F.n8,u=await fT(o,c,s),h=dB.exports(64);h.update(u.csHash);let d=c.G1.g;for(let t=0;t<u.contributions.length;t++){const e=u.contributions[t],n=KB(h);if(ET(n,c,e.delta.g1_s),ET(n,c,e.delta.g1_sx),!qB(n.digest(),e.transcript))return console.log(`INVALID(${t}): Inconsistent transcript `),!1;const r=OT(c,e.transcript);if(i=await nD(c,e.delta.g1_s,e.delta.g1_sx,r,e.delta.g2_spx),!0!==i)return console.log(`INVALID(${t}): public key G1 and G2 do not have the same ration `),!1;if(i=await nD(c,d,e.deltaAfter,r,e.delta.g2_spx),!0!==i)return console.log(`INVALID(${t}): deltaAfter does not fillow the public key `),!1;if(1==e.type){const n=await rT(e.beaconHash,e.numIterationsExp),r=c.Fr.fromRng(n),i=c.G1.toAffine(c.G1.fromRng(n)),o=c.G1.toAffine(c.G1.timesFr(i,r));if(!0!==c.G1.eq(i,e.delta.g1_s))return console.log(`INVALID(${t}): Key of the beacon does not match. g1_s `),!1;if(!0!==c.G1.eq(o,e.delta.g1_sx))return console.log(`INVALID(${t}): Key of the beacon does not match. g1_sx `),!1}mT(h,c,e);const o=dB.exports(64);mT(o,c,e),e.contributionHash=o.digest(),d=e.deltaAfter}const{fd:p,sections:f}=await JC(t,"zkey",2),A=await dT(p,f,!1);if("groth16"!=A.protocol)throw new Error("zkeyinit file is not groth16");if(!NC.eq(A.q,a.q)||!NC.eq(A.r,a.r)||A.n8q!=a.n8q||A.n8r!=a.n8r)return r&&r.error("INVALID: Different curves"),!1;if(A.nVars!=a.nVars||A.nPublic!=a.nPublic||A.domainSize!=a.domainSize)return r&&r.error("INVALID: Different circuit parameters"),!1;if(!c.G1.eq(a.vk_alpha_1,A.vk_alpha_1))return r&&r.error("INVALID: Invalid alpha1"),!1;if(!c.G1.eq(a.vk_beta_1,A.vk_beta_1))return r&&r.error("INVALID: Invalid beta1"),!1;if(!c.G2.eq(a.vk_beta_2,A.vk_beta_2))return r&&r.error("INVALID: Invalid beta2"),!1;if(!c.G2.eq(a.vk_gamma_2,A.vk_gamma_2))return r&&r.error("INVALID: Invalid gamma2"),!1;if(!c.G1.eq(a.vk_delta_1,d))return r&&r.error("INVALID: Invalid delta1"),!1;if(i=await nD(c,c.G1.g,d,c.G2.g,a.vk_delta_2),!0!==i)return r&&r.error("INVALID: Invalid delta2"),!1;const g=await fT(p,c,f);if(!qB(u.csHash,g.csHash))return r&&r.error("INVALID: Circuit does not match"),!1;if(s[8][0].size!=l*(a.nVars-a.nPublic-1))return r&&r.error("INVALID: Invalid L section size"),!1;if(s[9][0].size!=l*a.domainSize)return r&&r.error("INVALID: Invalid H section size"),!1;let E;if(E=await rB(o,s,p,f,3),!E)return r&&r.error("INVALID: IC section is not identical"),!1;if(E=await rB(o,s,p,f,4),!E)return r&&r.error("Coeffs section is not identical"),!1;if(E=await rB(o,s,p,f,5),!E)return r&&r.error("A section is not identical"),!1;if(E=await rB(o,s,p,f,6),!E)return r&&r.error("B1 section is not identical"),!1;if(E=await rB(o,s,p,f,7),!E)return r&&r.error("B2 section is not identical"),!1;if(i=await async function(t,e,n,o,s,a,l,u,h){const d=1<<20,p=c[t],f=2*p.F.n8;await XC(e,n,a),await XC(o,s,a);let A=p.zero,g=p.zero;const E=n[a][0].size/f;for(let t=0;t<E;t+=d){r&&r.debug(`Same ratio check ${h}: ${t}/${E}`);const n=Math.min(E-t,d),i=await e.read(n*f),s=await o.read(n*f),a=$B(4*n),c=await p.multiExpAffine(i,a),l=await p.multiExpAffine(s,a);A=p.add(A,c),g=p.add(g,l)}return await ZC(e),await ZC(o),0==E||(i=await nD(c,A,g,l,u),!0===i)}("G1",p,f,o,s,8,a.vk_delta_2,A.vk_delta_2,"L section"),!0!==i)return r&&r.error("L section does not match"),!1;if(i=await async function(){const t=1<<20,n=c.G1,l=c.Fr,u=2*n.F.n8,{fd:h,sections:d}=await JC(e,"ptau",1);let p=new JI(a.domainSize*a.n8r);const f=new Array(8);for(let t=0;t<8;t++)f[t]=eT($B(4),0);const g=new ty(f);for(let t=0;t<a.domainSize-1;t++){const e=l.fromRng(g);l.toRprLE(p,t*a.n8r,e)}l.toRprLE(p,(a.domainSize-1)*a.n8r,l.zero);let E,w=n.zero;for(let e=0;e<a.domainSize;e+=t){r&&r.debug(`H Verification(tau): ${e}/${a.domainSize}`);const i=Math.min(a.domainSize-e,t),o=await h.read(u*i,d[2][0].p+a.domainSize*u+e*u),s=await h.read(u*i,d[2][0].p+e*u),c=await m(o,s),l=p.slice(e*a.n8r,(e+i)*a.n8r),f=await n.multiExpAffine(c,l);w=n.add(w,f)}if(p=await l.batchToMontgomery(p),a.power<l.s)E=l.neg(l.e(2));else{const t=2**l.s,e=l.exp(l.shift,t);E=l.sub(e,l.one)}const y=a.power<l.s?l.w[a.power+1]:l.shift;p=await l.batchApplyKey(p,E,y),p=await l.fft(p),p=await l.batchFromMontgomery(p),await XC(o,s,9);let I=n.zero;for(let e=0;e<a.domainSize;e+=t){r&&r.debug(`H Verification(lagrange): ${e}/${a.domainSize}`);const i=Math.min(a.domainSize-e,t),s=await o.read(u*i),c=p.slice(e*a.n8r,(e+i)*a.n8r),l=await n.multiExpAffine(s,c);I=n.add(I,l)}return await ZC(o),i=await nD(c,w,I,a.vk_delta_2,A.vk_delta_2),!0===i}(),!0!==i)return r&&r.error("H section does not match"),!1;r&&r.info(WB(u.csHash,"Circuit Hash: ")),await o.close(),await p.close();for(let t=u.contributions.length-1;t>=0;t--){const e=u.contributions[t];r&&r.info("-------------------------"),r&&r.info(WB(e.contributionHash,`contribution #${t+1} ${e.name?e.name:""}:`)),1==e.type&&(r&&r.info(`Beacon generator: ${oT(e.beaconHash)}`),r&&r.info(`Beacon iterations Exp: ${e.numIterationsExp}`))}return r&&r.info("-------------------------"),r&&r.info("ZKey Ok!"),!0;async function m(t,e){const n=2*c.G1.F.n8,r=t.byteLength/n,i=c.tm.concurrency,o=Math.floor(r/i),s=[];for(let n=0;n<i;n++){let a;if(a=n<i-1?o:r-n*o,0==a)continue;const c=t.slice(n*o*l,(n*o+a)*l),u=e.slice(n*o*l,(n*o+a)*l);s.push(w(c,u))}const a=await Promise.all(s),u=new Uint8Array(r*n);let h=0;for(let t=0;t<a.length;t++)u.set(a[t][0],h),h+=a[t][0].byteLength;return u}async function w(t,e){const n=2*c.G1.F.n8,r=3*c.G1.F.n8,i=t.byteLength/n,o=[];o.push({cmd:"ALLOCSET",var:0,buff:t}),o.push({cmd:"ALLOCSET",var:1,buff:e}),o.push({cmd:"ALLOC",var:2,len:i*r});for(let t=0;t<i;t++)o.push({cmd:"CALL",fnName:"g1m_subAffine",params:[{var:0,offset:t*n},{var:1,offset:t*n},{var:2,offset:t*r}]});o.push({cmd:"CALL",fnName:"g1m_batchToAffine",params:[{var:2},{val:i},{var:2}]}),o.push({cmd:"GET",out:0,var:2,len:i*n});return await c.tm.queueAction(o)}}const{stringifyBigInts:iD}=vC;async function oD(t,e){e&&e.info("EXPORT VERIFICATION KEY STARTED");const{fd:n,sections:r}=await JC(t,"zkey",2),i=await dT(n,r);let o;if(e&&e.info("> Detected protocol: "+i.protocol),"groth16"===i.protocol)o=await async function(t,e,n){const r=await lB(t.q),i=2*r.G1.F.n8,o=await r.pairing(t.vk_alpha_1,t.vk_beta_2);let s={protocol:t.protocol,curve:r.name,nPublic:t.nPublic,vk_alpha_1:r.G1.toObject(t.vk_alpha_1),vk_beta_2:r.G2.toObject(t.vk_beta_2),vk_gamma_2:r.G2.toObject(t.vk_gamma_2),vk_delta_2:r.G2.toObject(t.vk_delta_2),vk_alphabeta_12:r.Gt.toObject(o)};await XC(e,n,3),s.IC=[];for(let n=0;n<=t.nPublic;n++){const t=await e.read(i),n=r.G1.toObject(t);s.IC.push(n)}return await ZC(e),s=iD(s),s}(i,n,r);else if("plonk"===i.protocol)o=await async function(t){const e=await lB(t.q);let n={protocol:t.protocol,curve:e.name,nPublic:t.nPublic,power:t.power,k1:e.Fr.toObject(t.k1),k2:e.Fr.toObject(t.k2),Qm:e.G1.toObject(t.Qm),Ql:e.G1.toObject(t.Ql),Qr:e.G1.toObject(t.Qr),Qo:e.G1.toObject(t.Qo),Qc:e.G1.toObject(t.Qc),S1:e.G1.toObject(t.S1),S2:e.G1.toObject(t.S2),S3:e.G1.toObject(t.S3),X_2:e.G2.toObject(t.X_2),w:e.Fr.toObject(e.Fr.w[t.power])};return n=iD(n),n}(i);else{if(!i.protocolId||i.protocolId!==sT)throw new Error("zkey file protocol unrecognized");o=await async function(t){const e=await lB(t.q);let n={protocol:t.protocol,curve:e.name,nPublic:t.nPublic,power:t.power,k1:e.Fr.toObject(t.k1),k2:e.Fr.toObject(t.k2),w:e.Fr.toObject(e.Fr.w[t.power]),w3:e.Fr.toObject(t.w3),w4:e.Fr.toObject(t.w4),w8:e.Fr.toObject(t.w8),wr:e.Fr.toObject(t.wr),X_2:e.G2.toObject(t.X_2),C0:e.G1.toObject(t.C0)};return iD(n)}(i)}return await n.close(),e&&e.info("EXPORT VERIFICATION KEY FINISHED"),o}var sD={};const{unstringifyBigInts:aD,stringifyBigInts:cD}=vC;async function lD(t,e,n){n&&n.info("FFLONK EXPORT SOLIDITY VERIFIER STARTED");const r=await uB(t.curve);let i=l(t.w3);t.w3_2=u(r.Fr.square(i));let o=l(t.w4);t.w4_2=u(r.Fr.square(o)),t.w4_3=u(r.Fr.mul(r.Fr.square(o),o));let s=l(t.w8),a=r.Fr.one;for(let e=1;e<8;e++)a=r.Fr.mul(a,s),t["w8_"+e]=u(a);let c=e[t.protocol];return n&&n.info("FFLONK EXPORT SOLIDITY VERIFIER FINISHED"),sD.render(c,t);function l(t){const e=aD(t);return r.Fr.fromObject(e)}function u(t){const e=r.Fr.toObject(t);return cD(e)}}var uD=Object.freeze({__proto__:null,newZKey:eD,exportBellman:async function(t,e,n){const{fd:r,sections:i}=await JC(t,"zkey",2),o=await dT(r,i);if("groth16"!=o.protocol)throw new Error("zkey file is not groth16");const s=await lB(o.q),a=2*s.G1.F.n8,c=2*s.G2.F.n8,l=await fT(r,s,i),u=await YC(e);let h;await m(o.vk_alpha_1),await m(o.vk_beta_1),await w(o.vk_beta_2),await w(o.vk_gamma_2),await m(o.vk_delta_1),await w(o.vk_delta_2),h=await nB(r,i,3),h=await s.G1.batchLEMtoU(h),await y("G1",h);const d=await nB(r,i,9);let p,f,A,g,E;p=await s.G1.fft(d,"affine","jacobian",n),p=await s.G1.batchApplyKey(p,s.Fr.neg(s.Fr.e(2)),s.Fr.w[o.power+1],"jacobian","affine",n),p=p.slice(0,p.byteLength-a),p=await s.G1.batchLEMtoU(p),await y("G1",p),f=await nB(r,i,8),f=await s.G1.batchLEMtoU(f),await y("G1",f),A=await nB(r,i,5),A=await s.G1.batchLEMtoU(A),await y("G1",A),g=await nB(r,i,6),g=await s.G1.batchLEMtoU(g),await y("G1",g),E=await nB(r,i,7),E=await s.G2.batchLEMtoU(E),await y("G2",E),await u.write(l.csHash),await async function(t){const e=new Uint8Array(4);new DataView(e.buffer,e.byteOffset,e.byteLength).setUint32(0,t,!1),await u.write(e)}(l.contributions.length);for(let t=0;t<l.contributions.length;t++){const e=l.contributions[t];await m(e.deltaAfter),await m(e.delta.g1_s),await m(e.delta.g1_sx),await w(e.delta.g2_spx),await u.write(e.transcript)}async function m(t){const e=new Uint8Array(a);s.G1.toRprUncompressed(e,0,t),await u.write(e)}async function w(t){const e=new Uint8Array(c);s.G2.toRprUncompressed(e,0,t),await u.write(e)}async function y(t,e){let n;n="G1"==t?a:c;const r=new Uint8Array(4);new DataView(r.buffer,r.byteOffset,r.byteLength).setUint32(0,e.byteLength/n,!1),await u.write(r),await u.write(e)}await r.close(),await u.close()},importBellman:async function(t,e,n,r,i){const{fd:o,sections:s}=await JC(t,"zkey",2),a=await dT(o,s,!1);if("groth16"!=a.protocol)throw new Error("zkey file is not groth16");const c=await lB(a.q),l=2*c.G1.F.n8,u=2*c.G2.F.n8,h=await fT(o,c,s),d={},p=await zC(e);p.pos=3*l+3*u+8+l*a.nVars+4+l*(a.domainSize-1)+4+l*a.nVars+4+l*a.nVars+4+u*a.nVars,d.csHash=await p.read(64);const f=await p.readUBE32();d.contributions=[];for(let t=0;t<f;t++){const e={delta:{}};e.deltaAfter=await C(p),e.delta.g1_s=await C(p),e.delta.g1_sx=await C(p),e.delta.g2_spx=await B(p),e.transcript=await p.read(64),t<h.contributions.length&&(e.type=h.contributions[t].type,1==e.type&&(e.beaconHash=h.contributions[t].beaconHash,e.numIterationsExp=h.contributions[t].numIterationsExp),h.contributions[t].name&&(e.name=h.contributions[t].name)),d.contributions.push(e)}if(!qB(d.csHash,h.csHash))return i&&i.error("Hash of the original circuit does not match with the MPC one"),!1;if(h.contributions.length>d.contributions.length)return i&&i.error("The impoerted file does not include new contributions"),!1;for(let t=0;t<h.contributions.length;t++)if(!T(h.contributions[t],d.contributions[t]))return i&&i.error(`Previous contribution ${t} does not match`),!1;if(r)for(let t=h.contributions.length;t<d.contributions.length;t++)d.contributions[t].name=r;const A=await WC(n,"zkey",1,10);if(p.pos=0,p.pos+=l,p.pos+=l,p.pos+=u,p.pos+=u,a.vk_delta_1=await C(p),a.vk_delta_2=await B(p),await aT(A,a),await p.readUBE32()!=a.nPublic+1)return i&&i.error("Invalid number of points in IC"),await A.discard(),!1;if(p.pos+=l*(a.nPublic+1),await eB(o,s,A,3),await eB(o,s,A,4),await p.readUBE32()!=a.domainSize-1)return i&&i.error("Invalid number of points in H"),await A.discard(),!1;let g;const E=await p.read(l*(a.domainSize-1)),m=await c.G1.batchUtoLEM(E);g=new Uint8Array(a.domainSize*l),g.set(m),c.G1.toRprLEM(g,l*(a.domainSize-1),c.G1.zeroAffine);const w=c.Fr.neg(c.Fr.inv(c.Fr.e(2))),y=c.Fr.inv(c.Fr.w[a.power+1]);if(g=await c.G1.batchApplyKey(g,w,y,"affine","jacobian",i),g=await c.G1.ifft(g,"jacobian","affine",i),await qC(A,9),await A.write(g),await KC(A),await p.readUBE32()!=a.nVars-a.nPublic-1)return i&&i.error("Invalid number of points in L"),await A.discard(),!1;let I;return I=await p.read(l*(a.nVars-a.nPublic-1)),I=await c.G1.batchUtoLEM(I),await qC(A,8),await A.write(I),await KC(A),await p.readUBE32()!=a.nVars?(i&&i.error("Invalid number of points in A"),await A.discard(),!1):(p.pos+=l*a.nVars,await eB(o,s,A,5),await p.readUBE32()!=a.nVars?(i&&i.error("Invalid number of points in B1"),await A.discard(),!1):(p.pos+=l*a.nVars,await eB(o,s,A,6),await p.readUBE32()!=a.nVars?(i&&i.error("Invalid number of points in B2"),await A.discard(),!1):(p.pos+=u*a.nVars,await eB(o,s,A,7),await gT(A,c,d),await p.close(),await A.close(),await o.close(),!0)));async function C(t){const e=await t.read(2*c.G1.F.n8);return c.G1.fromRprUncompressed(e,0)}async function B(t){const e=await t.read(2*c.G2.F.n8);return c.G2.fromRprUncompressed(e,0)}function T(t,e){return!!c.G1.eq(t.deltaAfter,e.deltaAfter)&&(!!c.G1.eq(t.delta.g1_s,e.delta.g1_s)&&(!!c.G1.eq(t.delta.g1_sx,e.delta.g1_sx)&&(!!c.G2.eq(t.delta.g2_spx,e.delta.g2_spx)&&!!qB(t.transcript,e.transcript))))}},verifyFromR1cs:async function(t,e,n,r){const i={type:"bigMem"};return await eD(t,e,i,r),await rD(i,e,n,r)},verifyFromInit:rD,contribute:async function(t,e,n,r,i){await dB.exports.ready();const{fd:o,sections:s}=await JC(t,"zkey",2),a=await dT(o,s);if("groth16"!=a.protocol)throw new Error("zkey file is not groth16");const c=await lB(a.q),l=await fT(o,c,s),u=await WC(e,"zkey",1,10),h=await nT(r),d=dB.exports(64);d.update(l.csHash);for(let t=0;t<l.contributions.length;t++)mT(d,c,l.contributions[t]);const p={delta:{}};p.delta.prvKey=c.Fr.fromRng(h),p.delta.g1_s=c.G1.toAffine(c.G1.fromRng(h)),p.delta.g1_sx=c.G1.toAffine(c.G1.timesFr(p.delta.g1_s,p.delta.prvKey)),ET(d,c,p.delta.g1_s),ET(d,c,p.delta.g1_sx),p.transcript=d.digest(),p.delta.g2_sp=OT(c,p.transcript),p.delta.g2_spx=c.G2.toAffine(c.G2.timesFr(p.delta.g2_sp,p.delta.prvKey)),a.vk_delta_1=c.G1.timesFr(a.vk_delta_1,p.delta.prvKey),a.vk_delta_2=c.G2.timesFr(a.vk_delta_2,p.delta.prvKey),p.deltaAfter=a.vk_delta_1,p.type=0,n&&(p.name=n),l.contributions.push(p),await aT(u,a),await eB(o,s,u,3),await eB(o,s,u,4),await eB(o,s,u,5),await eB(o,s,u,6),await eB(o,s,u,7);const f=c.Fr.inv(p.delta.prvKey);await kT(o,s,u,8,c,"G1",f,c.Fr.e(1),"L Section",i),await kT(o,s,u,9,c,"G1",f,c.Fr.e(1),"H Section",i),await gT(u,c,l),await o.close(),await u.close();const A=dB.exports(64);mT(A,c,p);const g=A.digest();return i&&i.info(WB(l.csHash,"Circuit Hash: ")),i&&i.info(WB(g,"Contribution Hash: ")),g},beacon:async function(t,e,n,r,i,o){await dB.exports.ready();const s=iT(r);if(0==s.byteLength||2*s.byteLength!=r.length)return o&&o.error("Invalid Beacon Hash. (It must be a valid hexadecimal sequence)"),!1;if(s.length>=256)return o&&o.error("Maximum length of beacon hash is 255 bytes"),!1;if((i=parseInt(i))<10||i>63)return o&&o.error("Invalid numIterationsExp. (Must be between 10 and 63)"),!1;const{fd:a,sections:c}=await JC(t,"zkey",2),l=await dT(a,c);if("groth16"!=l.protocol)throw new Error("zkey file is not groth16");const u=await lB(l.q),h=await fT(a,u,c),d=await WC(e,"zkey",1,10),p=await rT(s,i),f=dB.exports(64);f.update(h.csHash);for(let t=0;t<h.contributions.length;t++)mT(f,u,h.contributions[t]);const A={delta:{}};A.delta.prvKey=u.Fr.fromRng(p),A.delta.g1_s=u.G1.toAffine(u.G1.fromRng(p)),A.delta.g1_sx=u.G1.toAffine(u.G1.timesFr(A.delta.g1_s,A.delta.prvKey)),ET(f,u,A.delta.g1_s),ET(f,u,A.delta.g1_sx),A.transcript=f.digest(),A.delta.g2_sp=OT(u,A.transcript),A.delta.g2_spx=u.G2.toAffine(u.G2.timesFr(A.delta.g2_sp,A.delta.prvKey)),l.vk_delta_1=u.G1.timesFr(l.vk_delta_1,A.delta.prvKey),l.vk_delta_2=u.G2.timesFr(l.vk_delta_2,A.delta.prvKey),A.deltaAfter=l.vk_delta_1,A.type=1,A.numIterationsExp=i,A.beaconHash=s,n&&(A.name=n),h.contributions.push(A),await aT(d,l),await eB(a,c,d,3),await eB(a,c,d,4),await eB(a,c,d,5),await eB(a,c,d,6),await eB(a,c,d,7);const g=u.Fr.inv(A.delta.prvKey);await kT(a,c,d,8,u,"G1",g,u.Fr.e(1),"L Section",o),await kT(a,c,d,9,u,"G1",g,u.Fr.e(1),"H Section",o),await gT(d,u,h),await a.close(),await d.close();const E=dB.exports(64);mT(E,u,A);const m=E.digest();return o&&o.info(WB(m,"Contribution Hash: ")),m},exportJson:async function(t){const e=await async function(t,e){const{fd:n,sections:r}=await JC(t,"zkey",1),i=await dT(n,r,e),o=new ay(i.r),s=NC.mod(NC.shl(1,8*i.n8r),i.r),a=o.inv(s),c=o.mul(a,a);let l=await lB(i.q);await XC(n,r,3),i.IC=[];for(let t=0;t<=i.nPublic;t++){const t=await uT(n,l,e);i.IC.push(t)}await ZC(n),await XC(n,r,4);const u=await n.readULE32();i.ccoefs=[];for(let t=0;t<u;t++){const t=await n.readULE32(),e=await n.readULE32(),r=await n.readULE32(),o=await h();i.ccoefs.push({matrix:t,constraint:e,signal:r,value:o})}await ZC(n),await XC(n,r,5),i.A=[];for(let t=0;t<i.nVars;t++){const r=await uT(n,l,e);i.A[t]=r}await ZC(n),await XC(n,r,6),i.B1=[];for(let t=0;t<i.nVars;t++){const r=await uT(n,l,e);i.B1[t]=r}await ZC(n),await XC(n,r,7),i.B2=[];for(let t=0;t<i.nVars;t++){const r=await hT(n,l,e);i.B2[t]=r}await ZC(n),await XC(n,r,8),i.C=[];for(let t=i.nPublic+1;t<i.nVars;t++){const r=await uT(n,l,e);i.C[t]=r}await ZC(n),await XC(n,r,9),i.hExps=[];for(let t=0;t<i.domainSize;t++){const t=await uT(n,l,e);i.hExps.push(t)}return await ZC(n),await n.close(),i;async function h(){const t=await tB(n,i.n8r);return o.mul(t,c)}}(t,!0);return delete e.curve,delete e.F,vC.stringifyBigInts(e)},bellmanContribute:async function(t,e,n,r,i){await dB.exports.ready();const o=await nT(r),s=t.Fr.fromRng(o),a=t.Fr.inv(s),c=2*t.G1.F.n8,l=2*t.G2.F.n8,u=await zC(e),h=await YC(n);await N(c),await N(c),await N(l),await N(l);const d=await v(),p=t.G1.timesFr(d,s);await _(p);const f=await S(),A=t.G2.timesFr(f,s);await L(A);const g=await u.readUBE32();await h.writeUBE32(g),await N(g*c);const E=await u.readUBE32();await h.writeUBE32(E),await UT(u,h,null,t,"G1",E,a,t.Fr.e(1),"UNCOMPRESSED","H",i);const m=await u.readUBE32();await h.writeUBE32(m),await UT(u,h,null,t,"G1",m,a,t.Fr.e(1),"UNCOMPRESSED","L",i);const w=await u.readUBE32();await h.writeUBE32(w),await N(w*c);const y=await u.readUBE32();await h.writeUBE32(y),await N(y*c);const I=await u.readUBE32();await h.writeUBE32(I),await N(I*l);const C=dB.exports(64),B={};B.csHash=await u.read(64),C.update(B.csHash);const T=await u.readUBE32();B.contributions=[];for(let e=0;e<T;e++){const e={delta:{}};e.deltaAfter=await v(),e.delta.g1_s=await v(),e.delta.g1_sx=await v(),e.delta.g2_spx=await S(),e.transcript=await u.read(64),B.contributions.push(e),mT(C,t,e)}const D={delta:{}};D.delta.prvKey=s,D.delta.g1_s=t.G1.toAffine(t.G1.fromRng(o)),D.delta.g1_sx=t.G1.toAffine(t.G1.timesFr(D.delta.g1_s,s)),ET(C,t,D.delta.g1_s),ET(C,t,D.delta.g1_sx),D.transcript=C.digest(),D.delta.g2_sp=OT(t,D.transcript),D.delta.g2_spx=t.G2.toAffine(t.G2.timesFr(D.delta.g2_sp,s)),D.deltaAfter=p,D.type=0,B.contributions.push(D),await h.write(B.csHash),await h.writeUBE32(B.contributions.length);for(let t=0;t<B.contributions.length;t++){const e=B.contributions[t];await _(e.deltaAfter),await _(e.delta.g1_s),await _(e.delta.g1_sx),await L(e.delta.g2_spx),await h.write(e.transcript)}const b=dB.exports(64);mT(b,t,D);const M=b.digest();return i&&i.info(WB(M,"Contribution Hash: ")),await h.close(),await u.close(),M;async function N(t){const e=2*u.pageSize;for(let n=0;n<t;n+=e){const r=Math.min(t-n,e),i=await u.read(r);await h.write(i)}}async function v(){const e=await u.read(2*t.G1.F.n8);return t.G1.fromRprUncompressed(e,0)}async function S(){const e=await u.read(2*t.G2.F.n8);return t.G2.fromRprUncompressed(e,0)}async function _(e){const n=new Uint8Array(c);t.G1.toRprUncompressed(n,0,e),await h.write(n)}async function L(e){const n=new Uint8Array(l);t.G2.toRprUncompressed(n,0,e),await h.write(n)}},exportVerificationKey:oD,exportSolidityVerifier:async function(t,e,n){const r=await oD(t,n);if("fflonk"===r.protocol)return lD(r,e,n);let i=e[r.protocol];return sD.render(i,r)}});var hD,dD={exports:{}};
109
- /**
110
- * [js-sha3]{@link https://github.com/emn178/js-sha3}
111
- *
112
- * @version 0.8.0
113
- * @author Chen, Yi-Cyuan [emn178@gmail.com]
114
- * @copyright Chen, Yi-Cyuan 2015-2018
115
- * @license MIT
116
- */hD=dD,function(){var t="input is invalid type",e="object"==typeof window,n=e?window:{};n.JS_SHA3_NO_WINDOW&&(e=!1);var r=!e&&"object"==typeof self;!n.JS_SHA3_NO_NODE_JS&&"object"==typeof SC&&SC.versions&&SC.versions.node?n=hB:r&&(n=self);var i=!n.JS_SHA3_NO_COMMON_JS&&hD.exports,o=!n.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,s="0123456789abcdef".split(""),a=[4,1024,262144,67108864],c=[0,8,16,24],l=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],u=[224,256,384,512],h=[128,256],d=["hex","buffer","arrayBuffer","array","digest"],p={128:168,256:136};!n.JS_SHA3_NO_NODE_JS&&Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),!o||!n.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW&&ArrayBuffer.isView||(ArrayBuffer.isView=function(t){return"object"==typeof t&&t.buffer&&t.buffer.constructor===ArrayBuffer});for(var f=function(t,e,n){return function(r){return new v(t,e,t).update(r)[n]()}},A=function(t,e,n){return function(r,i){return new v(t,e,i).update(r)[n]()}},g=function(t,e,n){return function(e,r,i,o){return I["cshake"+t].update(e,r,i,o)[n]()}},E=function(t,e,n){return function(e,r,i,o){return I["kmac"+t].update(e,r,i,o)[n]()}},m=function(t,e,n,r){for(var i=0;i<d.length;++i){var o=d[i];t[o]=e(n,r,o)}return t},w=function(t,e){var n=f(t,e,"hex");return n.create=function(){return new v(t,e,t)},n.update=function(t){return n.create().update(t)},m(n,f,t,e)},y=[{name:"keccak",padding:[1,256,65536,16777216],bits:u,createMethod:w},{name:"sha3",padding:[6,1536,393216,100663296],bits:u,createMethod:w},{name:"shake",padding:[31,7936,2031616,520093696],bits:h,createMethod:function(t,e){var n=A(t,e,"hex");return n.create=function(n){return new v(t,e,n)},n.update=function(t,e){return n.create(e).update(t)},m(n,A,t,e)}},{name:"cshake",padding:a,bits:h,createMethod:function(t,e){var n=p[t],r=g(t,0,"hex");return r.create=function(r,i,o){return i||o?new v(t,e,r).bytepad([i,o],n):I["shake"+t].create(r)},r.update=function(t,e,n,i){return r.create(e,n,i).update(t)},m(r,g,t,e)}},{name:"kmac",padding:a,bits:h,createMethod:function(t,e){var n=p[t],r=E(t,0,"hex");return r.create=function(r,i,o){return new S(t,e,i).bytepad(["KMAC",o],n).bytepad([r],n)},r.update=function(t,e,n,i){return r.create(t,n,i).update(e)},m(r,E,t,e)}}],I={},C=[],B=0;B<y.length;++B)for(var T=y[B],D=T.bits,b=0;b<D.length;++b){var M=T.name+"_"+D[b];if(C.push(M),I[M]=T.createMethod(D[b],T.padding),"sha3"!==T.name){var N=T.name+D[b];C.push(N),I[N]=I[M]}}function v(t,e,n){this.blocks=[],this.s=[],this.padding=e,this.outputBits=n,this.reset=!0,this.finalized=!1,this.block=0,this.start=0,this.blockCount=1600-(t<<1)>>5,this.byteCount=this.blockCount<<2,this.outputBlocks=n>>5,this.extraBytes=(31&n)>>3;for(var r=0;r<50;++r)this.s[r]=0}function S(t,e,n){v.call(this,t,e,n)}v.prototype.update=function(e){if(this.finalized)throw new Error("finalize already called");var n,r=typeof e;if("string"!==r){if("object"!==r)throw new Error(t);if(null===e)throw new Error(t);if(o&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||o&&ArrayBuffer.isView(e)))throw new Error(t);n=!0}for(var i,s,a=this.blocks,l=this.byteCount,u=e.length,h=this.blockCount,d=0,p=this.s;d<u;){if(this.reset)for(this.reset=!1,a[0]=this.block,i=1;i<h+1;++i)a[i]=0;if(n)for(i=this.start;d<u&&i<l;++d)a[i>>2]|=e[d]<<c[3&i++];else for(i=this.start;d<u&&i<l;++d)(s=e.charCodeAt(d))<128?a[i>>2]|=s<<c[3&i++]:s<2048?(a[i>>2]|=(192|s>>6)<<c[3&i++],a[i>>2]|=(128|63&s)<<c[3&i++]):s<55296||s>=57344?(a[i>>2]|=(224|s>>12)<<c[3&i++],a[i>>2]|=(128|s>>6&63)<<c[3&i++],a[i>>2]|=(128|63&s)<<c[3&i++]):(s=65536+((1023&s)<<10|1023&e.charCodeAt(++d)),a[i>>2]|=(240|s>>18)<<c[3&i++],a[i>>2]|=(128|s>>12&63)<<c[3&i++],a[i>>2]|=(128|s>>6&63)<<c[3&i++],a[i>>2]|=(128|63&s)<<c[3&i++]);if(this.lastByteIndex=i,i>=l){for(this.start=i-l,this.block=a[h],i=0;i<h;++i)p[i]^=a[i];_(p),this.reset=!0}else this.start=i}return this},v.prototype.encode=function(t,e){var n=255&t,r=1,i=[n];for(n=255&(t>>=8);n>0;)i.unshift(n),n=255&(t>>=8),++r;return e?i.push(r):i.unshift(r),this.update(i),i.length},v.prototype.encodeString=function(e){var n,r=typeof e;if("string"!==r){if("object"!==r)throw new Error(t);if(null===e)throw new Error(t);if(o&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!(Array.isArray(e)||o&&ArrayBuffer.isView(e)))throw new Error(t);n=!0}var i=0,s=e.length;if(n)i=s;else for(var a=0;a<e.length;++a){var c=e.charCodeAt(a);c<128?i+=1:c<2048?i+=2:c<55296||c>=57344?i+=3:(c=65536+((1023&c)<<10|1023&e.charCodeAt(++a)),i+=4)}return i+=this.encode(8*i),this.update(e),i},v.prototype.bytepad=function(t,e){for(var n=this.encode(e),r=0;r<t.length;++r)n+=this.encodeString(t[r]);var i=e-n%e,o=[];return o.length=i,this.update(o),this},v.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var t=this.blocks,e=this.lastByteIndex,n=this.blockCount,r=this.s;if(t[e>>2]|=this.padding[3&e],this.lastByteIndex===this.byteCount)for(t[0]=t[n],e=1;e<n+1;++e)t[e]=0;for(t[n-1]|=2147483648,e=0;e<n;++e)r[e]^=t[e];_(r)}},v.prototype.toString=v.prototype.hex=function(){this.finalize();for(var t,e=this.blockCount,n=this.s,r=this.outputBlocks,i=this.extraBytes,o=0,a=0,c="";a<r;){for(o=0;o<e&&a<r;++o,++a)t=n[o],c+=s[t>>4&15]+s[15&t]+s[t>>12&15]+s[t>>8&15]+s[t>>20&15]+s[t>>16&15]+s[t>>28&15]+s[t>>24&15];a%e===0&&(_(n),o=0)}return i&&(t=n[o],c+=s[t>>4&15]+s[15&t],i>1&&(c+=s[t>>12&15]+s[t>>8&15]),i>2&&(c+=s[t>>20&15]+s[t>>16&15])),c},v.prototype.arrayBuffer=function(){this.finalize();var t,e=this.blockCount,n=this.s,r=this.outputBlocks,i=this.extraBytes,o=0,s=0,a=this.outputBits>>3;t=i?new ArrayBuffer(r+1<<2):new ArrayBuffer(a);for(var c=new Uint32Array(t);s<r;){for(o=0;o<e&&s<r;++o,++s)c[s]=n[o];s%e===0&&_(n)}return i&&(c[o]=n[o],t=t.slice(0,a)),t},v.prototype.buffer=v.prototype.arrayBuffer,v.prototype.digest=v.prototype.array=function(){this.finalize();for(var t,e,n=this.blockCount,r=this.s,i=this.outputBlocks,o=this.extraBytes,s=0,a=0,c=[];a<i;){for(s=0;s<n&&a<i;++s,++a)t=a<<2,e=r[s],c[t]=255&e,c[t+1]=e>>8&255,c[t+2]=e>>16&255,c[t+3]=e>>24&255;a%n===0&&_(r)}return o&&(t=a<<2,e=r[s],c[t]=255&e,o>1&&(c[t+1]=e>>8&255),o>2&&(c[t+2]=e>>16&255)),c},S.prototype=new v,S.prototype.finalize=function(){return this.encode(this.outputBits,!0),v.prototype.finalize.call(this)};var _=function(t){var e,n,r,i,o,s,a,c,u,h,d,p,f,A,g,E,m,w,y,I,C,B,T,D,b,M,N,v,S,_,L,x,R,F,O,Q,k,U,P,G,V,H,j,Y,z,J,W,q,K,X,Z,$,tt,et,nt,rt,it,ot,st,at,ct,lt,ut;for(r=0;r<48;r+=2)i=t[0]^t[10]^t[20]^t[30]^t[40],o=t[1]^t[11]^t[21]^t[31]^t[41],s=t[2]^t[12]^t[22]^t[32]^t[42],a=t[3]^t[13]^t[23]^t[33]^t[43],c=t[4]^t[14]^t[24]^t[34]^t[44],u=t[5]^t[15]^t[25]^t[35]^t[45],h=t[6]^t[16]^t[26]^t[36]^t[46],d=t[7]^t[17]^t[27]^t[37]^t[47],e=(p=t[8]^t[18]^t[28]^t[38]^t[48])^(s<<1|a>>>31),n=(f=t[9]^t[19]^t[29]^t[39]^t[49])^(a<<1|s>>>31),t[0]^=e,t[1]^=n,t[10]^=e,t[11]^=n,t[20]^=e,t[21]^=n,t[30]^=e,t[31]^=n,t[40]^=e,t[41]^=n,e=i^(c<<1|u>>>31),n=o^(u<<1|c>>>31),t[2]^=e,t[3]^=n,t[12]^=e,t[13]^=n,t[22]^=e,t[23]^=n,t[32]^=e,t[33]^=n,t[42]^=e,t[43]^=n,e=s^(h<<1|d>>>31),n=a^(d<<1|h>>>31),t[4]^=e,t[5]^=n,t[14]^=e,t[15]^=n,t[24]^=e,t[25]^=n,t[34]^=e,t[35]^=n,t[44]^=e,t[45]^=n,e=c^(p<<1|f>>>31),n=u^(f<<1|p>>>31),t[6]^=e,t[7]^=n,t[16]^=e,t[17]^=n,t[26]^=e,t[27]^=n,t[36]^=e,t[37]^=n,t[46]^=e,t[47]^=n,e=h^(i<<1|o>>>31),n=d^(o<<1|i>>>31),t[8]^=e,t[9]^=n,t[18]^=e,t[19]^=n,t[28]^=e,t[29]^=n,t[38]^=e,t[39]^=n,t[48]^=e,t[49]^=n,A=t[0],g=t[1],J=t[11]<<4|t[10]>>>28,W=t[10]<<4|t[11]>>>28,v=t[20]<<3|t[21]>>>29,S=t[21]<<3|t[20]>>>29,at=t[31]<<9|t[30]>>>23,ct=t[30]<<9|t[31]>>>23,H=t[40]<<18|t[41]>>>14,j=t[41]<<18|t[40]>>>14,F=t[2]<<1|t[3]>>>31,O=t[3]<<1|t[2]>>>31,E=t[13]<<12|t[12]>>>20,m=t[12]<<12|t[13]>>>20,q=t[22]<<10|t[23]>>>22,K=t[23]<<10|t[22]>>>22,_=t[33]<<13|t[32]>>>19,L=t[32]<<13|t[33]>>>19,lt=t[42]<<2|t[43]>>>30,ut=t[43]<<2|t[42]>>>30,et=t[5]<<30|t[4]>>>2,nt=t[4]<<30|t[5]>>>2,Q=t[14]<<6|t[15]>>>26,k=t[15]<<6|t[14]>>>26,w=t[25]<<11|t[24]>>>21,y=t[24]<<11|t[25]>>>21,X=t[34]<<15|t[35]>>>17,Z=t[35]<<15|t[34]>>>17,x=t[45]<<29|t[44]>>>3,R=t[44]<<29|t[45]>>>3,D=t[6]<<28|t[7]>>>4,b=t[7]<<28|t[6]>>>4,rt=t[17]<<23|t[16]>>>9,it=t[16]<<23|t[17]>>>9,U=t[26]<<25|t[27]>>>7,P=t[27]<<25|t[26]>>>7,I=t[36]<<21|t[37]>>>11,C=t[37]<<21|t[36]>>>11,$=t[47]<<24|t[46]>>>8,tt=t[46]<<24|t[47]>>>8,Y=t[8]<<27|t[9]>>>5,z=t[9]<<27|t[8]>>>5,M=t[18]<<20|t[19]>>>12,N=t[19]<<20|t[18]>>>12,ot=t[29]<<7|t[28]>>>25,st=t[28]<<7|t[29]>>>25,G=t[38]<<8|t[39]>>>24,V=t[39]<<8|t[38]>>>24,B=t[48]<<14|t[49]>>>18,T=t[49]<<14|t[48]>>>18,t[0]=A^~E&w,t[1]=g^~m&y,t[10]=D^~M&v,t[11]=b^~N&S,t[20]=F^~Q&U,t[21]=O^~k&P,t[30]=Y^~J&q,t[31]=z^~W&K,t[40]=et^~rt&ot,t[41]=nt^~it&st,t[2]=E^~w&I,t[3]=m^~y&C,t[12]=M^~v&_,t[13]=N^~S&L,t[22]=Q^~U&G,t[23]=k^~P&V,t[32]=J^~q&X,t[33]=W^~K&Z,t[42]=rt^~ot&at,t[43]=it^~st&ct,t[4]=w^~I&B,t[5]=y^~C&T,t[14]=v^~_&x,t[15]=S^~L&R,t[24]=U^~G&H,t[25]=P^~V&j,t[34]=q^~X&$,t[35]=K^~Z&tt,t[44]=ot^~at&lt,t[45]=st^~ct&ut,t[6]=I^~B&A,t[7]=C^~T&g,t[16]=_^~x&D,t[17]=L^~R&b,t[26]=G^~H&F,t[27]=V^~j&O,t[36]=X^~$&Y,t[37]=Z^~tt&z,t[46]=at^~lt&et,t[47]=ct^~ut&nt,t[8]=B^~A&E,t[9]=T^~g&m,t[18]=x^~D&M,t[19]=R^~b&N,t[28]=H^~F&Q,t[29]=j^~O&k,t[38]=$^~Y&J,t[39]=tt^~z&W,t[48]=lt^~et&rt,t[49]=ut^~nt&it,t[0]^=l[r],t[1]^=l[r+1]};if(i)hD.exports=I;else for(B=0;B<C.length;++B)n[C[B]]=I[C[B]]}();var pD=dD.exports;const{keccak256:fD}=pD;const{stringifyBigInts:AD}=vC;const{unstringifyBigInts:gD}=vC;const{unstringifyBigInts:ED}=vC;const{unstringifyBigInts:mD}=vC;const{stringifyBigInts:wD}=vC;const{unstringifyBigInts:yD}=vC;const{unstringifyBigInts:ID}=vC;const{unstringifyBigInts:CD}=vC;var BD=s(8287).hp;const TD=gg.fromJSON({});class DD extends Error{constructor(t,e,n){super(e),this.name="AttestorError",this.code=t,this.data=n}toProto(){return gg.create({code:cg[this.code],message:this.message,data:JSON.stringify(this.data)})}static fromProto(t=TD){return new DD("number"==typeof t.code?function(t,e){for(const n in t)if(t[n]===e)return n;return}(cg,t.code)||"UNRECOGNIZED":t.code,t.message,t.data?JSON.parse(t.data):void 0)}static fromError(t,e="ERROR_INTERNAL"){return t instanceof DD?t:new DD(e,t.message)}static badRequest(t,e){return new DD("ERROR_BAD_REQUEST",t,e)}}const bD=+(cm("ZK_CONCURRENCY")||10);async function MD({zkOperators:t,oprfOperators:e,logger:n=pm,zkProofConcurrency:r=bD,cipherSuite:i,zkEngine:o="snarkjs"}){const s=new pw({concurrency:r,autoStart:!0}),a=[];n=n.child({module:"zk",zkEngine:o});let c=0;return{async addPacketToProve(t,{redactedPlaintext:e,toprfs:n=[],overshotToprfFromPrevBlock:r},o,s){if("plaintext"===t.type)throw new Error("Cannot generate proof for plaintext");const l=XE(i),u=ND(l),h=await F.exportKey(t.encKey),d=t.iv,p=function(t,e){XE(e),t=t.slice(0,-16);const{ivLength:n}=$[e],r=12-n;return t.slice(r)}(t.ciphertext,i);r&&e.set(new Uint8Array(r.length).fill(Em));const f="TLS_AES_128_GCM_SHA256"===(A=i)||"TLS_AES_256_GCM_SHA384"===A||"TLS_CHACHA20_POLY1305_SHA256"===A?p.length-1:p.length;var A;const g={onGeneratedProofs:o,algorithm:l,proofsToGenerate:[],toprfsToGenerate:[],iv:t.fixedIv};for(const r of n){const n=f-(r.dataLocation.fromIndex+r.dataLocation.length);if(n<0){const e=s();if("ciphertext"!==e?.type)throw new DD("ERROR_INTERNAL","TOPRF data overshoots ciphertext length, but no next ciphertext packet found");if(e.encKey!==t.encKey)throw new DD("ERROR_INTERNAL","TOPRF data overshoots ciphertext length, but next packet has different encryption key");const i=e.ciphertext.slice(0,Math.abs(n)),o=e.iv;r.overshoot={ciphertext:i,iv:o,recordNumber:e.recordNumber}}const i=kD(l,r),o={fromIndex:i,toIndex:Math.min(i+u,p.length)};g.toprfsToGenerate.push(QD({key:h,iv:d,ciphertext:p,slice:o,toprf:{...r,dataLocation:{...r.dataLocation,fromIndex:r.dataLocation.fromIndex-i}}})),c+=1;const a=Math.min(f,r.dataLocation.fromIndex+r.dataLocation.length);for(let t=r.dataLocation.fromIndex;t<a;t++)e[t]=Em}for(let t=0;t<p.length;t+=u){const n=OD({key:h,iv:d,ciphertext:p,redactedPlaintext:e,slice:{fromIndex:t,toIndex:Math.min(t+u,p.length)}});n&&(g.proofsToGenerate.push(n),c+=1)}a.push(g)},getTotalChunksToProve:()=>c,async generateProofs(t){if(!a.length)return;const e=Date.now(),r=[];for(const{onGeneratedProofs:e,algorithm:n,proofsToGenerate:i,toprfsToGenerate:o}of a){const a=[],c=[];let h=i.length+o.length;for(const o of i)r.push(s.add(async()=>{const r=await l(n,o);t?.(),a.push(r),h-=1,0===h&&e(a,c)},{throwOnTimeout:!0}));for(const i of o)r.push(s.add(async()=>{const r=await u(n,i);t?.(),c.push(r),h-=1,0===h&&e(a,c)},{throwOnTimeout:!0}))}await Promise.all(r),n?.info({durationMs:Date.now()-e,zkProofsToGen:c},"generated ZK proofs"),a.splice(0,a.length),c=0;const o=XE(i),d=await h(o);d.release?.()}};async function l(t,{startIdx:e,redactedPlaintext:r,privateInput:i,publicInput:o}){const s=h(t),a=await VE({algorithm:t,privateInput:i,publicInput:o,operator:s,logger:n});return n?.debug({startIdx:e},"generated proof for chunk"),{proofData:"string"==typeof a.proofData?WE(a.proofData):a.proofData,decryptedRedactedCiphertext:a.plaintext||new Uint8Array,redactedPlaintext:r,startIdx:e}}async function u(t,{startIdx:r,privateInput:i,publicInput:s,toprf:a}){const c=function(t){return e?.[t]||RD(t,o,n)}(t),l=[];if(a?.overshoot){const{dataLocation:e,overshoot:{ciphertext:n}}=a;l.push({pos:e.fromIndex,len:e.length-n.length},{pos:UE(e.fromIndex+e.length,t),len:n.length})}else a&&l.push({pos:a.dataLocation.fromIndex,len:a.dataLocation.length});const u=await VE({algorithm:t,privateInput:i,publicInput:s,operator:c,logger:n,...a?{toprf:{locations:l,output:a.nullifier,responses:a.responses,domainSeparator:NE},mask:a.mask}:{}});return n?.debug({toprfLocations:l},"generated TOPRF proof for chunk"),{startIdx:r,proofData:"string"==typeof u.proofData?WE(u.proofData):u.proofData,payload:a}}function h(e){return t?.[e]||xD(e,o,n)}}function ND(t){const{chunkSize:e,bitsPerWord:n}=PE[t];return e*n/8}const vD={},SD={},_D={snarkjs:function({algorithm:t,fetcher:e,options:{maxProofConcurrency:n=2}={}}){let r,i,o;const s=new pw({concurrency:n});return{async generateWitness({out:n,...r},s){i||=function(n){return e.fetch("snarkjs",`${t}/circuit.wasm`,n)}(),o||=(async()=>{if(!qT.getWtnsCalculator)return;const t=WebAssembly.Memory;WebAssembly.Memory=class extends WebAssembly.Memory{constructor(){super({initial:5})}};try{return await qT.getWtnsCalculator(await i)}finally{WebAssembly.Memory=t}})();const{noncesAndCounters:[{nonce:a,counter:c}]}=r,l={key:xE(t,r.key),nonce:xE(t,a),counter:xE(t,c),in:xE(t,r.in)},u={type:"mem"};return await o?await qT.wtnsCalculateWithCalculator(l,await o,u):await qT.calculate(l,await i,u),u.data},async groth16Prove(t,e){r||=a();const{data:n}=await r,{proof:i}=await s.add(()=>FT.prove(n,t,e));return{proof:JSON.stringify(i)}},async groth16Verify(e,n,i){n="string"!=typeof n?BD.from(n).toString():n,r||=a();const o=await r;o.json||(o.json=await uD.exportVerificationKey(o.data));const{noncesAndCounters:[{nonce:s,counter:c}]}=e;return FT.verify(o.json,xE(t,e.out,s,c,e.in),JSON.parse(n),i)},release(){r=void 0,i=void 0,o=void 0}};async function a(n){return{data:await e.fetch("snarkjs",`${t}/circuit_final.zkey`,n)}}},gnark:function({algorithm:t,fetcher:e}){return{generateWitness:async e=>Xm(t,e),async groth16Prove(n,r){const i=await rw(t,e,r),o=await ew(i.prove,n);if("object"!=typeof o||!("proof"in o)||!o.proof)throw new Error(`Failed to create gnark proof: ${JSON.stringify(o)}`);return{proof:Vm(o.proof)}},async groth16Verify(n,r,i){const o=await rw(t,e,i),s=Zm(t,n),a=JSON.stringify({cipher:t,proof:"string"==typeof r?r:Gm(r),publicSignals:s});return 1===tw(o.verify,a)}}}},LD={gnark:function({fetcher:t,algorithm:e}){return{generateWitness:async t=>Xm(e,t),async groth16Prove(t,e){const r=await n(e),i=await ew(r.prove,t);if("object"!=typeof i||!("proof"in i)||!i.proof)throw new Error(`Failed to create gnark TOPRF proof: ${JSON.stringify(i)}`);return{proof:Vm(i.proof)}},async groth16Verify(t,r,i){const o=await n(i),s=Zm(e,t),a=JSON.stringify({cipher:`${e}-toprf`,proof:"string"==typeof r?r:Gm(r),publicSignals:s});return 1===tw(o.verify,a)},async generateThresholdKeys(t,e,r){const i=await n(r),{generateThresholdKeys:o,vfree:s}=i,a={total:t,threshold:e},c=tw(o,JSON.stringify(a)),l=ow.from(iw.decode(c.r0,"unsigned char",c.r1)).toString();s(c.r0);const u=JSON.parse(l),h=[];for(let t=0;t<u.shares.length;t++){const e=u.shares[t];h.push({index:e.index,publicKey:Um(e.publicKey),privateKey:Um(e.privateKey)})}return{publicKey:Um(u.publicKey),privateKey:Um(u.privateKey),shares:h}},async generateOPRFRequestData(t,e,r){const i=await n(r),o={data:Gm(t),domainSeparator:e},s=await ew(i.generateOPRFRequest,JSON.stringify(o));return{mask:Um(s.mask),maskedData:Um(s.maskedData),secretElements:[Um(s.secretElements[0]),Um(s.secretElements[1])]}},async finaliseOPRF(t,e,r,i){const o=await n(i),s={serverPublicKey:Fm(t),request:{mask:Fm(e.mask),maskedData:Fm(e.maskedData),secretElements:[Fm(e.secretElements[0]),Fm(e.secretElements[1])]},responses:r.map(({publicKeyShare:t,evaluated:e,c:n,r})=>({publicKeyShare:Fm(t),evaluated:Fm(e),c:Fm(n),r:Fm(r)}))},a=await ew(o.toprfFinalize,JSON.stringify(s));return Um(a.output)},async evaluateOPRF(t,e,r){const i=await n(r),{oprfEvaluate:o,vfree:s}=i,a={serverPrivate:Fm(t),maskedData:Fm(e)},c=tw(o,JSON.stringify(a)),l=ow.from(iw.decode(c.r0,"unsigned char",c.r1)).toString();s(c.r0);const u=JSON.parse(l);return{evaluated:Um(u.evaluated),c:Um(u.c),r:Um(u.r)}}};async function n(n){const{ext:r,id:i}=sw[e];return qm(i,r,t,n)}}};function xD(t,e,n){let r=vD[e];if(r||(vD[e]={},r=vD[e]),!r[t]){const i="node"===am()?"local":"remote",o="remote"===i?UD():void 0;n?.info({type:i,algorithm:t,zkBaseUrl:o},"fetching zk operator");const s="local"===i?zE():YE({baseUrl:o}),a=_D[e];if(!a)throw new Error(`No ZK operator maker for ${e}`);r[t]=a({algorithm:t,fetcher:s})}return r[t]}function RD(t,e,n){let r=SD[e];if(r||(SD[e]={},r=SD[e]),!r[t]){const i="node"===am()?"local":"remote",o="remote"===i?UD():void 0;n?.info({type:i,algorithm:t,zkBaseUrl:o},"fetching oprf operator");const s="local"===i?zE():YE({baseUrl:o}),a=LD[e];if(!a)throw new Error(`No OPRF operator maker for ${e}`);r[t]=a({algorithm:t,fetcher:s})}return r[t]}function FD(t){if("gnark"===t)return hg;if("snarkjs"===t)return ug;throw new Error(`Unknown ZK engine: ${t}`)}function OD({key:t,iv:e,ciphertext:n,redactedPlaintext:r,slice:{fromIndex:i,toIndex:o}}){const s=n.slice(i,o),a=r.slice(i,o);if(!mm(a)){for(let t=0;t<s.length;t++)a[t]===Em&&(s[t]=Em);return{startIdx:i,redactedPlaintext:a,privateInput:{key:t},publicInput:{ciphertext:s,iv:e,offsetBytes:i}}}}function QD({key:t,iv:e,ciphertext:n,slice:{fromIndex:r,toIndex:i},toprf:o}){const s=n.slice(r,i);if(o?.overshoot){const{overshoot:{ciphertext:n,iv:i}}=o;return{privateInput:{key:t},publicInput:[{ciphertext:s,iv:e,offsetBytes:r},{ciphertext:n,iv:i}],toprf:o,startIdx:r}}return{privateInput:{key:t},publicInput:{ciphertext:s,iv:e,offsetBytes:r},toprf:o,startIdx:r}}function kD(t,{dataLocation:e,overshoot:n}){const r=ND(t),i=QE(t),o=Math.floor(e.fromIndex/r);if(Math.floor((e.fromIndex+e.length)/r)===o){const t=o*r;if(n){return t+Math.ceil(n.ciphertext.length/i)*i}return t}const s=Math.floor(e.fromIndex/i)*i;if(Math.ceil((e.fromIndex+e.length)/i)-s>r)throw new DD("ERROR_BAD_REQUEST","OPRF data cannot fit into a single chunk");return s}function UD(){return"string"!=typeof ATTESTOR_BASE_URL?TE:new URL(TE,ATTESTOR_BASE_URL).toString()}var PD=s(2341),GD=s.n(PD);function VD(t){return t&&GD()(t)||""}var HD=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function s(t){try{c(r.next(t))}catch(t){o(t)}}function a(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(s,a)}c((r=r.apply(t,e||[])).next())})};const jD=new fp("abstract-provider/5.8.0");class YD{constructor(){jD.checkAbstract(new.target,YD),Tf(this,"_isProvider",!0)}getFeeData(){return HD(this,void 0,void 0,function*(){const{block:t,gasPrice:e}=yield Df({block:this.getBlock("latest"),gasPrice:this.getGasPrice().catch(t=>null)});let n=null,r=null,i=null;return t&&t.baseFeePerGas&&(n=t.baseFeePerGas,i=Vf.from("1500000000"),r=t.baseFeePerGas.mul(2).add(i)),{lastBaseFeePerGas:n,maxFeePerGas:r,maxPriorityFeePerGas:i,gasPrice:e}})}addListener(t,e){return this.on(t,e)}removeListener(t,e){return this.off(t,e)}static isProvider(t){return!(!t||!t._isProvider)}}var zD=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function s(t){try{c(r.next(t))}catch(t){o(t)}}function a(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(s,a)}c((r=r.apply(t,e||[])).next())})};const JD=new fp("abstract-signer/5.8.0"),WD=["accessList","ccipReadEnabled","chainId","customData","data","from","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","to","type","value"],qD=[fp.errors.INSUFFICIENT_FUNDS,fp.errors.NONCE_EXPIRED,fp.errors.REPLACEMENT_UNDERPRICED];class KD{constructor(){JD.checkAbstract(new.target,KD),Tf(this,"_isSigner",!0)}getBalance(t){return zD(this,void 0,void 0,function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),t)})}getTransactionCount(t){return zD(this,void 0,void 0,function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),t)})}estimateGas(t){return zD(this,void 0,void 0,function*(){this._checkProvider("estimateGas");const e=yield Df(this.checkTransaction(t));return yield this.provider.estimateGas(e)})}call(t,e){return zD(this,void 0,void 0,function*(){this._checkProvider("call");const n=yield Df(this.checkTransaction(t));return yield this.provider.call(n,e)})}sendTransaction(t){return zD(this,void 0,void 0,function*(){this._checkProvider("sendTransaction");const e=yield this.populateTransaction(t),n=yield this.signTransaction(e);return yield this.provider.sendTransaction(n)})}getChainId(){return zD(this,void 0,void 0,function*(){this._checkProvider("getChainId");return(yield this.provider.getNetwork()).chainId})}getGasPrice(){return zD(this,void 0,void 0,function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()})}getFeeData(){return zD(this,void 0,void 0,function*(){return this._checkProvider("getFeeData"),yield this.provider.getFeeData()})}resolveName(t){return zD(this,void 0,void 0,function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(t)})}checkTransaction(t){for(const e in t)-1===WD.indexOf(e)&&JD.throwArgumentError("invalid transaction key: "+e,"transaction",t);const e=bf(t);return null==e.from?e.from=this.getAddress():e.from=Promise.all([Promise.resolve(e.from),this.getAddress()]).then(e=>(e[0].toLowerCase()!==e[1].toLowerCase()&&JD.throwArgumentError("from address mismatch","transaction",t),e[0])),e}populateTransaction(t){return zD(this,void 0,void 0,function*(){const e=yield Df(this.checkTransaction(t));null!=e.to&&(e.to=Promise.resolve(e.to).then(t=>zD(this,void 0,void 0,function*(){if(null==t)return null;const e=yield this.resolveName(t);return null==e&&JD.throwArgumentError("provided ENS name resolves to null","tx.to",t),e})),e.to.catch(t=>{}));const n=null!=e.maxFeePerGas||null!=e.maxPriorityFeePerGas;if(null==e.gasPrice||2!==e.type&&!n?0!==e.type&&1!==e.type||!n||JD.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","transaction",t):JD.throwArgumentError("eip-1559 transaction do not support gasPrice","transaction",t),2!==e.type&&null!=e.type||null==e.maxFeePerGas||null==e.maxPriorityFeePerGas)if(0===e.type||1===e.type)null==e.gasPrice&&(e.gasPrice=this.getGasPrice());else{const t=yield this.getFeeData();if(null==e.type)if(null!=t.maxFeePerGas&&null!=t.maxPriorityFeePerGas)if(e.type=2,null!=e.gasPrice){const t=e.gasPrice;delete e.gasPrice,e.maxFeePerGas=t,e.maxPriorityFeePerGas=t}else null==e.maxFeePerGas&&(e.maxFeePerGas=t.maxFeePerGas),null==e.maxPriorityFeePerGas&&(e.maxPriorityFeePerGas=t.maxPriorityFeePerGas);else null!=t.gasPrice?(n&&JD.throwError("network does not support EIP-1559",fp.errors.UNSUPPORTED_OPERATION,{operation:"populateTransaction"}),null==e.gasPrice&&(e.gasPrice=t.gasPrice),e.type=0):JD.throwError("failed to get consistent fee data",fp.errors.UNSUPPORTED_OPERATION,{operation:"signer.getFeeData"});else 2===e.type&&(null==e.maxFeePerGas&&(e.maxFeePerGas=t.maxFeePerGas),null==e.maxPriorityFeePerGas&&(e.maxPriorityFeePerGas=t.maxPriorityFeePerGas))}else e.type=2;return null==e.nonce&&(e.nonce=this.getTransactionCount("pending")),null==e.gasLimit&&(e.gasLimit=this.estimateGas(e).catch(t=>{if(qD.indexOf(t.code)>=0)throw t;return JD.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",fp.errors.UNPREDICTABLE_GAS_LIMIT,{error:t,tx:e})})),null==e.chainId?e.chainId=this.getChainId():e.chainId=Promise.all([Promise.resolve(e.chainId),this.getChainId()]).then(e=>(0!==e[1]&&e[0]!==e[1]&&JD.throwArgumentError("chainId address mismatch","transaction",t),e[0])),yield Df(e)})}_checkProvider(t){this.provider||JD.throwError("missing provider",fp.errors.UNSUPPORTED_OPERATION,{operation:t||"_checkProvider"})}static isSigner(t){return!(!t||!t._isSigner)}}const XD=new fp("strings/5.8.0");var ZD,$D;function tb(t,e,n,r,i){if(t===$D.BAD_PREFIX||t===$D.UNEXPECTED_CONTINUE){let t=0;for(let r=e+1;r<n.length&&n[r]>>6==2;r++)t++;return t}return t===$D.OVERRUN?n.length-e-1:0}!function(t){t.current="",t.NFC="NFC",t.NFD="NFD",t.NFKC="NFKC",t.NFKD="NFKD"}(ZD||(ZD={})),function(t){t.UNEXPECTED_CONTINUE="unexpected continuation byte",t.BAD_PREFIX="bad codepoint prefix",t.OVERRUN="string overrun",t.MISSING_CONTINUE="missing continuation byte",t.OUT_OF_RANGE="out of UTF-8 range",t.UTF16_SURROGATE="UTF-16 surrogate",t.OVERLONG="overlong representation"}($D||($D={}));Object.freeze({error:function(t,e,n,r,i){return XD.throwArgumentError(`invalid codepoint at offset ${e}; ${t}`,"bytes",n)},ignore:tb,replace:function(t,e,n,r,i){return t===$D.OVERLONG?(r.push(i),0):(r.push(65533),tb(t,e,n))}});function eb(t,e=ZD.current){e!=ZD.current&&(XD.checkNormalize(),t=t.normalize(e));let n=[];for(let e=0;e<t.length;e++){const r=t.charCodeAt(e);if(r<128)n.push(r);else if(r<2048)n.push(r>>6|192),n.push(63&r|128);else if(55296==(64512&r)){e++;const i=t.charCodeAt(e);if(e>=t.length||56320!=(64512&i))throw new Error("invalid utf-8 string");const o=65536+((1023&r)<<10)+(1023&i);n.push(o>>18|240),n.push(o>>12&63|128),n.push(o>>6&63|128),n.push(63&o|128)}else n.push(r>>12|224),n.push(r>>6&63|128),n.push(63&r|128)}return Ip(n)}function nb(t){return"string"==typeof t&&(t=eb(t)),qf(Cp([eb("Ethereum Signed Message:\n"),eb(String(t.length)),t]))}function rb(t){return qf(eb(t))}var ib=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function s(t){try{c(r.next(t))}catch(t){o(t)}}function a(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(s,a)}c((r=r.apply(t,e||[])).next())})};const ob=new fp("hash/5.8.0"),sb=new Uint8Array(32);sb.fill(0);const ab=Vf.from(-1),cb=Vf.from(0),lb=Vf.from(1),ub=Vf.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");const hb=Sp(lb.toHexString(),32),db=Sp(cb.toHexString(),32),pb={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},fb=["name","version","chainId","verifyingContract","salt"];function Ab(t){return function(e){return"string"!=typeof e&&ob.throwArgumentError(`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}const gb={name:Ab("name"),version:Ab("version"),chainId:function(t){try{return Vf.from(t).toString()}catch(t){}return ob.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",t)},verifyingContract:function(t){try{return nA(t).toLowerCase()}catch(t){}return ob.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){try{const e=Ip(t);if(32!==e.length)throw new Error("bad length");return bp(e)}catch(t){}return ob.throwArgumentError('invalid domain value "salt"',"domain.salt",t)}};function Eb(t){{const e=t.match(/^(u?)int(\d*)$/);if(e){const n=""===e[1],r=parseInt(e[2]||"256");(r%8!=0||r>256||e[2]&&e[2]!==String(r))&&ob.throwArgumentError("invalid numeric width","type",t);const i=ub.mask(n?r-1:r),o=n?i.add(lb).mul(ab):cb;return function(e){const n=Vf.from(e);return(n.lt(o)||n.gt(i))&&ob.throwArgumentError(`value out-of-bounds for ${t}`,"value",e),Sp(n.toTwos(256).toHexString(),32)}}}{const e=t.match(/^bytes(\d+)$/);if(e){const n=parseInt(e[1]);return(0===n||n>32||e[1]!==String(n))&&ob.throwArgumentError("invalid bytes width","type",t),function(e){return Ip(e).length!==n&&ob.throwArgumentError(`invalid length for ${t}`,"value",e),function(t){const e=Ip(t),n=e.length%32;return n?vp([e,sb.slice(n)]):bp(e)}(e)}}}switch(t){case"address":return function(t){return Sp(nA(t),32)};case"bool":return function(t){return t?hb:db};case"bytes":return function(t){return qf(t)};case"string":return function(t){return rb(t)}}return null}function mb(t,e){return`${t}(${e.map(({name:t,type:e})=>e+" "+t).join(",")})`}class wb{constructor(t){Tf(this,"types",Object.freeze(Sf(t))),Tf(this,"_encoderCache",{}),Tf(this,"_types",{});const e={},n={},r={};Object.keys(t).forEach(t=>{e[t]={},n[t]=[],r[t]={}});for(const r in t){const i={};t[r].forEach(o=>{i[o.name]&&ob.throwArgumentError(`duplicate variable name ${JSON.stringify(o.name)} in ${JSON.stringify(r)}`,"types",t),i[o.name]=!0;const s=o.type.match(/^([^\x5b]*)(\x5b|$)/)[1];s===r&&ob.throwArgumentError(`circular type reference to ${JSON.stringify(s)}`,"types",t);Eb(s)||(n[s]||ob.throwArgumentError(`unknown type ${JSON.stringify(s)}`,"types",t),n[s].push(r),e[r][s]=!0)})}const i=Object.keys(n).filter(t=>0===n[t].length);0===i.length?ob.throwArgumentError("missing primary type","types",t):i.length>1&&ob.throwArgumentError(`ambiguous primary types or unused types: ${i.map(t=>JSON.stringify(t)).join(", ")}`,"types",t),Tf(this,"primaryType",i[0]),function i(o,s){s[o]&&ob.throwArgumentError(`circular type reference to ${JSON.stringify(o)}`,"types",t),s[o]=!0,Object.keys(e[o]).forEach(t=>{n[t]&&(i(t,s),Object.keys(s).forEach(e=>{r[e][t]=!0}))}),delete s[o]}(this.primaryType,{});for(const e in r){const n=Object.keys(r[e]);n.sort(),this._types[e]=mb(e,t[e])+n.map(e=>mb(e,t[e])).join("")}}getEncoder(t){let e=this._encoderCache[t];return e||(e=this._encoderCache[t]=this._getEncoder(t)),e}_getEncoder(t){{const e=Eb(t);if(e)return e}const e=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(e){const t=e[1],n=this.getEncoder(t),r=parseInt(e[3]);return e=>{r>=0&&e.length!==r&&ob.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e);let i=e.map(n);return this._types[t]&&(i=i.map(qf)),qf(vp(i))}}const n=this.types[t];if(n){const e=rb(this._types[t]);return t=>{const r=n.map(({name:e,type:n})=>{const r=this.getEncoder(n)(t[e]);return this._types[n]?qf(r):r});return r.unshift(e),vp(r)}}return ob.throwArgumentError(`unknown type: ${t}`,"type",t)}encodeType(t){const e=this._types[t];return e||ob.throwArgumentError(`unknown type: ${JSON.stringify(t)}`,"name",t),e}encodeData(t,e){return this.getEncoder(t)(e)}hashStruct(t,e){return qf(this.encodeData(t,e))}encode(t){return this.encodeData(this.primaryType,t)}hash(t){return this.hashStruct(this.primaryType,t)}_visit(t,e,n){if(Eb(t))return n(t,e);const r=t.match(/^(.*)(\x5b(\d*)\x5d)$/);if(r){const t=r[1],i=parseInt(r[3]);return i>=0&&e.length!==i&&ob.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",e),e.map(e=>this._visit(t,e,n))}const i=this.types[t];return i?i.reduce((t,{name:r,type:i})=>(t[r]=this._visit(i,e[r],n),t),{}):ob.throwArgumentError(`unknown type: ${t}`,"type",t)}visit(t,e){return this._visit(this.primaryType,t,e)}static from(t){return new wb(t)}static getPrimaryType(t){return wb.from(t).primaryType}static hashStruct(t,e,n){return wb.from(e).hashStruct(t,n)}static hashDomain(t){const e=[];for(const n in t){const r=pb[n];r||ob.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",t),e.push({name:n,type:r})}return e.sort((t,e)=>fb.indexOf(t.name)-fb.indexOf(e.name)),wb.hashStruct("EIP712Domain",{EIP712Domain:e},t)}static encode(t,e,n){return vp(["0x1901",wb.hashDomain(t),wb.from(e).hash(n)])}static hash(t,e,n){return qf(wb.encode(t,e,n))}static resolveNames(t,e,n,r){return ib(this,void 0,void 0,function*(){t=bf(t);const i={};t.verifyingContract&&!Tp(t.verifyingContract,20)&&(i[t.verifyingContract]="0x");const o=wb.from(e);o.visit(n,(t,e)=>("address"!==t||Tp(e,20)||(i[e]="0x"),e));for(const t in i)i[t]=yield r(t);return t.verifyingContract&&i[t.verifyingContract]&&(t.verifyingContract=i[t.verifyingContract]),n=o.visit(n,(t,e)=>"address"===t&&i[e]?i[e]:e),{domain:t,value:n}})}static getPayload(t,e,n){wb.hashDomain(t);const r={},i=[];fb.forEach(e=>{const n=t[e];null!=n&&(r[e]=gb[e](n),i.push({name:e,type:pb[e]}))});const o=wb.from(e),s=bf(e);return s.EIP712Domain?ob.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",e):s.EIP712Domain=i,o.encode(n),{types:s,domain:r,primaryType:o.primaryType,message:o.visit(n,(t,e)=>{if(t.match(/^bytes(\d*)/))return bp(Ip(e));if(t.match(/^u?int/))return Vf.from(e).toString();switch(t){case"address":return e.toLowerCase();case"bool":return!!e;case"string":return"string"!=typeof e&&ob.throwArgumentError("invalid string","value",e),e}return ob.throwArgumentError("unsupported type","type",t)})}}}class yb{constructor(t){Tf(this,"alphabet",t),Tf(this,"base",t.length),Tf(this,"_alphabetMap",{}),Tf(this,"_leader",t.charAt(0));for(let e=0;e<t.length;e++)this._alphabetMap[t.charAt(e)]=e}encode(t){let e=Ip(t);if(0===e.length)return"";let n=[0];for(let t=0;t<e.length;++t){let r=e[t];for(let t=0;t<n.length;++t)r+=n[t]<<8,n[t]=r%this.base,r=r/this.base|0;for(;r>0;)n.push(r%this.base),r=r/this.base|0}let r="";for(let t=0;0===e[t]&&t<e.length-1;++t)r+=this._leader;for(let t=n.length-1;t>=0;--t)r+=this.alphabet[n[t]];return r}decode(t){if("string"!=typeof t)throw new TypeError("Expected String");let e=[];if(0===t.length)return new Uint8Array(e);e.push(0);for(let n=0;n<t.length;n++){let r=this._alphabetMap[t[n]];if(void 0===r)throw new Error("Non-base"+this.base+" character");let i=r;for(let t=0;t<e.length;++t)i+=e[t]*this.base,e[t]=255&i,i>>=8;for(;i>0;)e.push(255&i),i>>=8}for(let n=0;t[n]===this._leader&&n<t.length-1;++n)e.push(0);return Ip(new Uint8Array(e.reverse()))}}new yb("abcdefghijklmnopqrstuvwxyz234567");const Ib=new yb("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");var Cb;!function(t){t.sha256="sha256",t.sha512="sha512"}(Cb||(Cb={}));const Bb=new fp("sha2/5.8.0");function Tb(t){return"0x"+kp().sha256().update(Ip(t)).digest("hex")}function Db(t,e,n){return Cb[t]||Bb.throwError("unsupported algorithm "+t,fp.errors.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:t}),"0x"+kp().hmac(kp()[t],Ip(e)).update(Ip(n)).digest("hex")}function bb(t,e,n,r,i){let o;t=Ip(t),e=Ip(e);let s=1;const a=new Uint8Array(r),c=new Uint8Array(e.length+4);let l,u;c.set(e);for(let h=1;h<=s;h++){c[e.length]=h>>24&255,c[e.length+1]=h>>16&255,c[e.length+2]=h>>8&255,c[e.length+3]=255&h;let d=Ip(Db(i,t,c));o||(o=d.length,u=new Uint8Array(o),s=Math.ceil(r/o),l=r-(s-1)*o),u.set(d);for(let e=1;e<n;e++){d=Ip(Db(i,t,d));for(let t=0;t<o;t++)u[t]^=d[t]}const p=(h-1)*o,f=h===s?l:o;a.set(Ip(u).slice(0,f),p)}return bp(a)}const Mb=new fp("wordlists/5.8.0");class Nb{constructor(t){Mb.checkAbstract(new.target,Nb),Tf(this,"locale",t)}split(t){return t.toLowerCase().split(/ +/g)}join(t){return t.join(" ")}static check(t){const e=[];for(let n=0;n<2048;n++){const r=t.getWord(n);if(n!==t.getWordIndex(r))return"0x";e.push(r)}return rb(e.join("\n")+"\n")}static register(t,e){e||(e=t.locale)}}let vb=null;function Sb(t){if(null==vb&&(vb="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==Nb.check(t)))throw vb=null,new Error("BIP39 Wordlist for en (English) FAILED")}const _b=new class extends Nb{constructor(){super("en")}getWord(t){return Sb(this),vb[t]}getWordIndex(t){return Sb(this),vb.indexOf(t)}};Nb.register(_b);const Lb={en:_b},xb=new fp("hdnode/5.8.0"),Rb=Vf.from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Fb=eb("Bitcoin seed"),Ob=2147483648;function Qb(t){return(1<<t)-1<<8-t}function kb(t){return(1<<t)-1}function Ub(t){return Sp(bp(t),32)}function Pb(t){return Ib.encode(Cp([t,Np(Tb(Tb(t)),0,4)]))}function Gb(t){if(null==t)return Lb.en;if("string"==typeof t){const e=Lb[t];return null==e&&xb.throwArgumentError("unknown locale","wordlist",t),e}return t}const Vb={},Hb="m/44'/60'/0'/0/0";class jb{constructor(t,e,n,r,i,o,s,a){if(t!==Vb)throw new Error("HDNode constructor cannot be called directly");if(e){const t=new Ff(e);Tf(this,"privateKey",t.privateKey),Tf(this,"publicKey",t.compressedPublicKey)}else Tf(this,"privateKey",null),Tf(this,"publicKey",bp(n));var c;Tf(this,"parentFingerprint",r),Tf(this,"fingerprint",Np((c=Tb(this.publicKey),"0x"+kp().ripemd160().update(Ip(c)).digest("hex")),0,4)),Tf(this,"address",hA(this.publicKey)),Tf(this,"chainCode",i),Tf(this,"index",o),Tf(this,"depth",s),null==a?(Tf(this,"mnemonic",null),Tf(this,"path",null)):"string"==typeof a?(Tf(this,"mnemonic",null),Tf(this,"path",a)):(Tf(this,"mnemonic",a),Tf(this,"path",a.path))}get extendedKey(){if(this.depth>=256)throw new Error("Depth too large!");return Pb(Cp([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",bp(this.depth),this.parentFingerprint,Sp(bp(this.index),4),this.chainCode,null!=this.privateKey?Cp(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new jb(Vb,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(t){if(t>4294967295)throw new Error("invalid index - "+String(t));let e=this.path;e&&(e+="/"+(2147483647&t));const n=new Uint8Array(37);if(t&Ob){if(!this.privateKey)throw new Error("cannot derive child of neutered node");n.set(Ip(this.privateKey),1),e&&(e+="'")}else n.set(Ip(this.publicKey));for(let e=24;e>=0;e-=8)n[33+(e>>3)]=t>>24-e&255;const r=Ip(Db(Cb.sha512,this.chainCode,n)),i=r.slice(0,32),o=r.slice(32);let s=null,a=null;if(this.privateKey)s=Ub(Vf.from(i).add(this.privateKey).mod(Rb));else{a=new Ff(bp(i))._addPoint(this.publicKey)}let c=e;const l=this.mnemonic;return l&&(c=Object.freeze({phrase:l.phrase,path:e,locale:l.locale||"en"})),new jb(Vb,s,a,this.fingerprint,Ub(o),t,this.depth+1,c)}derivePath(t){const e=t.split("/");if(0===e.length||"m"===e[0]&&0!==this.depth)throw new Error("invalid path - "+t);"m"===e[0]&&e.shift();let n=this;for(let t=0;t<e.length;t++){const r=e[t];if(r.match(/^[0-9]+'$/)){const t=parseInt(r.substring(0,r.length-1));if(t>=Ob)throw new Error("invalid path index - "+r);n=n._derive(Ob+t)}else{if(!r.match(/^[0-9]+$/))throw new Error("invalid path component - "+r);{const t=parseInt(r);if(t>=Ob)throw new Error("invalid path index - "+r);n=n._derive(t)}}}return n}static _fromSeed(t,e){const n=Ip(t);if(n.length<16||n.length>64)throw new Error("invalid seed");const r=Ip(Db(Cb.sha512,Fb,n));return new jb(Vb,Ub(r.slice(0,32)),null,"0x00000000",Ub(r.slice(32)),0,0,e)}static fromMnemonic(t,e,n){return t=zb(Yb(t,n=Gb(n)),n),jb._fromSeed(function(t,e){e||(e="");const n=eb("mnemonic"+e,ZD.NFKD);return bb(eb(t,ZD.NFKD),n,2048,64,"sha512")}(t,e),{phrase:t,path:"m",locale:n.locale})}static fromSeed(t){return jb._fromSeed(t,null)}static fromExtendedKey(t){const e=Ib.decode(t);82===e.length&&Pb(e.slice(0,78))===t||xb.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");const n=e[4],r=bp(e.slice(5,9)),i=parseInt(bp(e.slice(9,13)).substring(2),16),o=bp(e.slice(13,45)),s=e.slice(45,78);switch(bp(e.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new jb(Vb,null,bp(s),r,o,i,n,null);case"0x0488ade4":case"0x04358394 ":if(0!==s[0])break;return new jb(Vb,bp(s.slice(1)),null,r,o,i,n,null)}return xb.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}}function Yb(t,e){e=Gb(e),xb.checkNormalize();const n=e.split(t);if(n.length%3!=0)throw new Error("invalid mnemonic");const r=Ip(new Uint8Array(Math.ceil(11*n.length/8)));let i=0;for(let t=0;t<n.length;t++){let o=e.getWordIndex(n[t].normalize("NFKD"));if(-1===o)throw new Error("invalid mnemonic");for(let t=0;t<11;t++)o&1<<10-t&&(r[i>>3]|=1<<7-i%8),i++}const o=32*n.length/3,s=Qb(n.length/3);if((Ip(Tb(r.slice(0,o/8)))[0]&s)!==(r[r.length-1]&s))throw new Error("invalid checksum");return bp(r.slice(0,o/8))}function zb(t,e){if(e=Gb(e),(t=Ip(t)).length%4!=0||t.length<16||t.length>32)throw new Error("invalid entropy");const n=[0];let r=11;for(let e=0;e<t.length;e++)r>8?(n[n.length-1]<<=8,n[n.length-1]|=t[e],r-=8):(n[n.length-1]<<=r,n[n.length-1]|=t[e]>>8-r,n.push(t[e]&kb(8-r)),r+=3);const i=t.length/4,o=Ip(Tb(t))[0]&Qb(i);return n[n.length-1]<<=i,n[n.length-1]|=o>>8-i,e.join(n.map(t=>e.getWord(t)))}const Jb=new fp("random/5.8.0");const Wb=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==s.g)return s.g;throw new Error("unable to locate global object")}();let qb=Wb.crypto||Wb.msCrypto;function Kb(t){(t<=0||t>1024||t%1||t!=t)&&Jb.throwArgumentError("invalid length","length",t);const e=new Uint8Array(t);return qb.getRandomValues(e),Ip(e)}qb&&qb.getRandomValues||(Jb.warn("WARNING: Missing strong random number source"),qb={getRandomValues:function(t){return Jb.throwError("no secure random source avaialble",fp.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}});var Xb=s(2872),Zb=s.n(Xb),$b=s(9983),tM=s.n($b);function eM(t){return"string"==typeof t&&"0x"!==t.substring(0,2)&&(t="0x"+t),Ip(t)}function nM(t,e){for(t=String(t);t.length<e;)t="0"+t;return t}function rM(t){return"string"==typeof t?eb(t,ZD.NFKC):Ip(t)}function iM(t,e){let n=t;const r=e.toLowerCase().split("/");for(let t=0;t<r.length;t++){let e=null;for(const i in n)if(i.toLowerCase()===r[t]){e=n[i];break}if(null===e)return null;n=e}return n}function oM(t){const e=Ip(t);e[6]=15&e[6]|64,e[8]=63&e[8]|128;const n=bp(e);return[n.substring(2,10),n.substring(10,14),n.substring(14,18),n.substring(18,22),n.substring(22,34)].join("-")}const sM="json-wallets/5.8.0";var aM=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function s(t){try{c(r.next(t))}catch(t){o(t)}}function a(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(s,a)}c((r=r.apply(t,e||[])).next())})};const cM=new fp(sM);function lM(t){return null!=t&&t.mnemonic&&t.mnemonic.phrase}class uM extends _f{isKeystoreAccount(t){return!(!t||!t._isKeystoreAccount)}}function hM(t,e){const n=eM(iM(t,"crypto/ciphertext"));if(bp(qf(Cp([e.slice(16,32),n]))).substring(2)!==iM(t,"crypto/mac").toLowerCase())throw new Error("invalid password");const r=function(t,e,n){if("aes-128-ctr"===iM(t,"crypto/cipher")){const r=eM(iM(t,"crypto/cipherparams/iv")),i=new(Zb().Counter)(r);return Ip(new(Zb().ModeOfOperation.ctr)(e,i).decrypt(n))}return null}(t,e.slice(0,16),n);r||cM.throwError("unsupported cipher",fp.errors.UNSUPPORTED_OPERATION,{operation:"decrypt"});const i=e.slice(32,64),o=hA(r);if(t.address){let e=t.address.toLowerCase();if("0x"!==e.substring(0,2)&&(e="0x"+e),nA(e)!==o)throw new Error("address mismatch")}const s={_isKeystoreAccount:!0,address:o,privateKey:bp(r)};if("0.1"===iM(t,"x-ethers/version")){const e=eM(iM(t,"x-ethers/mnemonicCiphertext")),n=eM(iM(t,"x-ethers/mnemonicCounter")),r=new(Zb().Counter)(n),o=new(Zb().ModeOfOperation.ctr)(i,r),a=iM(t,"x-ethers/path")||Hb,c=iM(t,"x-ethers/locale")||"en",l=Ip(o.decrypt(e));try{const t=zb(l,c),e=jb.fromMnemonic(t,null,c).derivePath(a);if(e.privateKey!=s.privateKey)throw new Error("mnemonic mismatch");s.mnemonic=e.mnemonic}catch(t){if(t.code!==fp.errors.INVALID_ARGUMENT||"wordlist"!==t.argument)throw t}}return new uM(s)}function dM(t,e,n,r,i){return Ip(bb(t,e,n,r,i))}function pM(t,e,n,r,i){return Promise.resolve(dM(t,e,n,r,i))}function fM(t,e,n,r,i){const o=rM(e),s=iM(t,"crypto/kdf");if(s&&"string"==typeof s){const e=function(t,e){return cM.throwArgumentError("invalid key-derivation function parameters",t,e)};if("scrypt"===s.toLowerCase()){const n=eM(iM(t,"crypto/kdfparams/salt")),a=parseInt(iM(t,"crypto/kdfparams/n")),c=parseInt(iM(t,"crypto/kdfparams/r")),l=parseInt(iM(t,"crypto/kdfparams/p"));a&&c&&l||e("kdf",s),a&a-1&&e("N",a);const u=parseInt(iM(t,"crypto/kdfparams/dklen"));return 32!==u&&e("dklen",u),r(o,n,a,c,l,64,i)}if("pbkdf2"===s.toLowerCase()){const r=eM(iM(t,"crypto/kdfparams/salt"));let i=null;const s=iM(t,"crypto/kdfparams/prf");"hmac-sha256"===s?i="sha256":"hmac-sha512"===s?i="sha512":e("prf",s);const a=parseInt(iM(t,"crypto/kdfparams/c")),c=parseInt(iM(t,"crypto/kdfparams/dklen"));return 32!==c&&e("dklen",c),n(o,r,a,c,i)}}return cM.throwArgumentError("unsupported key-derivation function","kdf",s)}const AM=new fp(sM);class gM extends _f{isCrowdsaleAccount(t){return!(!t||!t._isCrowdsaleAccount)}}function EM(t,e){const n=JSON.parse(t);e=rM(e);const r=nA(iM(n,"ethaddr")),i=eM(iM(n,"encseed"));i&&i.length%16==0||AM.throwArgumentError("invalid encseed","json",t);const o=Ip(bb(e,e,2e3,32,"sha256")).slice(0,16),s=i.slice(0,16),a=i.slice(16),c=new(Zb().ModeOfOperation.cbc)(o,s),l=Zb().padding.pkcs7.strip(Ip(c.decrypt(a)));let u="";for(let t=0;t<l.length;t++)u+=String.fromCharCode(l[t]);const h=qf(eb(u));return new gM({_isCrowdsaleAccount:!0,address:r,privateKey:h})}function mM(t){let e=null;try{e=JSON.parse(t)}catch(t){return!1}return e.encseed&&e.ethaddr}function wM(t){let e=null;try{e=JSON.parse(t)}catch(t){return!1}return!(!e.version||parseInt(e.version)!==e.version||3!==parseInt(e.version))}function yM(t,e,n){if(mM(t)){n&&n(0);const r=EM(t,e);return n&&n(1),Promise.resolve(r)}return wM(t)?function(t,e,n){return aM(this,void 0,void 0,function*(){const r=JSON.parse(t);return hM(r,yield fM(r,e,pM,tM().scrypt,n))})}(t,e,n):Promise.reject(new Error("invalid JSON wallet"))}function IM(t,e){if(mM(t))return EM(t,e);if(wM(t))return function(t,e){const n=JSON.parse(t);return hM(n,fM(n,e,dM,tM().syncScrypt))}(t,e);throw new Error("invalid JSON wallet")}var CM=function(t,e,n,r){return new(n||(n=Promise))(function(i,o){function s(t){try{c(r.next(t))}catch(t){o(t)}}function a(t){try{c(r.throw(t))}catch(t){o(t)}}function c(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n(function(t){t(e)})).then(s,a)}c((r=r.apply(t,e||[])).next())})};const BM=new fp("wallet/5.8.0");class TM extends KD{constructor(t,e){if(super(),null!=(n=t)&&Tp(n.privateKey,32)&&null!=n.address){const e=new Ff(t.privateKey);if(Tf(this,"_signingKey",()=>e),Tf(this,"address",hA(this.publicKey)),this.address!==nA(t.address)&&BM.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),function(t){const e=t.mnemonic;return e&&e.phrase}(t)){const e=t.mnemonic;Tf(this,"_mnemonic",()=>({phrase:e.phrase,path:e.path||Hb,locale:e.locale||"en"}));const n=this.mnemonic;hA(jb.fromMnemonic(n.phrase,null,n.locale).derivePath(n.path).privateKey)!==this.address&&BM.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else Tf(this,"_mnemonic",()=>null)}else{if(Ff.isSigningKey(t))"secp256k1"!==t.curve&&BM.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),Tf(this,"_signingKey",()=>t);else{"string"==typeof t&&t.match(/^[0-9a-f]*$/i)&&64===t.length&&(t="0x"+t);const e=new Ff(t);Tf(this,"_signingKey",()=>e)}Tf(this,"_mnemonic",()=>null),Tf(this,"address",hA(this.publicKey))}var n;e&&!YD.isProvider(e)&&BM.throwArgumentError("invalid provider","provider",e),Tf(this,"provider",e||null)}get mnemonic(){return this._mnemonic()}get privateKey(){return this._signingKey().privateKey}get publicKey(){return this._signingKey().publicKey}getAddress(){return Promise.resolve(this.address)}connect(t){return new TM(this,t)}signTransaction(t){return Df(t).then(e=>{null!=e.from&&(nA(e.from)!==this.address&&BM.throwArgumentError("transaction from address mismatch","transaction.from",t.from),delete e.from);const n=this._signingKey().signDigest(qf(yA(e)));return yA(e,n)})}signMessage(t){return CM(this,void 0,void 0,function*(){return Lp(this._signingKey().signDigest(nb(t)))})}_signTypedData(t,e,n){return CM(this,void 0,void 0,function*(){const r=yield wb.resolveNames(t,e,n,t=>(null==this.provider&&BM.throwError("cannot resolve ENS names without a provider",fp.errors.UNSUPPORTED_OPERATION,{operation:"resolveName",value:t}),this.provider.resolveName(t)));return Lp(this._signingKey().signDigest(wb.hash(r.domain,e,r.value)))})}encrypt(t,e,n){if("function"!=typeof e||n||(n=e,e={}),n&&"function"!=typeof n)throw new Error("invalid callback");return e||(e={}),function(t,e,n,r){try{if(nA(t.address)!==hA(t.privateKey))throw new Error("address/privateKey mismatch");if(lM(t)){const e=t.mnemonic;if(jb.fromMnemonic(e.phrase,null,e.locale).derivePath(e.path||Hb).privateKey!=t.privateKey)throw new Error("mnemonic mismatch")}}catch(t){return Promise.reject(t)}"function"!=typeof n||r||(r=n,n={}),n||(n={});const i=Ip(t.privateKey),o=rM(e);let s=null,a=null,c=null;if(lM(t)){const e=t.mnemonic;s=Ip(Yb(e.phrase,e.locale||"en")),a=e.path||Hb,c=e.locale||"en"}let l=n.client;l||(l="ethers.js");let u=null;u=n.salt?Ip(n.salt):Kb(32);let h=null;if(n.iv){if(h=Ip(n.iv),16!==h.length)throw new Error("invalid iv")}else h=Kb(16);let d=null;if(n.uuid){if(d=Ip(n.uuid),16!==d.length)throw new Error("invalid uuid")}else d=Kb(16);let p=1<<17,f=8,A=1;return n.scrypt&&(n.scrypt.N&&(p=n.scrypt.N),n.scrypt.r&&(f=n.scrypt.r),n.scrypt.p&&(A=n.scrypt.p)),tM().scrypt(o,u,p,f,A,64,r).then(e=>{const n=(e=Ip(e)).slice(0,16),r=e.slice(16,32),o=e.slice(32,64),g=new(Zb().Counter)(h),E=Ip(new(Zb().ModeOfOperation.ctr)(n,g).encrypt(i)),m=qf(Cp([r,E])),w={address:t.address.substring(2).toLowerCase(),id:oM(d),version:3,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:bp(h).substring(2)},ciphertext:bp(E).substring(2),kdf:"scrypt",kdfparams:{salt:bp(u).substring(2),n:p,dklen:32,p:A,r:f},mac:m.substring(2)}};if(s){const t=Kb(16),e=new(Zb().Counter)(t),n=Ip(new(Zb().ModeOfOperation.ctr)(o,e).encrypt(s)),r=new Date,i=r.getUTCFullYear()+"-"+nM(r.getUTCMonth()+1,2)+"-"+nM(r.getUTCDate(),2)+"T"+nM(r.getUTCHours(),2)+"-"+nM(r.getUTCMinutes(),2)+"-"+nM(r.getUTCSeconds(),2)+".0Z";w["x-ethers"]={client:l,gethFilename:"UTC--"+i+"--"+w.address,mnemonicCounter:bp(t).substring(2),mnemonicCiphertext:bp(n).substring(2),path:a,locale:c,version:"0.1"}}return JSON.stringify(w)})}(this,t,e,n)}static createRandom(t){let e=Kb(16);t||(t={}),t.extraEntropy&&(e=Ip(Np(qf(Cp([e,t.extraEntropy])),0,16)));const n=zb(e,t.locale);return TM.fromMnemonic(n,t.path,t.locale)}static fromEncryptedJson(t,e,n){return yM(t,e,n).then(t=>new TM(t))}static fromEncryptedJsonSync(t,e){return new TM(IM(t,e))}static fromMnemonic(t,e,n){return e||(e=Hb),new TM(jb.fromMnemonic(t,null,n).derivePath(e))}}const{Kt:DM,uN:bM}=n,MM={getPublicKey:t=>Ip(bM(t,!0)),getAddress:t=>DM(t).toLowerCase(),async sign(t,e){const n=function(t){if(!t)throw new Error("Private key missing");return new TM(t)}(e);return Ip(await n.signMessage(t))},async verify(t,e,n){const r="string"==typeof n?n:bp(n),i=function(t,e){return dA(nb(t),e)}(t,e);return i.toLowerCase()===r.toLowerCase()}};const NM={[XA]:MM};s(1357);Event;const vM=["TLS_CHACHA20_POLY1305_SHA256","TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256","TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256","TLS_AES_256_GCM_SHA384","TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384","TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384","TLS_AES_128_GCM_SHA256","TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256","TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256","TLS_RSA_WITH_AES_128_GCM_SHA256"],SM="node"===am()?Z:Z.filter(t=>"X25519"!==t);function _M(){return{cipherSuites:vM,namedCurves:SM}}async function LM(t){const e=await async function(t){if(t instanceof ArrayBuffer)return new Uint8Array(t);if(t instanceof Uint8Array||"object"==typeof t&&t&&"buffer"in t)return t;if("string"==typeof t)return WE(t);if("undefined"!=typeof Blob&&t instanceof Blob)return new Uint8Array(await t.arrayBuffer());throw new Error("unsupported data: "+String(t))}(t),{messages:n}=mE.decode(e);for(const t of n)await xM.call(this,t)}function xM(t){if(this.logger?.trace({msg:t},"received message"),t.connectionTerminationAlert){const e=DD.fromProto(t.connectionTerminationAlert);return this.logger?.warn({err:"ERROR_NO_ERROR"!==e.code?e:void 0},"received connection termination alert"),void this.dispatchRPCEvent("connection-terminated",e)}const e=function(t){if(t.requestError)return{direction:"response",type:"error"};for(const e in t){if(!t[e])continue;const n=em(e);if(n)return n}}(t);if(e){if("response"===e.direction&&"error"===e.type)return void this.dispatchRPCEvent("rpc-response",{id:t.id,error:DD.fromProto(t.requestError)});const n=`${e.type}Response`;return"response"===e.direction?void this.dispatchRPCEvent("rpc-response",{id:t.id,type:e.type,data:t[n]}):this.isInitialised||"init"===e.type?new Promise((r,i)=>{this.dispatchRPCEvent("rpc-request",{requestId:t.id,type:e.type,data:t[nm(e.type)],respond:o=>this.isOpen?"code"in o?(i(o),this.sendMessage({id:t.id,requestError:o.toProto()})):(r(),this.sendMessage({id:t.id,[n]:o})):(this.logger?.debug({type:e.type,res:o},"connection closed before responding"),void i(new Error("connection closed")))})}):(this.logger.warn({type:e.type},"RPC request received before initialisation"),void this.sendMessage({id:t.id,requestError:DD.badRequest("Initialise connection first").toProto()}))}t.tunnelMessage?this.dispatchRPCEvent("tunnel-message",t.tunnelMessage):t.tunnelDisconnectEvent?this.dispatchRPCEvent("tunnel-disconnect-event",t.tunnelDisconnectEvent):this.logger.warn({msg:t},"unhandled message")}TLS_ADDITIONAL_ROOT_CA_LIST.push("-----BEGIN CERTIFICATE-----\nMIIEszCCA5ugAwIBAgIQCyWUIs7ZgSoVoE6ZUooO+jANBgkqhkiG9w0BAQsFADBh\nMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3\nd3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH\nMjAeFw0xNzExMDIxMjI0MzNaFw0yNzExMDIxMjI0MzNaMGAxCzAJBgNVBAYTAlVT\nMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j\nb20xHzAdBgNVBAMTFlJhcGlkU1NMIFRMUyBSU0EgQ0EgRzEwggEiMA0GCSqGSIb3\nDQEBAQUAA4IBDwAwggEKAoIBAQC/uVklRBI1FuJdUEkFCuDL/I3aJQiaZ6aibRHj\nap/ap9zy1aYNrphe7YcaNwMoPsZvXDR+hNJOo9gbgOYVTPq8gXc84I75YKOHiVA4\nNrJJQZ6p2sJQyqx60HkEIjzIN+1LQLfXTlpuznToOa1hyTD0yyitFyOYwURM+/CI\n8FNFMpBhw22hpeAQkOOLmsqT5QZJYeik7qlvn8gfD+XdDnk3kkuuu0eG+vuyrSGr\n5uX5LRhFWlv1zFQDch/EKmd163m6z/ycx/qLa9zyvILc7cQpb+k7TLra9WE17YPS\nn9ANjG+ECo9PDW3N9lwhKQCNvw1gGoguyCQu7HE7BnW8eSSFAgMBAAGjggFmMIIB\nYjAdBgNVHQ4EFgQUDNtsgkkPSmcKuBTuesRIUojrVjgwHwYDVR0jBBgwFoAUTiJU\nIBiV5uNu5g/6+rkS7QYXjzkwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQWMBQGCCsG\nAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMDQGCCsGAQUFBwEB\nBCgwJjAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEIGA1Ud\nHwQ7MDkwN6A1oDOGMWh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEds\nb2JhbFJvb3RHMi5jcmwwYwYDVR0gBFwwWjA3BglghkgBhv1sAQEwKjAoBggrBgEF\nBQcCARYcaHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzALBglghkgBhv1sAQIw\nCAYGZ4EMAQIBMAgGBmeBDAECAjANBgkqhkiG9w0BAQsFAAOCAQEAGUSlOb4K3Wtm\nSlbmE50UYBHXM0SKXPqHMzk6XQUpCheF/4qU8aOhajsyRQFDV1ih/uPIg7YHRtFi\nCTq4G+zb43X1T77nJgSOI9pq/TqCwtukZ7u9VLL3JAq3Wdy2moKLvvC8tVmRzkAe\n0xQCkRKIjbBG80MSyDX/R4uYgj6ZiNT/Zg6GI6RofgqgpDdssLc0XIRQEotxIZcK\nzP3pGJ9FCbMHmMLLyuBd+uCWvVcF2ogYAawufChS/PT61D9rqzPRS5I2uqa3tmIT\n44JhJgWhBnFMb7AGQkvNq9KNS9dd3GWc17H/dXa1enoxzWjE0hBdFjxPhUb0W3wi\n8o34/m8Fxw==\n-----END CERTIFICATE-----");class RM{constructor(t,e,n){this.eventTarget=new EventTarget,this.isInitialised=!1,this.socket=t,this.metadata=e,this.logger=n,t.addEventListener("error",t=>{const e=DD.fromError(t.error||new Error(t.message),"ERROR_NETWORK_ERROR");this.dispatchRPCEvent("connection-terminated",e)}),t.addEventListener("close",()=>this.dispatchRPCEvent("connection-terminated",new DD("ERROR_NO_ERROR","connection closed"))),t.addEventListener("message",async({data:t})=>{try{await LM.call(this,t)}catch(t){this.logger.error({err:t},"error processing message")}})}get isOpen(){return this.socket.readyState===this.socket.OPEN}get isClosed(){return this.socket.readyState===this.socket.CLOSED||this.socket.readyState===this.socket.CLOSING}async sendMessage(...t){if(this.isClosed)throw new DD("ERROR_NETWORK_ERROR","Connection closed, cannot send message");if(!this.isOpen)throw new DD("ERROR_NETWORK_ERROR","Wait for connection to open before sending message");const e=im(...t),n=mE.encode(e).finish();return this.logger.trace({msg:e},"sending messages"),"sendPromise"in this.socket&&this.socket.sendPromise?await this.socket.sendPromise(n):this.socket.send(n),e}dispatchRPCEvent(t,e){const n=function(t,e){const n=new Event(t);return n.data=e,n}(t,e);this.eventTarget.dispatchEvent(n)}addEventListener(t,e){this.eventTarget.addEventListener(t,e)}removeEventListener(t,e){this.eventTarget.removeEventListener(t,e)}async terminateConnection(t){if(!this.isClosed)try{const e=t?DD.fromError(t):new DD("ERROR_NO_ERROR","");this.dispatchRPCEvent("connection-terminated",e),this.isOpen&&await this.sendMessage({connectionTerminationAlert:e.toProto()})}catch(t){this.logger?.error({err:t},"error terminating connection")}finally{this.socket.close()}}}function FM(t){return new WebSocket(t)}const{K3:OM}=n;class QM extends RM{constructor({url:t,initMessages:e=[],signatureType:n=DE.signatureType,logger:r=pm,authRequest:i,makeWebSocket:o=FM}){const s={...DE,signatureType:n,auth:i},a=im({initRequest:s},...e),c=mE.encode(a).finish(),l=OM.encode(c);(t=new URL(t.toString())).searchParams.set("messages",l),super(o(t),s,r),this.waitForInit=()=>{if(this.isClosed)throw new DD("ERROR_NETWORK_ERROR","Client connection already closed");return this.waitForInitPromise};const u=a.messages[0].id;this.waitForInitPromise=this.waitForResponse(u,ME).then(t=>{r.info("client initialised"),this.isInitialised=!0,this.initResponse=t}),this.waitForInitPromise.catch(()=>{}),this.addEventListener("connection-terminated",t=>r.info({err:t.data},"connection terminated"))}async rpc(t,e,n=9e4){const r=$E();this.logger.debug({type:t,id:r},"sending rpc request");const i=Date.now();try{const i=this.waitForResponse(r,n);return await this.sendMessage({id:r,[nm(t)]:e}),await i}finally{const e=Date.now()-i;this.logger.debug({type:t,timeTakenMs:e},"received rpc response")}}waitForResponse(t,e=9e4){if(this.isClosed)throw new DD("ERROR_NETWORK_ERROR","Client connection already closed");return new Promise((n,r)=>{const i=e=>{e.data.id===t&&(a(),"error"in e.data?r(e.data.error):n(e.data.data))},o=t=>{a(),"ERROR_NO_ERROR"!==t.data.code?r(t.data):r(new DD("ERROR_NETWORK_ERROR",t.data.message,t.data.data))},s=setTimeout(()=>{a(),r(new DD("ERROR_TIMEOUT",`RPC request timed out after ${e}ms`,{id:t}))},e),a=()=>{clearTimeout(s),this.removeEventListener("rpc-response",i),this.removeEventListener("connection-terminated",o)};this.addEventListener("rpc-response",i),this.addEventListener("connection-terminated",o)})}}var kM;!function(t){t.AssignmentExpression="AssignmentExpression",t.AssignmentPattern="AssignmentPattern",t.ArrayExpression="ArrayExpression",t.ArrayPattern="ArrayPattern",t.ArrowFunctionExpression="ArrowFunctionExpression",t.AwaitExpression="AwaitExpression",t.BlockStatement="BlockStatement",t.BinaryExpression="BinaryExpression",t.BreakStatement="BreakStatement",t.CallExpression="CallExpression",t.CatchClause="CatchClause",t.ChainExpression="ChainExpression",t.ClassBody="ClassBody",t.ClassDeclaration="ClassDeclaration",t.ClassExpression="ClassExpression",t.ConditionalExpression="ConditionalExpression",t.ContinueStatement="ContinueStatement",t.Decorator="Decorator",t.DoWhileStatement="DoWhileStatement",t.DebuggerStatement="DebuggerStatement",t.EmptyStatement="EmptyStatement",t.ExportAllDeclaration="ExportAllDeclaration",t.ExportDefaultDeclaration="ExportDefaultDeclaration",t.ExportNamedDeclaration="ExportNamedDeclaration",t.ExportSpecifier="ExportSpecifier",t.ExpressionStatement="ExpressionStatement",t.ForStatement="ForStatement",t.ForOfStatement="ForOfStatement",t.ForInStatement="ForInStatement",t.FunctionDeclaration="FunctionDeclaration",t.FunctionExpression="FunctionExpression",t.Identifier="Identifier",t.IfStatement="IfStatement",t.ImportAttribute="ImportAttribute",t.ImportExpression="ImportExpression",t.ImportDeclaration="ImportDeclaration",t.ImportDefaultSpecifier="ImportDefaultSpecifier",t.ImportNamespaceSpecifier="ImportNamespaceSpecifier",t.ImportSpecifier="ImportSpecifier",t.Literal="Literal",t.LabeledStatement="LabeledStatement",t.LogicalExpression="LogicalExpression",t.MemberExpression="MemberExpression",t.MetaProperty="MetaProperty",t.MethodDefinition="MethodDefinition",t.NewExpression="NewExpression",t.ObjectExpression="ObjectExpression",t.ObjectPattern="ObjectPattern",t.Program="Program",t.Property="Property",t.PrivateIdentifier="PrivateIdentifier",t.RestElement="RestElement",t.ReturnStatement="ReturnStatement",t.SequenceExpression="SequenceExpression",t.SpreadElement="SpreadElement",t.StaticBlock="StaticBlock",t.Super="Super",t.SwitchCase="SwitchCase",t.SwitchStatement="SwitchStatement",t.TaggedTemplateExpression="TaggedTemplateExpression",t.TemplateElement="TemplateElement",t.TemplateLiteral="TemplateLiteral",t.ThisExpression="ThisExpression",t.ThrowStatement="ThrowStatement",t.TryStatement="TryStatement",t.UnaryExpression="UnaryExpression",t.UpdateExpression="UpdateExpression",t.VariableDeclaration="VariableDeclaration",t.VariableDeclarator="VariableDeclarator",t.WhileStatement="WhileStatement",t.WithStatement="WithStatement",t.YieldExpression="YieldExpression"}(kM||(kM={}));class UM{constructor(){this.attach=!1,this.comments=[],this.stack=[],this.leading=[],this.trailing=[]}insertInnerComments(t,e){if(t.type===kM.BlockStatement&&0===t.body.length){const n=[];for(let t=this.leading.length-1;t>=0;--t){const r=this.leading[t];e.end.offset>=r.start&&(n.unshift(r.comment),this.leading.splice(t,1),this.trailing.splice(t,1))}n.length&&(t.innerComments=n)}}findTrailingComments(t){let e=[];if(this.trailing.length>0){for(let n=this.trailing.length-1;n>=0;--n){const r=this.trailing[n];r.start>=t.end.offset&&e.unshift(r.comment)}return this.trailing.length=0,e}const n=this.stack[this.stack.length-1];if(n&&n.node.trailingComments){const r=n.node.trailingComments[0];r&&r.range[0]>=t.end.offset&&(e=n.node.trailingComments,delete n.node.trailingComments)}return e}findLeadingComments(t){const e=[];let n;for(;this.stack.length>0;){const e=this.stack[this.stack.length-1];if(!(e&&e.start>=t.start.offset))break;n=e.node,this.stack.pop()}if(n){for(let r=(n.leadingComments?n.leadingComments.length:0)-1;r>=0;--r){const i=n.leadingComments[r];i.range[1]<=t.start.offset&&(e.unshift(i),n.leadingComments.splice(r,1))}return n.leadingComments&&0===n.leadingComments.length&&delete n.leadingComments,e}for(let n=this.leading.length-1;n>=0;--n){const r=this.leading[n];r.start<=t.start.offset&&(e.unshift(r.comment),this.leading.splice(n,1))}return e}visitNode(t,e){if(t.type===kM.Program&&t.body.length>0)return;this.insertInnerComments(t,e);const n=this.findTrailingComments(e),r=this.findLeadingComments(e);r.length>0&&(t.leadingComments=r),n.length>0&&(t.trailingComments=n),this.stack.push({node:t,start:e.start.offset})}visitComment(t,e){const n="L"===t.type[0]?"Line":"Block",r={type:n,value:t.value};if(t.range&&(r.range=t.range),t.loc&&(r.loc=t.loc),this.comments.push(r),this.attach){const r={comment:{type:n,value:t.value,range:[e.start.offset,e.end.offset]},start:e.start.offset};t.loc&&(r.comment.loc=t.loc),t.type=n,this.leading.push(r),this.trailing.push(r)}}visit(t,e){"LineComment"===t.type||"BlockComment"===t.type?this.visitComment(t,e):this.attach&&this.visitNode(t,e)}}const PM={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7C6\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB67\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDEC0-\uDEEB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05EF-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u07FD\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D3-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u09FE\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1878\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CD0-\u1CD2\u1CD4-\u1CFA\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEF\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7C6\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB67\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD27\uDD30-\uDD39\uDF00-\uDF1C\uDF27\uDF30-\uDF50\uDFE0-\uDFF6]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD44-\uDD46\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDC9-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3B-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC5E\uDC5F\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDC00-\uDC3A\uDCA0-\uDCE9\uDCFF\uDDA0-\uDDA7\uDDAA-\uDDD7\uDDDA-\uDDE1\uDDE3\uDDE4\uDE00-\uDE3E\uDE47\uDE50-\uDE99\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD8E\uDD90\uDD91\uDD93-\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF6]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE7F\uDF00-\uDF4A\uDF4F-\uDF87\uDF8F-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDD00-\uDD2C\uDD30-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4B\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/},GM={fromCodePoint:t=>t<65536?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10))+String.fromCharCode(56320+(t-65536&1023)),isStringWellFormedUnicode(t){for(let e=0;e<t.length;e++){let n=t.charCodeAt(e);if(n>=55296&&n<=56319){if(e===t.length-1)return!1;if(e++,n=t.charCodeAt(e),n<56320&&n>57343)return!1}else if(n>=56320&&n<=57343)return!1}return!0},isWhiteSpace:t=>32===t||9===t||11===t||12===t||160===t||t>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(t)>=0,isLineTerminator:t=>10===t||13===t||8232===t||8233===t,isIdentifierStart:t=>36===t||95===t||t>=65&&t<=90||t>=97&&t<=122||92===t||t>=128&&PM.NonAsciiIdentifierStart.test(GM.fromCodePoint(t)),isIdentifierPart:t=>36===t||95===t||t>=65&&t<=90||t>=97&&t<=122||t>=48&&t<=57||92===t||t>=128&&PM.NonAsciiIdentifierPart.test(GM.fromCodePoint(t)),isDecimalDigit:t=>t>=48&&t<=57,isDecimalDigitChar:t=>1===t.length&&GM.isDecimalDigit(t.charCodeAt(0)),isHexDigit:t=>t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102,isHexDigitChar:t=>1===t.length&&GM.isHexDigit(t.charCodeAt(0)),isOctalDigit:t=>t>=48&&t<=55,isOctalDigitChar:t=>1===t.length&&GM.isOctalDigit(t.charCodeAt(0))};var VM;!function(t){t.JSXAttribute="JSXAttribute",t.JSXClosingElement="JSXClosingElement",t.JSXClosingFragment="JSXClosingFragment",t.JSXElement="JSXElement",t.JSXEmptyExpression="JSXEmptyExpression",t.JSXExpressionContainer="JSXExpressionContainer",t.JSXIdentifier="JSXIdentifier",t.JSXMemberExpression="JSXMemberExpression",t.JSXNamespacedName="JSXNamespacedName",t.JSXOpeningElement="JSXOpeningElement",t.JSXOpeningFragment="JSXOpeningFragment",t.JSXSpreadAttribute="JSXSpreadAttribute",t.JSXText="JSXText"}(VM||(VM={}));class HM{constructor(t){this.type=VM.JSXClosingElement,this.name=t}}class jM{constructor(){this.type=VM.JSXClosingFragment}}class YM{constructor(t,e,n){this.type=VM.JSXElement,this.openingElement=t,this.children=e,this.closingElement=n}}class zM{constructor(){this.type=VM.JSXEmptyExpression}}class JM{constructor(t){this.type=VM.JSXExpressionContainer,this.expression=t}}class WM{constructor(t){this.type=VM.JSXIdentifier,this.name=t}}class qM{constructor(t,e){this.type=VM.JSXMemberExpression,this.object=t,this.property=e}}class KM{constructor(t,e){this.type=VM.JSXAttribute,this.name=t,this.value=e}}class XM{constructor(t,e){this.type=VM.JSXNamespacedName,this.namespace=t,this.name=e}}class ZM{constructor(t,e,n){this.type=VM.JSXOpeningElement,this.name=t,this.selfClosing=e,this.attributes=n}}class $M{constructor(t){this.type=VM.JSXOpeningFragment,this.selfClosing=t}}class tN{constructor(t){this.type=VM.JSXSpreadAttribute,this.argument=t}}class eN{constructor(t,e){this.type=VM.JSXText,this.value=t,this.raw=e}}class nN{constructor(t){this.type=kM.ArrayExpression,this.elements=t}}class rN{constructor(t){this.type=kM.ArrayPattern,this.elements=t}}class iN{constructor(t,e,n,r){this.type=kM.ArrowFunctionExpression,this.id=null,this.params=t,this.body=e,this.generator=!1,this.expression=n,this.async=r}}class oN{constructor(t,e,n){this.type=kM.AssignmentExpression,this.operator=t,this.left=e,this.right=n}}class sN{constructor(t,e){this.type=kM.AssignmentPattern,this.left=t,this.right=e}}class aN{constructor(t,e,n,r){this.type=kM.FunctionDeclaration,this.id=t,this.params=e,this.body=n,this.generator=r,this.expression=!1,this.async=!0}}class cN{constructor(t){this.type=kM.AwaitExpression,this.argument=t}}class lN{constructor(t,e,n){this.type=kM.Literal,this.value=t,this.raw=e,this.bigint=n}}class uN{constructor(t,e,n){this.type=kM.BinaryExpression,this.operator=t,this.left=e,this.right=n}}class hN{constructor(t){this.type=kM.BlockStatement,this.body=t}}class dN{constructor(t){this.type=kM.BreakStatement,this.label=t}}class pN{constructor(t,e,n){this.type=kM.CallExpression,this.callee=t,this.arguments=e,this.optional=n}}class fN{constructor(t,e){this.type=kM.CatchClause,this.param=t,this.body=e}}class AN{constructor(t){this.type=kM.ChainExpression,this.expression=t}}class gN{constructor(t){this.type=kM.ClassBody,this.body=t}}class EN{constructor(t,e,n,r){this.type=kM.ClassDeclaration,this.id=t,this.superClass=e,this.body=n,this.decorators=r}}class mN{constructor(t,e,n,r){this.type=kM.ClassExpression,this.id=t,this.superClass=e,this.body=n,this.decorators=r}}class wN{constructor(t,e,n){this.type=kM.ConditionalExpression,this.test=t,this.consequent=e,this.alternate=n}}class yN{constructor(t){this.type=kM.ContinueStatement,this.label=t}}class IN{constructor(){this.type=kM.DebuggerStatement}}class CN{constructor(t){this.type=kM.Decorator,this.expression=t}}class BN{constructor(t,e){this.type=kM.ExpressionStatement,this.expression=t,this.directive=e}}class TN{constructor(t,e){this.type=kM.DoWhileStatement,this.body=t,this.test=e}}class DN{constructor(){this.type=kM.EmptyStatement}}class bN{constructor(t,e,n){this.type=kM.ExportAllDeclaration,this.source=t,this.exported=e,this.assertions=n}}class MN{constructor(t){this.type=kM.ExportDefaultDeclaration,this.declaration=t}}class NN{constructor(t,e,n,r){this.type=kM.ExportNamedDeclaration,this.declaration=t,this.specifiers=e,this.source=n,this.assertions=r}}class vN{constructor(t,e){this.type=kM.ExportSpecifier,this.exported=e,this.local=t}}class SN{constructor(t){this.type=kM.ExpressionStatement,this.expression=t}}class _N{constructor(t,e,n){this.type=kM.ForInStatement,this.left=t,this.right=e,this.body=n,this.each=!1}}class LN{constructor(t,e,n,r){this.type=kM.ForOfStatement,this.await=r,this.left=t,this.right=e,this.body=n}}class xN{constructor(t,e,n,r){this.type=kM.ForStatement,this.init=t,this.test=e,this.update=n,this.body=r}}class RN{constructor(t,e,n,r){this.type=kM.FunctionDeclaration,this.id=t,this.params=e,this.body=n,this.generator=r,this.expression=!1,this.async=!1}}class FN{constructor(t,e,n,r,i){this.type=kM.FunctionExpression,this.id=t,this.params=e,this.body=n,this.generator=r,this.expression=!1,this.async=i}}class ON{constructor(t){this.type=kM.Identifier,this.name=t}}class QN{constructor(t,e,n){this.type=kM.IfStatement,this.test=t,this.consequent=e,this.alternate=n}}class kN{constructor(t,e){this.type=kM.ImportAttribute,this.key=t,this.value=e}}class UN{constructor(t,e){this.type=kM.ImportExpression,this.source=t,this.attributes=e}}class PN{constructor(t,e,n){this.type=kM.ImportDeclaration,this.specifiers=t,this.source=e,this.assertions=n}}class GN{constructor(t){this.type=kM.ImportDefaultSpecifier,this.local=t}}class VN{constructor(t){this.type=kM.ImportNamespaceSpecifier,this.local=t}}class HN{constructor(t,e){this.type=kM.ImportSpecifier,this.local=t,this.imported=e}}class jN{constructor(t,e){this.type=kM.LabeledStatement,this.label=t,this.body=e}}class YN{constructor(t,e){this.type=kM.Literal,this.value=t,this.raw=e}}class zN{constructor(t,e,n){this.type=kM.LogicalExpression,this.operator=t,this.left=e,this.right=n}}class JN{constructor(t,e,n,r){this.type=kM.MemberExpression,this.computed=t,this.object=e,this.property=n,this.optional=r}}class WN{constructor(t,e){this.type=kM.MetaProperty,this.meta=t,this.property=e}}class qN{constructor(t,e,n,r,i,o){this.type=kM.MethodDefinition,this.key=t,this.computed=e,this.value=n,this.kind=r,this.static=i,this.decorators=o}}class KN{constructor(t){this.type=kM.Program,this.body=t,this.sourceType="module"}}class XN{constructor(t,e){this.type=kM.NewExpression,this.callee=t,this.arguments=e}}class ZN{constructor(t){this.type=kM.ObjectExpression,this.properties=t}}class $N{constructor(t){this.type=kM.ObjectPattern,this.properties=t}}class tv{constructor(t){this.type=kM.PrivateIdentifier,this.name=t}}class ev{constructor(t,e,n,r,i,o){this.type=kM.Property,this.key=e,this.computed=n,this.value=r,this.kind=t,this.method=i,this.shorthand=o}}class nv{constructor(t,e,n,r,i){this.type=kM.Property,this.key=t,this.computed=e,this.value=n,this.static=r,this.decorators=i}}class rv{constructor(t,e,n,r){this.type=kM.Literal,this.value=t,this.raw=e,this.regex={pattern:n,flags:r}}}class iv{constructor(t){this.type=kM.RestElement,this.argument=t}}class ov{constructor(t){this.type=kM.ReturnStatement,this.argument=t}}class sv{constructor(t){this.type=kM.Program,this.body=t,this.sourceType="script"}}class av{constructor(t){this.type=kM.SequenceExpression,this.expressions=t}}class cv{constructor(t){this.type=kM.SpreadElement,this.argument=t}}class lv{constructor(t){this.type=kM.StaticBlock,this.body=t}}class uv{constructor(){this.type=kM.Super}}class hv{constructor(t,e){this.type=kM.SwitchCase,this.test=t,this.consequent=e}}class dv{constructor(t,e){this.type=kM.SwitchStatement,this.discriminant=t,this.cases=e}}class pv{constructor(t,e){this.type=kM.TaggedTemplateExpression,this.tag=t,this.quasi=e}}class fv{constructor(t,e){this.type=kM.TemplateElement,this.value=t,this.tail=e}}class Av{constructor(t,e){this.type=kM.TemplateLiteral,this.quasis=t,this.expressions=e}}class gv{constructor(){this.type=kM.ThisExpression}}class Ev{constructor(t){this.type=kM.ThrowStatement,this.argument=t}}class mv{constructor(t,e,n){this.type=kM.TryStatement,this.block=t,this.handler=e,this.finalizer=n}}class wv{constructor(t,e){this.type=kM.UnaryExpression,this.operator=t,this.argument=e,this.prefix=!0}}class yv{constructor(t,e,n){this.type=kM.UpdateExpression,this.operator=t,this.argument=e,this.prefix=n}}class Iv{constructor(t,e){this.type=kM.VariableDeclaration,this.declarations=t,this.kind=e}}class Cv{constructor(t,e){this.type=kM.VariableDeclarator,this.id=t,this.init=e}}class Bv{constructor(t,e){this.type=kM.WhileStatement,this.test=t,this.body=e}}class Tv{constructor(t,e){this.type=kM.WithStatement,this.object=t,this.body=e}}class Dv{constructor(t,e){this.type=kM.YieldExpression,this.argument=t,this.delegate=e}}function bv(t,e){if(!t)throw new Error("ASSERT: "+e)}class Mv{constructor(){this.errors=[],this.tolerant=!1}recordError(t){this.errors.push(t)}tolerate(t){if(!this.tolerant)throw t;this.recordError(t)}constructError(t,e){let n=new Error(t);try{throw n}catch(t){Object.create&&Object.defineProperty&&(n=Object.create(t),Object.defineProperty(n,"column",{value:e}))}return n}createError(t,e,n,r){const i="Line "+e+": "+r,o=this.constructError(i,n);o.index=t,o.lineNumber=e,o.description=r;return o}throwError(t,e,n,r){throw this.createError(t,e,n,r)}tolerateError(t,e,n,r){const i=this.createError(t,e,n,r);if(!this.tolerant)throw i;this.recordError(i)}}const Nv="Async functions can only be declared at the top level or inside a block.",vv="Unexpected token",Sv="Getter must not have any formal parameters",_v="Setter must have exactly one formal parameter",Lv="Setter function argument must not be a rest parameter",xv="Cannot use 'import.meta' outside a module",Rv="Class constructor may not be an async method",Fv="Class constructor may not be a private method",Ov="Class constructor may not be an accessor",Qv="Missing initializer in %0 declaration",kv="Unexpected token =",Uv="Unexpected token =",Pv="Duplicate binding %0",Gv="A class may only have one constructor",Vv="Duplicate parameter name not allowed in this context",Hv="Duplicate __proto__ fields are not allowed in object literals",jv="%0 loop variable declaration may not have an initializer",Yv="Generator declarations are not allowed in legacy contexts",zv="Illegal break statement",Jv="Illegal continue statement",Wv="Unexpected token",qv="Unexpected token",Kv="Illegal 'use strict' directive in function with non-simple parameter list",Xv="Illegal return statement",Zv="Keyword must not contain escaped characters",$v="Invalid hexadecimal escape sequence",tS="Invalid left-hand side in assignment",eS="Invalid left-hand side in for-in",nS="Invalid left-hand side in for-loop",rS="Unexpected token",iS="Invalid regular expression",oS="Invalid tagged template on optional chain",sS="Invalid Unicode escape sequence",aS="let is disallowed as a lexically bound name",cS="Unexpected token",lS="More than one default clause in switch statement",uS="Illegal newline after throw",hS="Unexpected token",dS="The `as` and `from` contextual keywords must not contain Unicode escape sequences.",pS="Missing catch or finally after try",fS="Decorators must not be followed by a semicolon.",AS="Numeric separator must be exactly one underscore",gS="Numeric separator is not allowed here",ES="Rest parameter must be last formal parameter",mS="Unexpected token",wS="%0 '%1' has already been declared",yS="Classes may not have static property named prototype",IS="Catch variable may not be eval or arguments in strict mode",CS="Delete of an unqualified identifier in strict mode.",BS="In strict mode code, functions can only be declared at top level or inside a block",TS="Function name may not be eval or arguments in strict mode",DS="Assignment to eval or arguments is not allowed in strict mode",bS="Postfix increment/decrement may not have eval or arguments operand in strict mode",MS="Prefix increment/decrement may not have eval or arguments operand in strict mode",NS="Strict mode code may not include a with statement",vS="Octal literals are not allowed in strict mode.",SS="Parameter name eval or arguments is not allowed in strict mode",_S="Use of future reserved word in strict mode",LS="Variable name may not be eval or arguments in strict mode",xS="Octal literals are not allowed in template strings.",RS="\\8 and \\9 are not allowed in template strings.",FS="Unexpected end of input",OS="Unexpected identifier",QS="Unexpected number",kS="Unexpected reserved word",US="Unexpected string",PS="'super' keyword unexpected here",GS="Unexpected quasi %0",VS="Unexpected token %0",HS="Unexpected token ILLEGAL",jS="Undefined label '%0'",YS="Invalid regular expression: missing /";function zS(t){return"0123456789abcdef".indexOf(t.toLowerCase())}function JS(t){return"01234567".indexOf(t)}class WS{constructor(t,e){this.source=t,this.errorHandler=e,this.trackComment=!1,this.isModule=!1,this.length=t.length,this.index=0,this.lineNumber=t.length>0?1:0,this.lineStart=0,this.curlyStack=[]}saveState(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart,curlyStack:this.curlyStack.slice()}}restoreState(t){this.index=t.index,this.lineNumber=t.lineNumber,this.lineStart=t.lineStart,this.curlyStack=t.curlyStack}eof(){return this.index>=this.length}throwUnexpectedToken(t=HS){return this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,t)}tolerateUnexpectedToken(t=HS){this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,t)}skipSingleLineComment(t){let e,n,r=[];for(this.trackComment&&(r=[],e=this.index-t,n={start:{line:this.lineNumber,column:this.index-this.lineStart-t},end:{}});!this.eof();){const i=this.source.charCodeAt(this.index);if(++this.index,GM.isLineTerminator(i)){if(this.trackComment){n.end={line:this.lineNumber,column:this.index-this.lineStart-1};const i={multiLine:!1,slice:[e+t,this.index-1],range:[e,this.index-1],loc:n};r.push(i)}return 13===i&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,r}}if(this.trackComment){n.end={line:this.lineNumber,column:this.index-this.lineStart};const i={multiLine:!1,slice:[e+t,this.index],range:[e,this.index],loc:n};r.push(i)}return r}skipMultiLineComment(){let t,e,n=[];for(this.trackComment&&(n=[],t=this.index-2,e={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}});!this.eof();){const r=this.source.charCodeAt(this.index);if(GM.isLineTerminator(r))13===r&&10===this.source.charCodeAt(this.index+1)&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(42===r){if(47===this.source.charCodeAt(this.index+1)){if(this.index+=2,this.trackComment){e.end={line:this.lineNumber,column:this.index-this.lineStart};const r={multiLine:!0,slice:[t+2,this.index-2],range:[t,this.index],loc:e};n.push(r)}return n}++this.index}else++this.index}if(this.trackComment){e.end={line:this.lineNumber,column:this.index-this.lineStart};const r={multiLine:!0,slice:[t+2,this.index],range:[t,this.index],loc:e};n.push(r)}return this.tolerateUnexpectedToken(),n}scanComments(){let t;this.trackComment&&(t=[]);let e=0===this.index;for(;!this.eof();){let n=this.source.charCodeAt(this.index);if(GM.isWhiteSpace(n))++this.index;else if(GM.isLineTerminator(n))++this.index,13===n&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,e=!0;else if(47===n)if(n=this.source.charCodeAt(this.index+1),47===n){this.index+=2;const n=this.skipSingleLineComment(2);this.trackComment&&(t=t.concat(n)),e=!0}else{if(42!==n)break;{this.index+=2;const e=this.skipMultiLineComment();this.trackComment&&(t=t.concat(e))}}else if(e&&45===n){if(45!==this.source.charCodeAt(this.index+1)||62!==this.source.charCodeAt(this.index+2))break;{this.index+=3;const e=this.skipSingleLineComment(3);this.trackComment&&(t=t.concat(e))}}else{if(60!==n||this.isModule)break;if("!--"!==this.source.slice(this.index+1,this.index+4))break;{this.index+=4;const e=this.skipSingleLineComment(4);this.trackComment&&(t=t.concat(e))}}}return t}isFutureReservedWord(t){switch(t){case"enum":case"export":case"import":case"super":return!0;default:return!1}}isStrictModeReservedWord(t){switch(t){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}}isRestrictedWord(t){return"eval"===t||"arguments"===t}isKeyword(t){switch(t.length){case 2:return"if"===t||"in"===t||"do"===t;case 3:return"var"===t||"for"===t||"new"===t||"try"===t||"let"===t;case 4:return"this"===t||"else"===t||"case"===t||"void"===t||"with"===t||"enum"===t;case 5:return"while"===t||"break"===t||"catch"===t||"throw"===t||"const"===t||"yield"===t||"class"===t||"super"===t;case 6:return"return"===t||"typeof"===t||"delete"===t||"switch"===t||"export"===t||"import"===t;case 7:return"default"===t||"finally"===t||"extends"===t;case 8:return"function"===t||"continue"===t||"debugger"===t;case 10:return"instanceof"===t;default:return!1}}codePointAt(t){let e=this.source.charCodeAt(t);if(e>=55296&&e<=56319){const n=this.source.charCodeAt(t+1);if(n>=56320&&n<=57343){e=1024*(e-55296)+n-56320+65536}}return e}scanHexEscape(t){const e="u"===t?4:2;let n=0;for(let t=0;t<e;++t){if(this.eof()||!GM.isHexDigit(this.source.charCodeAt(this.index)))return null;n=16*n+zS(this.source[this.index++])}return String.fromCharCode(n)}tryToScanUnicodeCodePointEscape(){let t=this.source[this.index],e=0;if("}"===t)return null;for(;!this.eof()&&(t=this.source[this.index++],GM.isHexDigit(t.charCodeAt(0)));)e=16*e+zS(t);return e>1114111||"}"!==t?null:GM.fromCodePoint(e)}scanUnicodeCodePointEscape(){const t=this.tryToScanUnicodeCodePointEscape();return null===t?this.throwUnexpectedToken():t}getIdentifier(){const t=this.index++;for(;!this.eof();){const e=this.source.charCodeAt(this.index);if(92===e)return this.index=t,this.getComplexIdentifier();if(e>=55296&&e<57343)return this.index=t,this.getComplexIdentifier();if(!GM.isIdentifierPart(e))break;++this.index}return this.source.slice(t,this.index)}getComplexIdentifier(){let t,e=this.codePointAt(this.index),n=GM.fromCodePoint(e);for(this.index+=n.length,92===e&&(117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,t=this.scanUnicodeCodePointEscape()):(t=this.scanHexEscape("u"),null!==t&&"\\"!==t&&GM.isIdentifierStart(t.charCodeAt(0))||this.throwUnexpectedToken()),n=t);!this.eof()&&(e=this.codePointAt(this.index),GM.isIdentifierPart(e));)t=GM.fromCodePoint(e),n+=t,this.index+=t.length,92===e&&(n=n.substr(0,n.length-1),117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,t=this.scanUnicodeCodePointEscape()):(t=this.scanHexEscape("u"),null!==t&&"\\"!==t&&GM.isIdentifierPart(t.charCodeAt(0))||this.throwUnexpectedToken()),n+=t);return n}octalToDecimal(t){let e="0"!==t,n=JS(t);return!this.eof()&&GM.isOctalDigit(this.source.charCodeAt(this.index))&&(e=!0,n=8*n+JS(this.source[this.index++]),"0123".indexOf(t)>=0&&!this.eof()&&GM.isOctalDigit(this.source.charCodeAt(this.index))&&(n=8*n+JS(this.source[this.index++]))),{code:n,octal:e}}scanIdentifier(){let t;const e=this.index,n=92===this.source.charCodeAt(e),r=n?this.getComplexIdentifier():this.getIdentifier();if(t=1===r.length?3:this.isKeyword(r)?4:"null"===r?5:"true"===r||"false"===r?1:3,3!==t&&e+r.length!==this.index){const t=this.index;this.index=e,this.tolerateUnexpectedToken(Zv),this.index=t}return{type:t,value:r,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index,escaped:n}}scanPunctuator(){const t=this.index;let e=this.source[this.index];switch(e){case"(":case"{":"{"===e&&this.curlyStack.push("{"),++this.index;break;case".":++this.index,"."===this.source[this.index]&&"."===this.source[this.index+1]&&(this.index+=2,e="...");break;case"}":++this.index,this.curlyStack.pop();break;case"?":++this.index,"?"===this.source[this.index]&&(++this.index,"="===this.source[this.index]?(++this.index,e="??="):e="??"),"."!==this.source[this.index]||/^\d$/.test(this.source[this.index+1])||(++this.index,e="?.");break;case"#":case")":case";":case",":case"[":case"]":case":":case"~":case"@":++this.index;break;default:e=this.source.substr(this.index,4),">>>="===e?this.index+=4:(e=e.substr(0,3),"==="===e||"!=="===e||">>>"===e||"<<="===e||">>="===e||"**="===e||"&&="===e||"||="===e?this.index+=3:(e=e.substr(0,2),"&&"===e||"||"===e||"=="===e||"!="===e||"+="===e||"-="===e||"*="===e||"/="===e||"++"===e||"--"===e||"<<"===e||">>"===e||"&="===e||"|="===e||"^="===e||"%="===e||"<="===e||">="===e||"=>"===e||"**"===e?this.index+=2:(e=this.source[this.index],"<>=!+-*%&|^/".indexOf(e)>=0&&++this.index)))}return this.index===t&&this.throwUnexpectedToken(),{type:7,value:e,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}}scanHexLiteral(t){let e=this.scanLiteralPart(GM.isHexDigitChar);return 0===e.length&&this.throwUnexpectedToken(),"n"===this.source[this.index]?(this.index++,{type:6,value:BigInt("0x"+e),lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}):(GM.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseInt("0x"+e,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index})}scanBinaryLiteral(t){let e,n=this.scanLiteralPart(t=>"0"===t||"1"===t);return 0===n.length&&this.throwUnexpectedToken(),"n"===this.source[this.index]?(this.index++,{type:6,value:BigInt("0b"+n),lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}):(this.eof()||(e=this.source.charCodeAt(this.index),(GM.isIdentifierStart(e)||GM.isDecimalDigit(e))&&this.throwUnexpectedToken()),{type:6,value:parseInt(n,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index})}scanOctalLiteral(t,e){let n="",r=!1;return GM.isOctalDigit(t.charCodeAt(0))?(r=!0,n="0"+this.source[this.index++]):++this.index,n+=this.scanLiteralPart(GM.isOctalDigitChar),r||0!==n.length||this.throwUnexpectedToken(),"n"===this.source[this.index]?(this.index++,{type:6,value:BigInt("0o"+n),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}):((GM.isIdentifierStart(this.source.charCodeAt(this.index))||GM.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:6,value:parseInt(n,8),octal:r,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index})}isImplicitOctalLiteral(){for(let t=this.index+1;t<this.length;++t){const e=this.source[t];if("8"===e||"9"===e||"n"===e)return!1;if(!GM.isOctalDigit(e.charCodeAt(0)))return!0}return!0}scanLiteralPart(t){let e="";for("_"===this.source[this.index]&&this.throwUnexpectedToken(gS);this.source[this.index]&&(t(this.source[this.index])||"_"===this.source[this.index]);)"_"!==this.source[this.index]&&(e+=this.source[this.index]),this.index++,"_"===this.source[this.index-1]&&"_"===this.source[this.index]&&this.throwUnexpectedToken(AS);return"_"===this.source[this.index-1]&&this.throwUnexpectedToken(gS),e}scanNumericLiteral(){const t=this.index;let e=this.source[t];bv(GM.isDecimalDigit(e.charCodeAt(0))||"."===e,"Numeric literal must start with a decimal digit or a decimal point");let n="";if("."!==e){if(n=this.source[this.index++],e=this.source[this.index],"0"===n){if("x"===e||"X"===e)return++this.index,this.scanHexLiteral(t);if("b"===e||"B"===e)return++this.index,this.scanBinaryLiteral(t);if("o"===e||"O"===e)return this.scanOctalLiteral(e,t);if(e&&GM.isOctalDigit(e.charCodeAt(0))&&this.isImplicitOctalLiteral())return this.scanOctalLiteral(e,t)}this.index--,n=this.scanLiteralPart(GM.isDecimalDigitChar),e=this.source[this.index]}if("."===e&&(n+=this.source[this.index++],n+=this.scanLiteralPart(GM.isDecimalDigitChar),e=this.source[this.index]),"e"===e||"E"===e)n+=this.source[this.index++],e=this.source[this.index],"+"!==e&&"-"!==e||(n+=this.source[this.index++]),GM.isDecimalDigit(this.source.charCodeAt(this.index))?n+=this.scanLiteralPart(GM.isDecimalDigitChar):this.throwUnexpectedToken();else if("n"===e)return n.length>1&&"0"===n[0]&&this.throwUnexpectedToken(),this.index++,{type:6,value:BigInt(n),lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index};return GM.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseFloat(n),lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}}scanStringLiteral(){const t=this.index;let e=this.source[t];bv("'"===e||'"'===e,"String literal must starts with a quote"),++this.index;let n=!1,r="";for(;!this.eof();){let t=this.source[this.index++];if(t===e){e="";break}if("\\"===t)if(t=this.source[this.index++],t&&GM.isLineTerminator(t.charCodeAt(0)))++this.lineNumber,"\r"===t&&"\n"===this.source[this.index]&&++this.index,this.lineStart=this.index;else switch(t){case"u":if("{"===this.source[this.index])++this.index,r+=this.scanUnicodeCodePointEscape();else{const e=this.scanHexEscape(t);null===e&&this.throwUnexpectedToken(),r+=e}break;case"x":const e=this.scanHexEscape(t);null===e&&this.throwUnexpectedToken($v),r+=e;break;case"n":r+="\n";break;case"r":r+="\r";break;case"t":r+="\t";break;case"b":r+="\b";break;case"f":r+="\f";break;case"v":r+="\v";break;case"8":case"9":r+=t,this.tolerateUnexpectedToken();break;default:if(t&&GM.isOctalDigit(t.charCodeAt(0))){const e=this.octalToDecimal(t);n=e.octal||n,r+=String.fromCharCode(e.code)}else r+=t}else{if(GM.isLineTerminator(t.charCodeAt(0)))break;r+=t}}return""!==e&&(this.index=t,this.throwUnexpectedToken()),{type:8,value:r,octal:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}}scanTemplate(){let t="",e=!1;const n=this.index,r="`"===this.source[n];let i=!1,o=null,s=2;for(++this.index;!this.eof();){let n=this.source[this.index++];if("`"===n){s=1,i=!0,e=!0;break}if("$"===n){if("{"===this.source[this.index]){this.curlyStack.push("${"),++this.index,e=!0;break}t+=n}else{if(null!==o)continue;if("\\"===n)if(n=this.source[this.index++],GM.isLineTerminator(n.charCodeAt(0)))++this.lineNumber,"\r"===n&&"\n"===this.source[this.index]&&++this.index,this.lineStart=this.index;else switch(n){case"n":t+="\n";break;case"r":t+="\r";break;case"t":t+="\t";break;case"u":if("{"===this.source[this.index]){++this.index;const e=this.tryToScanUnicodeCodePointEscape();null===e?o="u":t+=e}else{const e=this.scanHexEscape(n);null===e?o="u":t+=e}break;case"x":const e=this.scanHexEscape(n);null===e?o="x":t+=e;break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v";break;default:"0"===n?GM.isDecimalDigit(this.source.charCodeAt(this.index))?o="0":t+="\0":GM.isDecimalDigitChar(n)?o=n:t+=n}else GM.isLineTerminator(n.charCodeAt(0))?(++this.lineNumber,"\r"===n&&"\n"===this.source[this.index]&&++this.index,this.lineStart=this.index,t+="\n"):t+=n}}return e||this.throwUnexpectedToken(),r||this.curlyStack.pop(),{type:10,value:this.source.slice(n+1,this.index-s),cooked:null===o?t:null,head:r,tail:i,notEscapeSequenceHead:o,lineNumber:this.lineNumber,lineStart:this.lineStart,start:n,end:this.index}}testRegExp(t,e){let n=t;e.indexOf("u")>=0&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,(t,e,n)=>{const r=parseInt(e||n,16);return r>1114111&&this.throwUnexpectedToken(iS),r<=65535?String.fromCharCode(r):"￿"}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"￿"));try{RegExp(n)}catch(t){this.throwUnexpectedToken(iS)}try{return new RegExp(t,e)}catch(t){return null}}scanRegExpBody(){let t=this.source[this.index];bv("/"===t,"Regular expression literal must start with a slash");let e=this.source[this.index++],n=!1,r=!1;for(;!this.eof();)if(t=this.source[this.index++],e+=t,"\\"===t)t=this.source[this.index++],GM.isLineTerminator(t.charCodeAt(0))&&this.throwUnexpectedToken(YS),e+=t;else if(GM.isLineTerminator(t.charCodeAt(0)))this.throwUnexpectedToken(YS);else if(n)"]"===t&&(n=!1);else{if("/"===t){r=!0;break}"["===t&&(n=!0)}return r||this.throwUnexpectedToken(YS),e.substr(1,e.length-2)}scanRegExpFlags(){let t="",e="";for(;!this.eof();){let n=this.source[this.index];if(!GM.isIdentifierPart(n.charCodeAt(0)))break;if(++this.index,"\\"!==n||this.eof())e+=n,t+=n;else if(n=this.source[this.index],"u"===n){++this.index;let n=this.index;const r=this.scanHexEscape("u");if(null!==r)for(e+=r,t+="\\u";n<this.index;++n)t+=this.source[n];else this.index=n,e+="u",t+="\\u";this.tolerateUnexpectedToken()}else t+="\\",this.tolerateUnexpectedToken()}return e}scanRegExp(){const t=this.index,e=this.scanRegExpBody(),n=this.scanRegExpFlags();return{type:9,value:"",pattern:e,flags:n,regex:this.testRegExp(e,n),lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}}lex(){if(this.eof())return{type:2,value:"",lineNumber:this.lineNumber,lineStart:this.lineStart,start:this.index,end:this.index};const t=this.source.charCodeAt(this.index);return GM.isIdentifierStart(t)?this.scanIdentifier():40===t||41===t||59===t?this.scanPunctuator():39===t||34===t?this.scanStringLiteral():46===t?GM.isDecimalDigit(this.source.charCodeAt(this.index+1))?this.scanNumericLiteral():this.scanPunctuator():GM.isDecimalDigit(t)?this.scanNumericLiteral():96===t||125===t&&"${"===this.curlyStack[this.curlyStack.length-1]?this.scanTemplate():t>=55296&&t<57343&&GM.isIdentifierStart(this.codePointAt(this.index))?this.scanIdentifier():this.scanPunctuator()}}const qS={1:"Boolean",2:"<end>",3:"Identifier",4:"Keyword",5:"Null",6:"Numeric",7:"Punctuator",8:"String",9:"RegularExpression",10:"Template"},KS="ArrowParameterPlaceHolder";class XS{constructor(t,e={},n){this.config={range:"boolean"==typeof e.range&&e.range,loc:"boolean"==typeof e.loc&&e.loc,source:null,tokens:"boolean"==typeof e.tokens&&e.tokens,comment:"boolean"==typeof e.comment&&e.comment,tolerant:"boolean"==typeof e.tolerant&&e.tolerant},this.config.loc&&e.source&&null!==e.source&&(this.config.source=String(e.source)),this.delegate=n,this.errorHandler=new Mv,this.errorHandler.tolerant=1==this.config.tolerant,this.scanner=new WS(t,this.errorHandler),this.scanner.trackComment=1==this.config.comment,this.operatorPrecedence={")":0,";":0,",":0,"=":0,"]":0,"??":5,"||":6,"&&":7,"|":8,"^":9,"&":10,"==":11,"!=":11,"===":11,"!==":11,"<":12,">":12,"<=":12,">=":12,"<<":13,">>":13,">>>":13,"+":14,"-":14,"*":15,"/":15,"%":15},this.lookahead={type:2,value:"",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0},this.hasLineTerminator=!1,this.context={isModule:!1,isAsync:!1,allowIn:!0,allowStrictDirective:!0,allowSuper:!1,allowYield:!0,firstCoverInitializedNameError:null,isAssignmentTarget:!1,isBindingElement:!1,inConstructor:!1,inFunctionBody:!1,inIteration:!1,inSwitch:!1,inClassConstructor:!1,labelSet:{},strict:!1,decorators:null},this.tokens=[],this.startMarker={index:0,line:this.scanner.lineNumber,column:0},this.lastMarker={index:0,line:this.scanner.lineNumber,column:0},this.nextToken(),this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}throwError(t,...e){const n=e.slice(),r=t.replace(/%(\d)/g,(t,e)=>(bv(e<n.length,"Message reference must be in range"),n[e])),i=this.lastMarker.index,o=this.lastMarker.line,s=this.lastMarker.column+1;throw this.errorHandler.createError(i,o,s,r)}tolerateError(t,...e){const n=e.slice(),r=t.replace(/%(\d)/g,(t,e)=>(bv(e<n.length,"Message reference must be in range"),n[e])),i=this.lastMarker.index,o=this.scanner.lineNumber,s=this.lastMarker.column+1;this.errorHandler.tolerateError(i,o,s,r)}unexpectedTokenError(t,e){let n,r=e||VS;if(t?(e||(r=2===t.type?FS:3===t.type?OS:6===t.type?QS:8===t.type?US:10===t.type?GS:VS,4===t.type&&(this.scanner.isFutureReservedWord(t.value)?r=kS:this.context.strict&&this.scanner.isStrictModeReservedWord(t.value)&&(r=_S))),n=t.value):n="ILLEGAL",r=r.replace("%0",n),t&&"number"==typeof t.lineNumber){const e=t.start,n=t.lineNumber,i=this.lastMarker.index-this.lastMarker.column,o=t.start-i+1;return this.errorHandler.createError(e,n,o,r)}{const t=this.lastMarker.index,e=this.lastMarker.line,n=this.lastMarker.column+1;return this.errorHandler.createError(t,e,n,r)}}throwUnexpectedToken(t,e){throw this.unexpectedTokenError(t,e)}tolerateUnexpectedToken(t,e){this.errorHandler.tolerate(this.unexpectedTokenError(t,e))}tolerateInvalidLoopStatement(){(this.matchKeyword("class")||this.matchKeyword("function"))&&this.tolerateError(VS,this.lookahead)}collectComments(){if(this.config.comment){const t=this.scanner.scanComments();if(t.length>0&&this.delegate)for(let e=0;e<t.length;++e){const n=t[e],r={type:n.multiLine?"BlockComment":"LineComment",value:this.scanner.source.slice(n.slice[0],n.slice[1])};this.config.range&&(r.range=n.range),this.config.loc&&(r.loc=n.loc);const i={start:{line:n.loc.start.line,column:n.loc.start.column,offset:n.range[0]},end:{line:n.loc.end.line,column:n.loc.end.column,offset:n.range[1]}};this.delegate(r,i)}}else this.scanner.scanComments()}getTokenRaw(t){return this.scanner.source.slice(t.start,t.end)}convertToken(t){const e={type:qS[t.type],value:this.getTokenRaw(t)};if(this.config.range&&(e.range=[t.start,t.end]),this.config.loc&&(e.loc={start:{line:this.startMarker.line,column:this.startMarker.column},end:{line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}),9===t.type){const n=t.pattern,r=t.flags;e.regex={pattern:n,flags:r}}return e}nextToken(){const t=this.lookahead;this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.collectComments(),this.scanner.index!==this.startMarker.index&&(this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart);const e=this.scanner.lex();return this.hasLineTerminator=t.lineNumber!==e.lineNumber,e&&this.context.strict&&3===e.type&&this.scanner.isStrictModeReservedWord(e.value)&&(e.type=4),this.lookahead=e,this.config.tokens&&2!==e.type&&this.tokens.push(this.convertToken(e)),t}nextRegexToken(){this.collectComments();const t=this.scanner.scanRegExp();return this.config.tokens&&(this.tokens.pop(),this.tokens.push(this.convertToken(t))),this.lookahead=t,this.nextToken(),t}createNode(){return{index:this.startMarker.index,line:this.startMarker.line,column:this.startMarker.column}}startNode(t,e=0){let n=t.start-t.lineStart,r=t.lineNumber;return n<0&&(n+=e,r--),{index:t.start,line:r,column:n}}finalize(t,e){if(this.config.range&&(e.range=[t.index,this.lastMarker.index]),this.config.loc&&(e.loc={start:{line:t.line,column:t.column},end:{line:this.lastMarker.line,column:this.lastMarker.column}},this.config.source&&(e.loc.source=this.config.source)),this.delegate){const n={start:{line:t.line,column:t.column,offset:t.index},end:{line:this.lastMarker.line,column:this.lastMarker.column,offset:this.lastMarker.index}};this.delegate(e,n)}return e}expect(t){const e=this.nextToken();7===e.type&&e.value===t||this.throwUnexpectedToken(e)}expectCommaSeparator(){if(this.config.tolerant){const t=this.lookahead;7===t.type&&","===t.value?this.nextToken():7===t.type&&";"===t.value?(this.nextToken(),this.tolerateUnexpectedToken(t)):this.tolerateUnexpectedToken(t,VS)}else this.expect(",")}expectKeyword(t){const e=this.nextToken();4===e.type&&e.value===t||this.throwUnexpectedToken(e)}match(t){return 7===this.lookahead.type&&this.lookahead.value===t}matchKeyword(t){return 4===this.lookahead.type&&this.lookahead.value===t}matchContextualKeyword(t){return 3===this.lookahead.type&&this.lookahead.value===t}matchAssign(){if(7!==this.lookahead.type)return!1;const t=this.lookahead.value;return"="===t||"*="===t||"**="===t||"/="===t||"%="===t||"+="===t||"-="===t||"<<="===t||">>="===t||">>>="===t||"&="===t||"^="===t||"|="===t||"&&="===t||"||="===t||"??="===t}isolateCoverGrammar(t){const e=this.context.isBindingElement,n=this.context.isAssignmentTarget,r=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;const i=t.call(this);return null!==this.context.firstCoverInitializedNameError&&this.throwUnexpectedToken(this.context.firstCoverInitializedNameError),this.context.isBindingElement=e,this.context.isAssignmentTarget=n,this.context.firstCoverInitializedNameError=r,i}inheritCoverGrammar(t){const e=this.context.isBindingElement,n=this.context.isAssignmentTarget,r=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;const i=t.call(this);return this.context.isBindingElement=this.context.isBindingElement&&e,this.context.isAssignmentTarget=this.context.isAssignmentTarget&&n,this.context.firstCoverInitializedNameError=r||this.context.firstCoverInitializedNameError,i}consumeSemicolon(){this.match(";")?this.nextToken():this.hasLineTerminator||(2===this.lookahead.type||this.match("}")||this.throwUnexpectedToken(this.lookahead),this.lastMarker.index=this.startMarker.index,this.lastMarker.line=this.startMarker.line,this.lastMarker.column=this.startMarker.column)}parsePrimaryExpression(){const t=this.createNode();let e,n,r;switch(this.lookahead.type){case 3:(this.context.isModule||this.context.isAsync)&&"await"===this.lookahead.value&&this.tolerateUnexpectedToken(this.lookahead),e=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(t,new ON(this.nextToken().value));break;case 6:case 8:this.context.strict&&this.lookahead.octal&&this.tolerateUnexpectedToken(this.lookahead,vS),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,n=this.nextToken(),r=this.getTokenRaw(n),e="bigint"==typeof n.value?this.finalize(t,new lN(n.value,r,n.value.toString())):this.finalize(t,new YN(n.value,r));break;case 1:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,n=this.nextToken(),r=this.getTokenRaw(n),e=this.finalize(t,new YN("true"===n.value,r));break;case 5:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,n=this.nextToken(),r=this.getTokenRaw(n),e=this.finalize(t,new YN(null,r));break;case 10:e=this.parseTemplateLiteral({isTagged:!1});break;case 7:switch(this.lookahead.value){case"(":this.context.isBindingElement=!1,e=this.inheritCoverGrammar(this.parseGroupExpression);break;case"[":e=this.inheritCoverGrammar(this.parseArrayInitializer);break;case"{":e=this.inheritCoverGrammar(this.parseObjectInitializer);break;case"/":case"/=":this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.scanner.index=this.startMarker.index,n=this.nextRegexToken(),r=this.getTokenRaw(n),e=this.finalize(t,new rv(n.regex,r,n.pattern,n.flags));break;case"#":this.nextToken(),e=this.finalize(t,new tv(this.nextToken().value));break;case"@":let i=this.parseDecorators();this.context.decorators=i,this.parsePrimaryExpression(),this.context.decorators=null,e=this.finalize(t,new tv(this.nextToken().value));break;default:e=this.throwUnexpectedToken(this.nextToken())}break;case 4:!this.context.strict&&this.context.allowYield&&this.matchKeyword("yield")?e=this.parseIdentifierName():!this.context.strict&&this.matchKeyword("let")?e=this.finalize(t,new ON(this.nextToken().value)):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.matchKeyword("function")?e=this.parseFunctionExpression():this.matchKeyword("this")?(this.nextToken(),e=this.finalize(t,new gv)):this.matchKeyword("class")?e=this.parseClassExpression():this.matchKeyword("new")?e=this.parseNewExpression():this.matchImportCall()?e=this.parseImportCall():this.matchImportMeta()?(this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,xv),e=this.parseImportMeta()):e=this.throwUnexpectedToken(this.nextToken()));break;default:e=this.throwUnexpectedToken(this.nextToken())}return e}parseSpreadElement(){const t=this.createNode();this.expect("...");const e=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(t,new cv(e))}parseArrayInitializer(){const t=this.createNode(),e=[];for(this.expect("[");!this.match("]");)if(this.match(","))this.nextToken(),e.push(null);else if(this.match("...")){const t=this.parseSpreadElement();this.match("]")||(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.expect(",")),e.push(t)}else e.push(this.inheritCoverGrammar(this.parseAssignmentExpression)),this.match("]")||this.expect(",");return this.expect("]"),this.finalize(t,new nN(e))}parsePropertyMethod(t){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;const e=this.context.strict,n=this.context.allowStrictDirective;this.context.allowStrictDirective=t.simple;const r=this.isolateCoverGrammar(this.parseFunctionSourceElements);return this.context.strict&&t.firstRestricted&&this.tolerateUnexpectedToken(t.firstRestricted,t.message),this.context.strict&&t.stricted&&this.tolerateUnexpectedToken(t.stricted,t.message),this.context.strict=e,this.context.allowStrictDirective=n,r}parsePropertyMethodFunction(t){const e=this.createNode(),n=this.context.allowYield;this.context.allowYield=!0;const r=this.parseFormalParameters(),i=this.parsePropertyMethod(r);return this.context.allowYield=n,this.finalize(e,new FN(null,r.params,i,t,!1))}parsePropertyMethodAsyncFunction(t){const e=this.createNode(),n=this.context.allowYield,r=this.context.isAsync;this.context.allowYield=!1,this.context.isAsync=!0;const i=this.parseFormalParameters(),o=this.parsePropertyMethod(i);return this.context.allowYield=n,this.context.isAsync=r,this.finalize(e,new FN(null,i.params,o,t,!0))}parseObjectPropertyKey(t=!1){const e=this.createNode(),n=this.nextToken();let r;switch(n.type){case 8:case 6:this.context.strict&&n.octal&&this.tolerateUnexpectedToken(n,vS);const i=this.getTokenRaw(n);r="bigint"==typeof n.value?this.finalize(e,new lN(n.value,i,n.value.toString())):this.finalize(e,new YN(n.value,i));break;case 3:case 1:case 5:case 4:r=this.finalize(e,t?new tv(n.value):new ON(n.value));break;case 7:"["===n.value?(r=this.isolateCoverGrammar(this.parseAssignmentExpression),this.expect("]")):r=this.throwUnexpectedToken(n);break;default:r=this.throwUnexpectedToken(n)}return r}isPropertyKey(t,e){return t.type===kM.Identifier&&t.name===e||t.type===kM.Literal&&t.value===e}parseObjectProperty(t){const e=this.createNode(),n=this.lookahead;let r,i=null,o=null,s=!1,a=!1,c=!1,l=!1,u=!1;if(3===n.type){const t=n.value;this.nextToken(),s=this.match("["),l=!(this.hasLineTerminator||"async"!==t||this.match(":")||this.match("(")||this.match(",")),u=this.match("*"),u&&this.nextToken(),i=l?this.parseObjectPropertyKey():this.finalize(e,new ON(t))}else this.match("*")?this.nextToken():(s=this.match("["),i=this.parseObjectPropertyKey());const h=this.qualifiedPropertyName(this.lookahead);if(3===n.type&&!l&&"get"===n.value&&h)r="get",s=this.match("["),i=this.parseObjectPropertyKey(),this.context.allowYield=!1,o=this.parseGetterMethod();else if(3===n.type&&!l&&"set"===n.value&&h)r="set",s=this.match("["),i=this.parseObjectPropertyKey(),o=this.parseSetterMethod();else if(7===n.type&&"*"===n.value&&h)r="init",s=this.match("["),i=this.parseObjectPropertyKey(),o=this.parseGeneratorMethod(!1),a=!0;else if(i||this.throwUnexpectedToken(this.lookahead),r="init",this.match(":")&&!l)!s&&this.isPropertyKey(i,"__proto__")&&(t.value&&this.tolerateError(Hv),t.value=!0),this.nextToken(),o=this.inheritCoverGrammar(this.parseAssignmentExpression);else if(this.match("("))o=l?this.parsePropertyMethodAsyncFunction(u):this.parsePropertyMethodFunction(u),a=!0;else if(3===n.type){const t=this.finalize(e,new ON(n.value));if(this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead,this.nextToken(),c=!0;const n=this.isolateCoverGrammar(this.parseAssignmentExpression);o=this.finalize(e,new sN(t,n))}else c=!0,o=t}else this.throwUnexpectedToken(this.nextToken());return this.finalize(e,new ev(r,i,s,o,a,c))}parseObjectInitializer(){const t=this.createNode();this.expect("{");const e=[],n={value:!1};for(;!this.match("}");){const t=this.match("...")?this.parseSpreadElement():this.parseObjectProperty(n);e.push(t),this.match("}")||t.method&&!this.match(",")||this.expectCommaSeparator()}return this.expect("}"),this.finalize(t,new ZN(e))}throwTemplateLiteralEarlyErrors(t){switch(t.notEscapeSequenceHead){case"u":return this.throwUnexpectedToken(t,sS);case"x":return this.throwUnexpectedToken(t,$v);case"8":case"9":return this.throwUnexpectedToken(t,RS);default:return this.throwUnexpectedToken(t,xS)}}parseTemplateHead(t){bv(this.lookahead.head,"Template literal must start with a template head");const e=this.createNode(),n=this.nextToken();t.isTagged||null===n.notEscapeSequenceHead||this.throwTemplateLiteralEarlyErrors(n);const r=n.value,i=n.cooked;return this.finalize(e,new fv({raw:r,cooked:i},n.tail))}parseTemplateElement(t){10!==this.lookahead.type&&this.throwUnexpectedToken();const e=this.createNode(),n=this.nextToken();t.isTagged||null===n.notEscapeSequenceHead||this.throwTemplateLiteralEarlyErrors(n);const r=n.value,i=n.cooked;return this.finalize(e,new fv({raw:r,cooked:i},n.tail))}parseTemplateLiteral(t){const e=this.createNode(),n=[],r=[];let i=this.parseTemplateHead(t);for(r.push(i);!i.tail;)n.push(this.parseExpression()),i=this.parseTemplateElement(t),r.push(i);return this.finalize(e,new Av(r,n))}reinterpretExpressionAsPattern(t){switch(t.type){case kM.Identifier:case kM.MemberExpression:case kM.RestElement:case kM.AssignmentPattern:break;case kM.SpreadElement:t.type=kM.RestElement,this.reinterpretExpressionAsPattern(t.argument);break;case kM.ArrayExpression:t.type=kM.ArrayPattern;for(let e=0;e<t.elements.length;e++)null!==t.elements[e]&&this.reinterpretExpressionAsPattern(t.elements[e]);break;case kM.ObjectExpression:t.type=kM.ObjectPattern;for(let e=0;e<t.properties.length;e++){const n=t.properties[e];this.reinterpretExpressionAsPattern(n.type===kM.SpreadElement?n:n.value)}break;case kM.AssignmentExpression:t.type=kM.AssignmentPattern,delete t.operator,this.reinterpretExpressionAsPattern(t.left)}}parseGroupExpression(){let t;if(this.expect("("),this.match(")"))this.nextToken(),this.match("=>")||this.expect("=>"),t={type:KS,params:[],async:!1};else{const e=this.lookahead,n=[];if(this.match("..."))t=this.parseRestElement(n),this.expect(")"),this.match("=>")||this.expect("=>"),t={type:KS,params:[t],async:!1};else{let r=!1;if(this.context.isBindingElement=!0,t=this.inheritCoverGrammar(this.parseAssignmentExpression),this.match(",")){const i=[];for(this.context.isAssignmentTarget=!1,i.push(t);2!==this.lookahead.type&&this.match(",");){if(this.nextToken(),this.match(")")){this.nextToken();for(let t=0;t<i.length;t++)this.reinterpretExpressionAsPattern(i[t]);r=!0,t={type:KS,params:i,async:!1}}else if(this.match("...")){this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),i.push(this.parseRestElement(n)),this.expect(")"),this.match("=>")||this.expect("=>"),this.context.isBindingElement=!1;for(let t=0;t<i.length;t++)this.reinterpretExpressionAsPattern(i[t]);r=!0,t={type:KS,params:i,async:!1}}else i.push(this.inheritCoverGrammar(this.parseAssignmentExpression));if(r)break}r||(t=this.finalize(this.startNode(e),new av(i)))}if(!r){if(this.expect(")"),this.match("=>")&&(t.type===kM.Identifier&&"yield"===t.name&&(r=!0,t={type:KS,params:[t],async:!1}),!r)){if(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),t.type===kM.SequenceExpression)for(let e=0;e<t.expressions.length;e++)this.reinterpretExpressionAsPattern(t.expressions[e]);else this.reinterpretExpressionAsPattern(t);const e=t.type===kM.SequenceExpression?t.expressions:[t];t={type:KS,params:e,async:!1}}this.context.isBindingElement=!1}}}return t}parseArguments(){this.expect("(");const t=[];if(!this.match(")"))for(;;){const e=this.match("...")?this.parseSpreadElement():this.isolateCoverGrammar(this.parseAssignmentExpression);if(t.push(e),this.match(")"))break;if(this.expectCommaSeparator(),this.match(")"))break}return this.expect(")"),t}isIdentifierName(t){return 3===t.type||4===t.type||1===t.type||5===t.type}parseIdentifierName(t=!1){let e=!1,n=this.createNode(),r=this.nextToken();return"#"===r.value&&t&&(r=this.nextToken(),e=!0),this.isIdentifierName(r)||this.throwUnexpectedToken(r),this.finalize(n,e?new tv(r.value):new ON(r.value))}parseNewExpression(){const t=this.createNode(),e=this.parseIdentifierName();let n;if(bv("new"===e.name,"New expression must start with `new`"),this.match("."))if(this.nextToken(),3===this.lookahead.type&&this.context.inFunctionBody&&"target"===this.lookahead.value){const t=this.parseIdentifierName();n=new WN(e,t)}else this.throwUnexpectedToken(this.lookahead);else if(this.matchKeyword("import"))this.throwUnexpectedToken(this.lookahead);else{const t=this.isolateCoverGrammar(this.parseLeftHandSideExpression),e=this.match("(")?this.parseArguments():[];n=new XN(t,e),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return this.finalize(t,n)}parseAsyncArgument(){const t=this.parseAssignmentExpression();return this.context.firstCoverInitializedNameError=null,t}parseAsyncArguments(){this.expect("(");const t=[];if(!this.match(")"))for(;;){const e=this.match("...")?this.parseSpreadElement():this.isolateCoverGrammar(this.parseAsyncArgument);if(t.push(e),this.match(")"))break;if(this.expectCommaSeparator(),this.match(")"))break}return this.expect(")"),t}matchImportCall(){let t=this.matchKeyword("import");if(t){const e=this.scanner.saveState();this.scanner.scanComments();const n=this.scanner.lex();this.scanner.restoreState(e),t=7===n.type&&"("===n.value}return t}parseImportCall(){const t=this.createNode();this.expectKeyword("import"),this.expect("(");const e=this.parseAssignmentExpression();let n=null;return this.match(",")&&(this.nextToken(),n=this.parseObjectInitializer()),!this.match(")")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(")"),this.match(";")&&this.nextToken()),this.finalize(t,new UN(e,n))}matchImportMeta(){let t=this.matchKeyword("import");if(t){const e=this.scanner.saveState();this.scanner.scanComments();const n=this.scanner.lex();if(7===n.type&&"."===n.value){this.scanner.scanComments();const e=this.scanner.lex();t=3===e.type&&"meta"===e.value,t&&e.end-e.start!==4&&this.tolerateUnexpectedToken(e,Zv)}else t=!1;this.scanner.restoreState(e)}return t}parseImportMeta(){const t=this.createNode(),e=this.parseIdentifierName();this.expect(".");const n=this.parseIdentifierName();return this.context.isAssignmentTarget=!1,this.finalize(t,new WN(e,n))}parseLeftHandSideExpressionAllowCall(){const t=this.lookahead,e=this.matchContextualKeyword("async"),n=this.context.allowIn;let r;this.context.allowIn=!0;const i=this.matchKeyword("super");i&&this.context.inFunctionBody?(r=this.createNode(),this.nextToken(),r=this.finalize(r,new uv),this.match("(")||this.match(".")||this.match("[")||this.throwUnexpectedToken(this.lookahead)):r=this.inheritCoverGrammar(this.matchKeyword("new")?this.parseNewExpression:this.parsePrimaryExpression),!i||!this.match("(")||this.context.inClassConstructor&&this.context.allowSuper||this.tolerateError(PS);let o=!1;for(;;){let n=!1;if(this.match("?.")&&(n=!0,o=!0,this.expect("?.")),this.match("(")){const i=e&&t.lineNumber===this.lookahead.lineNumber;this.context.isBindingElement=!1,this.context.isAssignmentTarget=!1;const o=i?this.parseAsyncArguments():this.parseArguments();if(r.type===kM.ImportExpression&&1!==o.length&&this.tolerateError(vv),r=this.finalize(this.startNode(t),new pN(r,o,n)),i&&this.match("=>")){for(let t=0;t<o.length;++t)this.reinterpretExpressionAsPattern(o[t]);r={type:KS,params:o,async:!0}}}else if(this.match("[")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!n,this.expect("[");const e=this.isolateCoverGrammar(this.parseExpression);this.expect("]"),r=this.finalize(this.startNode(t),new JN(!0,r,e,n))}else if(10===this.lookahead.type&&this.lookahead.head){n&&this.throwUnexpectedToken(this.lookahead),o&&this.throwError(oS);const e=this.parseTemplateLiteral({isTagged:!0});r=this.finalize(this.startNode(t),new pv(r,e))}else{if(!this.match(".")&&!n)break;{this.context.isBindingElement=!1,this.context.isAssignmentTarget=!n,n||this.expect(".");const e=this.parseIdentifierName(!0);r=this.finalize(this.startNode(t),new JN(!1,r,e,n))}}}return this.context.allowIn=n,o?new AN(r):r}parseSuper(){const t=this.createNode();return this.expectKeyword("super"),this.match("[")||this.match(".")||this.throwUnexpectedToken(this.lookahead),this.finalize(t,new uv)}parseLeftHandSideExpression(){bv(this.context.allowIn,"callee of new expression always allow in keyword.");const t=this.startNode(this.lookahead);let e=this.matchKeyword("super")&&this.context.inFunctionBody?this.parseSuper():this.inheritCoverGrammar(this.matchKeyword("new")?this.parseNewExpression:this.parsePrimaryExpression),n=!1;for(;;){let r=!1;if(this.match("?.")&&(r=!0,n=!0,this.expect("?.")),this.match("[")){this.context.isBindingElement=!1,this.context.isAssignmentTarget=!r,this.expect("[");const n=this.isolateCoverGrammar(this.parseExpression);this.expect("]"),e=this.finalize(t,new JN(!0,e,n,r))}else if(10===this.lookahead.type&&this.lookahead.head){r&&this.throwUnexpectedToken(this.lookahead),n&&this.throwError(oS);const i=this.parseTemplateLiteral({isTagged:!0});e=this.finalize(t,new pv(e,i))}else{if(!this.match(".")&&!r)break;{this.context.isBindingElement=!1,this.context.isAssignmentTarget=!r,r||this.expect(".");const n=this.parseIdentifierName();e=this.finalize(t,new JN(!1,e,n,r))}}}return n?new AN(e):e}parseUpdateExpression(){let t;const e=this.lookahead;if(this.match("++")||this.match("--")){const n=this.startNode(e),r=this.nextToken();t=this.inheritCoverGrammar(this.parseUnaryExpression),this.context.strict&&t.type===kM.Identifier&&this.scanner.isRestrictedWord(t.name)&&this.tolerateError(MS),this.context.isAssignmentTarget||this.tolerateError(tS);const i=!0;t=this.finalize(n,new yv(r.value,t,i)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}else if(t=this.inheritCoverGrammar(this.parseLeftHandSideExpressionAllowCall),!this.hasLineTerminator&&7===this.lookahead.type&&(this.match("++")||this.match("--"))){this.context.strict&&t.type===kM.Identifier&&this.scanner.isRestrictedWord(t.name)&&this.tolerateError(bS),this.context.isAssignmentTarget||this.tolerateError(tS),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;const n=this.nextToken().value,r=!1;t=this.finalize(this.startNode(e),new yv(n,t,r))}return t}parseAwaitExpression(){const t=this.createNode();this.nextToken();const e=this.parseUnaryExpression();return this.finalize(t,new cN(e))}parseUnaryExpression(){let t;if(this.match("+")||this.match("-")||this.match("~")||this.match("!")||this.matchKeyword("delete")||this.matchKeyword("void")||this.matchKeyword("typeof")){const e=this.startNode(this.lookahead),n=this.nextToken();t=this.inheritCoverGrammar(this.parseUnaryExpression),t=this.finalize(e,new wv(n.value,t)),this.context.strict&&"delete"===t.operator&&t.argument.type===kM.Identifier&&this.tolerateError(CS),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}else t=(this.context.isModule&&!this.context.inFunctionBody||this.context.isAsync)&&this.matchContextualKeyword("await")?this.parseAwaitExpression():this.parseUpdateExpression();return t}parseExponentiationExpression(){const t=this.lookahead,e=this.match("(");let n=this.inheritCoverGrammar(this.parseUnaryExpression);if((n.type!==kM.UnaryExpression||e)&&this.match("**")){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;const e=n,r=this.isolateCoverGrammar(this.parseExponentiationExpression);n=this.finalize(this.startNode(t),new uN("**",e,r))}return n}binaryPrecedence(t){const e=t.value;let n;return n=7===t.type?this.operatorPrecedence[e]||0:4===t.type&&("instanceof"===e||this.context.allowIn&&"in"===e)?12:0,n}parseBinaryExpression(){const t=this.lookahead;let e=this.inheritCoverGrammar(this.parseExponentiationExpression),n=!0,r=!0;const i=t=>{"&&"!==t.value&&"||"!==t.value||(r=!1),"??"===t.value&&(n=!1)},o=this.lookahead;let s=this.binaryPrecedence(o);if(s>0){i(o),this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;const a=[t,this.lookahead];let c=e,l=this.isolateCoverGrammar(this.parseExponentiationExpression);const u=[c,o.value,l],h=[s];for(;s=this.binaryPrecedence(this.lookahead),!(s<=0);){for((n||"&&"!==this.lookahead.value&&"||"!==this.lookahead.value)&&(r||"??"!==this.lookahead.value)||this.throwUnexpectedToken(this.lookahead),i(this.lookahead);u.length>2&&s<=h[h.length-1];){l=u.pop();const t=u.pop();h.pop(),c=u.pop(),a.pop();const e=a[a.length-1],n=this.startNode(e,e.lineStart),r="||"===t||"&&"===t||"??"===t;u.push(this.finalize(n,r?new zN(t,c,l):new uN(t,c,l)))}u.push(this.nextToken().value),h.push(s),a.push(this.lookahead),u.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}let d=u.length-1;e=u[d];let p=a.pop();for(;d>1;){const t=a.pop(),n=p&&p.lineStart,r=this.startNode(t,n),i=u[d-1],o="||"===i||"&&"===i||"??"===i;e=this.finalize(r,o?new zN(i,u[d-2],e):new uN(i,u[d-2],e)),d-=2,p=t}}return e}parseConditionalExpression(){const t=this.lookahead;let e=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match("?")){this.nextToken();const n=this.context.allowIn;this.context.allowIn=!0;const r=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=n,this.expect(":");const i=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(t),new wN(e,r,i)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return e}checkPatternParam(t,e){switch(e.type){case kM.Identifier:this.validateParam(t,e,e.name);break;case kM.RestElement:this.checkPatternParam(t,e.argument);break;case kM.AssignmentPattern:this.checkPatternParam(t,e.left);break;case kM.ArrayPattern:for(let n=0;n<e.elements.length;n++)null!==e.elements[n]&&this.checkPatternParam(t,e.elements[n]);break;case kM.ObjectPattern:for(let n=0;n<e.properties.length;n++){const r=e.properties[n];this.checkPatternParam(t,r.type===kM.RestElement?r:r.value)}}t.simple=t.simple&&e instanceof ON}reinterpretAsCoverFormalsList(t){let e=[t];const n={simple:!0,paramSet:{}};let r=!1;switch(t.type){case kM.Identifier:break;case KS:e=t.params,r=t.async;break;default:return null}for(let t=0;t<e.length;++t){const i=e[t];i.type===kM.AssignmentPattern?i.right.type===kM.YieldExpression&&(i.right.argument&&this.throwUnexpectedToken(this.lookahead),i.right.type=kM.Identifier,i.right.name="yield",delete i.right.argument,delete i.right.delegate):r&&i.type===kM.Identifier&&"await"===i.name&&this.throwUnexpectedToken(this.lookahead),this.checkPatternParam(n,i),e[t]=i}if(this.context.strict||!this.context.allowYield)for(let t=0;t<e.length;++t){e[t].type===kM.YieldExpression&&this.throwUnexpectedToken(this.lookahead)}if(n.hasDuplicateParameterNames){const t=this.context.strict?n.stricted:n.firstRestricted;this.throwUnexpectedToken(t,Vv)}return{simple:n.simple,params:e,stricted:n.stricted,firstRestricted:n.firstRestricted,message:n.message}}parseAssignmentExpression(){let t;if(!this.context.allowYield&&this.matchKeyword("yield"))t=this.parseYieldExpression();else{const e=this.lookahead;let n=e;if(t=this.parseConditionalExpression(),3===n.type&&n.lineNumber===this.lookahead.lineNumber&&"async"===n.value&&(3===this.lookahead.type||this.matchKeyword("yield"))){const e=this.parsePrimaryExpression();this.reinterpretExpressionAsPattern(e),t={type:KS,params:[e],async:!0}}if(t.type===KS||this.match("=>")){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;const n=t.async,r=this.reinterpretAsCoverFormalsList(t);if(r){this.hasLineTerminator&&this.tolerateUnexpectedToken(this.lookahead),this.context.firstCoverInitializedNameError=null;const i=this.context.strict,o=this.context.allowStrictDirective;this.context.allowStrictDirective=r.simple;const s=this.context.allowYield,a=this.context.isAsync;this.context.allowYield=!0,this.context.isAsync=n;const c=this.startNode(e);let l;if(this.expect("=>"),this.match("{")){const t=this.context.allowIn;this.context.allowIn=!0,l=this.parseFunctionSourceElements(),this.context.allowIn=t}else l=this.isolateCoverGrammar(this.parseAssignmentExpression);const u=l.type!==kM.BlockStatement;this.context.strict&&r.firstRestricted&&this.throwUnexpectedToken(r.firstRestricted,r.message),this.context.strict&&r.stricted&&this.tolerateUnexpectedToken(r.stricted,r.message),t=this.finalize(c,new iN(r.params,l,u,n)),this.context.strict=i,this.context.allowStrictDirective=o,this.context.allowYield=s,this.context.isAsync=a}}else if(this.matchAssign()){if(this.context.isAssignmentTarget||this.tolerateError(tS),this.context.strict&&t.type===kM.Identifier){const e=t;this.scanner.isRestrictedWord(e.name)&&this.tolerateUnexpectedToken(n,DS),this.scanner.isStrictModeReservedWord(e.name)&&this.tolerateUnexpectedToken(n,_S)}this.match("=")?this.reinterpretExpressionAsPattern(t):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1),n=this.nextToken();const r=n.value,i=this.isolateCoverGrammar(this.parseAssignmentExpression);t=this.finalize(this.startNode(e),new oN(r,t,i)),this.context.firstCoverInitializedNameError=null}}return t}parseExpression(){const t=this.lookahead;let e=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){const n=[];for(n.push(e);2!==this.lookahead.type&&this.match(",");)this.nextToken(),n.push(this.isolateCoverGrammar(this.parseAssignmentExpression));e=this.finalize(this.startNode(t),new av(n))}return e}parseStatementListItem(){let t;if(this.context.isAssignmentTarget=!0,this.context.isBindingElement=!0,4===this.lookahead.type)switch(this.lookahead.value){case"export":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,Wv),t=this.parseExportDeclaration();break;case"import":this.matchImportCall()?t=this.parseExpressionStatement():this.matchImportMeta()?t=this.parseStatement():(this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,qv),t=this.parseImportDeclaration());break;case"const":t=this.parseLexicalDeclaration({inFor:!1});break;case"function":t=this.parseFunctionDeclaration();break;case"class":t=this.parseClassDeclaration();break;case"let":t=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:!1}):this.parseStatement();break;default:t=this.parseStatement()}else t=this.parseStatement();return t}parseBlock(){const t=this.createNode();this.expect("{");const e=[];for(;!this.match("}");)e.push(this.parseStatementListItem());return this.expect("}"),this.finalize(t,new hN(e))}parseLexicalBinding(t,e){const n=this.createNode(),r=this.parsePattern([],t);this.context.strict&&r.type===kM.Identifier&&this.scanner.isRestrictedWord(r.name)&&this.tolerateError(LS);let i=null;return"const"===t?this.matchKeyword("in")||this.matchContextualKeyword("of")||(this.match("=")?(this.nextToken(),i=this.isolateCoverGrammar(this.parseAssignmentExpression)):this.throwError(Qv,"const")):(!e.inFor&&r.type!==kM.Identifier||this.match("="))&&(this.expect("="),i=this.isolateCoverGrammar(this.parseAssignmentExpression)),this.finalize(n,new Cv(r,i))}parseBindingList(t,e){const n=[this.parseLexicalBinding(t,e)];for(;this.match(",");)this.nextToken(),n.push(this.parseLexicalBinding(t,e));return n}isLexicalDeclaration(){const t=this.scanner.saveState();this.scanner.scanComments();const e=this.scanner.lex();return this.scanner.restoreState(t),3===e.type||7===e.type&&"["===e.value||7===e.type&&"{"===e.value||4===e.type&&"let"===e.value||4===e.type&&"yield"===e.value}parseLexicalDeclaration(t){const e=this.createNode(),n=this.nextToken().value;bv("let"===n||"const"===n,"Lexical declaration must be either let or const");const r=this.parseBindingList(n,t);return this.consumeSemicolon(),this.finalize(e,new Iv(r,n))}isInitializedProperty(){let t=this.scanner.saveState();this.scanner.scanComments();let e=this.scanner.lex();return this.scanner.restoreState(t),3===this.lookahead.type&&"="===e.value}isDeclaredProperty(){let t=this.scanner.saveState();this.scanner.scanComments();let e=this.scanner.lex();return this.scanner.restoreState(t),3===this.lookahead.type&&";"===e.value||3===this.lookahead.type&&e.lineNumber!==this.startMarker.line}parseBindingRestElement(t,e){const n=this.createNode();this.expect("...");const r=this.parsePattern(t,e);return this.finalize(n,new iv(r))}parseArrayPattern(t,e){const n=this.createNode();this.expect("[");const r=[];for(;!this.match("]");)if(this.match(","))this.nextToken(),r.push(null);else{if(this.match("...")){r.push(this.parseBindingRestElement(t,e));break}r.push(this.parsePatternWithDefault(t,e)),this.match("]")||this.expect(",")}return this.expect("]"),this.finalize(n,new rN(r))}parsePropertyPattern(t,e){const n=this.createNode();let r=!1,i=!1;let o,s;if(3===this.lookahead.type){const r=this.lookahead;o=this.parseVariableIdentifier();const a=this.finalize(n,new ON(r.value));if(this.match("=")){t.push(r),i=!0,this.nextToken();const e=this.parseAssignmentExpression();s=this.finalize(this.startNode(r),new sN(a,e))}else this.match(":")?(this.expect(":"),s=this.parsePatternWithDefault(t,e)):(t.push(r),i=!0,s=a)}else r=this.match("["),o=this.parseObjectPropertyKey(),this.expect(":"),s=this.parsePatternWithDefault(t,e);return this.finalize(n,new ev("init",o,r,s,!1,i))}parseRestProperty(t){const e=this.createNode();this.expect("...");const n=this.parsePattern(t);return this.match("=")&&this.throwError(Uv),this.match("}")||this.throwError(mS),this.finalize(e,new iv(n))}parseObjectPattern(t,e){const n=this.createNode(),r=[];for(this.expect("{");!this.match("}");)r.push(this.match("...")?this.parseRestProperty(t):this.parsePropertyPattern(t,e)),this.match("}")||this.expect(",");return this.expect("}"),this.finalize(n,new $N(r))}parsePattern(t,e){let n;return this.match("[")?n=this.parseArrayPattern(t,e):this.match("{")?n=this.parseObjectPattern(t,e):(!this.matchKeyword("let")||"const"!==e&&"let"!==e||this.tolerateUnexpectedToken(this.lookahead,aS),t.push(this.lookahead),n=this.parseVariableIdentifier(e)),n}parsePatternWithDefault(t,e){const n=this.lookahead;let r=this.parsePattern(t,e);if(this.match("=")){this.nextToken();const t=this.context.allowYield;this.context.allowYield=!0;const e=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=t,r=this.finalize(this.startNode(n),new sN(r,e))}return r}parseVariableIdentifier(t){const e=this.createNode(),n=this.nextToken();return 4===n.type&&"yield"===n.value?this.context.strict?this.tolerateUnexpectedToken(n,_S):this.context.allowYield||this.throwUnexpectedToken(n):3!==n.type?this.context.strict&&4===n.type&&this.scanner.isStrictModeReservedWord(n.value)?this.tolerateUnexpectedToken(n,_S):(this.context.strict||"let"!==n.value||"var"!==t)&&this.throwUnexpectedToken(n):(this.context.isModule||this.context.isAsync)&&3===n.type&&"await"===n.value&&this.tolerateUnexpectedToken(n),this.finalize(e,new ON(n.value))}parseVariableDeclaration(t){const e=this.createNode(),n=this.parsePattern([],"var");this.context.strict&&n.type===kM.Identifier&&this.scanner.isRestrictedWord(n.name)&&this.tolerateError(LS);let r=null;return this.match("=")?(this.nextToken(),r=this.isolateCoverGrammar(this.parseAssignmentExpression)):n.type===kM.Identifier||t.inFor||this.expect("="),this.finalize(e,new Cv(n,r))}parseVariableDeclarationList(t){const e={inFor:t.inFor},n=[];for(n.push(this.parseVariableDeclaration(e));this.match(",");)this.nextToken(),n.push(this.parseVariableDeclaration(e));return n}parseVariableStatement(){const t=this.createNode();this.expectKeyword("var");const e=this.parseVariableDeclarationList({inFor:!1});return this.consumeSemicolon(),this.finalize(t,new Iv(e,"var"))}parseEmptyStatement(){const t=this.createNode();return this.expect(";"),this.finalize(t,new DN)}parseExpressionStatement(){const t=this.createNode(),e=this.parseExpression();return this.consumeSemicolon(),this.finalize(t,new SN(e))}parseIfClause(){return this.context.strict&&this.matchKeyword("function")&&this.tolerateError(BS),this.parseStatement()}parseIfStatement(){const t=this.createNode();let e,n=null;this.expectKeyword("if"),this.expect("(");const r=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new DN)):(this.expect(")"),e=this.parseIfClause(),this.matchKeyword("else")&&(this.nextToken(),n=this.parseIfClause())),this.finalize(t,new QN(r,e,n))}parseDoWhileStatement(){const t=this.createNode();this.expectKeyword("do"),this.tolerateInvalidLoopStatement();const e=this.context.inIteration;this.context.inIteration=!0;const n=this.parseStatement();this.context.inIteration=e,this.expectKeyword("while"),this.expect("(");const r=this.parseExpression();return!this.match(")")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(")"),this.match(";")&&this.nextToken()),this.finalize(t,new TN(n,r))}parseWhileStatement(){const t=this.createNode();let e;this.expectKeyword("while"),this.expect("(");const n=this.parseExpression();if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new DN);else{this.expect(")");const t=this.context.inIteration;this.context.inIteration=!0,e=this.parseStatement(),this.context.inIteration=t}return this.finalize(t,new Bv(n,e))}parseForStatement(){let t,e,n=null,r=null,i=null,o=!0,s=!1;const a=this.createNode();if(this.expectKeyword("for"),this.matchContextualKeyword("await")&&(this.context.isAsync||this.tolerateUnexpectedToken(this.lookahead),s=!0,this.nextToken()),this.expect("("),this.match(";"))this.nextToken();else if(this.matchKeyword("var")){n=this.createNode(),this.nextToken();const r=this.context.allowIn;this.context.allowIn=!1;const i=this.parseVariableDeclarationList({inFor:!0});if(this.context.allowIn=r,!s&&1===i.length&&this.matchKeyword("in")){const r=i[0];r.init&&(r.id.type===kM.ArrayPattern||r.id.type===kM.ObjectPattern||this.context.strict)&&this.tolerateError(jv,"for-in"),n=this.finalize(n,new Iv(i,"var")),this.nextToken(),t=n,e=this.parseExpression(),n=null}else 1===i.length&&null===i[0].init&&this.matchContextualKeyword("of")?(n=this.finalize(n,new Iv(i,"var")),this.nextToken(),t=n,e=this.parseAssignmentExpression(),n=null,o=!1):(n=this.finalize(n,new Iv(i,"var")),this.expect(";"))}else if(this.matchKeyword("const")||this.matchKeyword("let")){n=this.createNode();const r=this.nextToken().value;if(this.context.strict||"in"!==this.lookahead.value){const i=this.context.allowIn;this.context.allowIn=!1;const s=this.parseBindingList(r,{inFor:!0});this.context.allowIn=i,1===s.length&&null===s[0].init&&this.matchKeyword("in")?(n=this.finalize(n,new Iv(s,r)),this.nextToken(),t=n,e=this.parseExpression(),n=null):1===s.length&&null===s[0].init&&this.matchContextualKeyword("of")?(n=this.finalize(n,new Iv(s,r)),this.nextToken(),t=n,e=this.parseAssignmentExpression(),n=null,o=!1):(this.consumeSemicolon(),n=this.finalize(n,new Iv(s,r)))}else n=this.finalize(n,new ON(r)),this.nextToken(),t=n,e=this.parseExpression(),n=null}else{const r=this.lookahead,i=this.context.isBindingElement,s=this.context.isAssignmentTarget,a=this.context.firstCoverInitializedNameError,c=this.context.allowIn;if(this.context.allowIn=!1,n=this.inheritCoverGrammar(this.parseAssignmentExpression),this.context.allowIn=c,this.matchKeyword("in"))this.context.isAssignmentTarget&&n.type!==kM.AssignmentExpression||this.tolerateError(eS),this.nextToken(),this.reinterpretExpressionAsPattern(n),t=n,e=this.parseExpression(),n=null;else if(this.matchContextualKeyword("of"))this.context.isAssignmentTarget&&n.type!==kM.AssignmentExpression||this.tolerateError(nS),this.nextToken(),this.reinterpretExpressionAsPattern(n),t=n,e=this.parseAssignmentExpression(),n=null,o=!1;else{if(this.context.isBindingElement=i,this.context.isAssignmentTarget=s,this.context.firstCoverInitializedNameError=a,this.match(",")){const t=[n];for(;this.match(",");)this.nextToken(),t.push(this.isolateCoverGrammar(this.parseAssignmentExpression));n=this.finalize(this.startNode(r),new av(t))}this.expect(";")}}let c;if(void 0===t&&(this.match(";")||(r=this.isolateCoverGrammar(this.parseExpression)),this.expect(";"),this.match(")")||(i=this.isolateCoverGrammar(this.parseExpression))),!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),c=this.finalize(this.createNode(),new DN);else{this.expect(")"),this.tolerateInvalidLoopStatement();const t=this.context.inIteration;this.context.inIteration=!0,c=this.isolateCoverGrammar(this.parseStatement),this.context.inIteration=t}return void 0===t?this.finalize(a,new xN(n,r,i,c)):o?this.finalize(a,new _N(t,e,c)):this.finalize(a,new LN(t,e,c,s))}parseContinueStatement(){const t=this.createNode();this.expectKeyword("continue");let e=null;if(3===this.lookahead.type&&!this.hasLineTerminator){const t=this.parseVariableIdentifier();e=t;const n="$"+t.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,n)||this.throwError(jS,t.name)}return this.consumeSemicolon(),null!==e||this.context.inIteration||this.throwError(Jv),this.finalize(t,new yN(e))}parseBreakStatement(){const t=this.createNode();this.expectKeyword("break");let e=null;if(3===this.lookahead.type&&!this.hasLineTerminator){const t=this.parseVariableIdentifier(),n="$"+t.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,n)||this.throwError(jS,t.name),e=t}return this.consumeSemicolon(),null!==e||this.context.inIteration||this.context.inSwitch||this.throwError(zv),this.finalize(t,new dN(e))}parseReturnStatement(){this.context.inFunctionBody||this.tolerateError(Xv);const t=this.createNode();this.expectKeyword("return");const e=!this.match(";")&&!this.match("}")&&!this.hasLineTerminator&&2!==this.lookahead.type||8===this.lookahead.type||10===this.lookahead.type?this.parseExpression():null;return this.consumeSemicolon(),this.finalize(t,new ov(e))}parseWithStatement(){this.context.strict&&this.tolerateError(NS);const t=this.createNode();let e;this.expectKeyword("with"),this.expect("(");const n=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new DN)):(this.expect(")"),e=this.parseStatement()),this.finalize(t,new Tv(n,e))}parseSwitchCase(){const t=this.createNode();let e;this.matchKeyword("default")?(this.nextToken(),e=null):(this.expectKeyword("case"),e=this.parseExpression()),this.expect(":");const n=[];for(;!(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case"));)n.push(this.parseStatementListItem());return this.finalize(t,new hv(e,n))}parseSwitchStatement(){const t=this.createNode();this.expectKeyword("switch"),this.expect("(");const e=this.parseExpression();this.expect(")");const n=this.context.inSwitch;this.context.inSwitch=!0;const r=[];let i=!1;for(this.expect("{");!this.match("}");){const t=this.parseSwitchCase();null===t.test&&(i&&this.throwError(lS),i=!0),r.push(t)}return this.expect("}"),this.context.inSwitch=n,this.finalize(t,new dv(e,r))}parseLabelledStatement(){const t=this.createNode(),e=this.parseExpression();let n;if(e.type===kM.Identifier&&this.match(":")){this.nextToken();const t=e,r="$"+t.name;let i;if(Object.prototype.hasOwnProperty.call(this.context.labelSet,r)&&this.throwError(wS,"Label",t.name),this.context.labelSet[r]=!0,this.matchKeyword("class"))this.tolerateUnexpectedToken(this.lookahead),i=this.parseClassDeclaration();else if(this.matchKeyword("function")){const t=this.lookahead,e=this.parseFunctionDeclaration();this.context.strict?this.tolerateUnexpectedToken(t,BS):e.generator&&this.tolerateUnexpectedToken(t,Yv),i=e}else i=this.parseStatement();delete this.context.labelSet[r],n=new jN(t,i)}else this.consumeSemicolon(),n=new SN(e);return this.finalize(t,n)}parseThrowStatement(){const t=this.createNode();this.expectKeyword("throw"),this.hasLineTerminator&&this.throwError(uS);const e=this.parseExpression();return this.consumeSemicolon(),this.finalize(t,new Ev(e))}parseCatchClause(){const t=this.createNode();this.expectKeyword("catch");let e=null;if(this.match("(")){this.expect("("),this.match(")")&&this.throwUnexpectedToken(this.lookahead);const t=[];e=this.parsePattern(t);const n={};for(let e=0;e<t.length;e++){const r="$"+t[e].value;Object.prototype.hasOwnProperty.call(n,r)&&this.tolerateError(Pv,t[e].value),n[r]=!0}this.context.strict&&e.type===kM.Identifier&&this.scanner.isRestrictedWord(e.name)&&this.tolerateError(IS),this.expect(")")}const n=this.parseBlock();return this.finalize(t,new fN(e,n))}parseFinallyClause(){return this.expectKeyword("finally"),this.parseBlock()}parseTryStatement(){const t=this.createNode();this.expectKeyword("try");const e=this.parseBlock(),n=this.matchKeyword("catch")?this.parseCatchClause():null,r=this.matchKeyword("finally")?this.parseFinallyClause():null;return n||r||this.throwError(pS),this.finalize(t,new mv(e,n,r))}parseDebuggerStatement(){const t=this.createNode();return this.expectKeyword("debugger"),this.consumeSemicolon(),this.finalize(t,new IN)}parseStatement(){let t;switch(this.lookahead.type){case 1:case 5:case 6:case 8:case 10:case 9:t=this.parseExpressionStatement();break;case 7:const e=this.lookahead.value;t="{"===e?this.parseBlock():"("===e?this.parseExpressionStatement():";"===e?this.parseEmptyStatement():this.parseExpressionStatement();break;case 3:t=this.matchAsyncFunction()?this.parseFunctionDeclaration():this.parseLabelledStatement();break;case 4:switch(this.lookahead.value){case"break":t=this.parseBreakStatement();break;case"continue":t=this.parseContinueStatement();break;case"debugger":t=this.parseDebuggerStatement();break;case"do":t=this.parseDoWhileStatement();break;case"for":t=this.parseForStatement();break;case"function":t=this.parseFunctionDeclaration();break;case"if":t=this.parseIfStatement();break;case"return":t=this.parseReturnStatement();break;case"switch":t=this.parseSwitchStatement();break;case"throw":t=this.parseThrowStatement();break;case"try":t=this.parseTryStatement();break;case"var":t=this.parseVariableStatement();break;case"while":t=this.parseWhileStatement();break;case"with":t=this.parseWithStatement();break;default:t=this.parseExpressionStatement()}break;default:t=this.throwUnexpectedToken(this.lookahead)}return t}parseFunctionSourceElements(){const t=this.createNode();this.expect("{");const e=this.parseDirectivePrologues(),n=this.context.labelSet,r=this.context.inIteration,i=this.context.inSwitch,o=this.context.inFunctionBody;for(this.context.labelSet={},this.context.inIteration=!1,this.context.inSwitch=!1,this.context.inFunctionBody=!0;2!==this.lookahead.type&&!this.match("}");)e.push(this.parseStatementListItem());return this.expect("}"),this.context.labelSet=n,this.context.inIteration=r,this.context.inSwitch=i,this.context.inFunctionBody=o,this.finalize(t,new hN(e))}validateParam(t,e,n){const r="$"+n;this.context.strict?(this.scanner.isRestrictedWord(n)&&(t.stricted=e,t.message=SS),Object.prototype.hasOwnProperty.call(t.paramSet,r)&&(t.stricted=e,t.hasDuplicateParameterNames=!0)):t.firstRestricted||(this.scanner.isRestrictedWord(n)?(t.firstRestricted=e,t.message=SS):this.scanner.isStrictModeReservedWord(n)?(t.firstRestricted=e,t.message=_S):Object.prototype.hasOwnProperty.call(t.paramSet,r)&&(t.stricted=e,t.hasDuplicateParameterNames=!0)),"function"==typeof Object.defineProperty?Object.defineProperty(t.paramSet,r,{value:!0,enumerable:!0,writable:!0,configurable:!0}):t.paramSet[r]=!0}parseRestElement(t){const e=this.createNode();this.expect("...");const n=this.parsePattern(t);return this.match("=")&&this.throwError(kv),this.match(")")||this.throwError(ES),this.finalize(e,new iv(n))}parseFormalParameter(t){const e=[],n=this.match("...")?this.parseRestElement(e):this.parsePatternWithDefault(e);for(let n=0;n<e.length;n++)this.validateParam(t,e[n],e[n].value);t.simple=t.simple&&n instanceof ON,t.params.push(n)}parseFormalParameters(t){const e={simple:!0,hasDuplicateParameterNames:!1,params:[],firstRestricted:t};if(this.expect("("),!this.match(")"))for(e.paramSet={};2!==this.lookahead.type&&(this.parseFormalParameter(e),!this.match(")"))&&(this.expect(","),!this.match(")")););return this.expect(")"),e.hasDuplicateParameterNames&&(this.context.strict||this.context.isAsync||!e.simple)&&this.throwError(Vv),{simple:e.simple,params:e.params,stricted:e.stricted,firstRestricted:e.firstRestricted,message:e.message}}matchAsyncFunction(){let t=this.matchContextualKeyword("async");if(t){const e=this.scanner.saveState();this.scanner.scanComments();const n=this.scanner.lex();this.scanner.restoreState(e),t=e.lineNumber===n.lineNumber&&4===n.type&&"function"===n.value}return t}parseFunctionDeclaration(t){const e=this.createNode(),n=this.matchContextualKeyword("async");n&&(this.context.inIteration&&this.tolerateError(Nv),this.nextToken()),this.expectKeyword("function");const r=this.match("*");let i;r&&this.nextToken();let o=null,s=null;if(!t||!this.match("(")){const t=this.lookahead;o=this.parseVariableIdentifier(),this.context.strict?this.scanner.isRestrictedWord(t.value)&&this.tolerateUnexpectedToken(t,TS):this.scanner.isRestrictedWord(t.value)?(s=t,i=TS):this.scanner.isStrictModeReservedWord(t.value)&&(s=t,i=_S)}const a=this.context.isAsync,c=this.context.allowYield;this.context.isAsync=n,this.context.allowYield=!r;const l=this.parseFormalParameters(s),u=l.params,h=l.stricted;s=l.firstRestricted,l.message&&(i=l.message);const d=this.context.strict,p=this.context.allowStrictDirective;this.context.allowStrictDirective=l.simple;const f=this.parseFunctionSourceElements();return this.context.strict&&s&&this.throwUnexpectedToken(s,i),this.context.strict&&h&&this.tolerateUnexpectedToken(h,i),this.context.strict=d,this.context.allowStrictDirective=p,this.context.isAsync=a,this.context.allowYield=c,n?this.finalize(e,new aN(o,u,f,r)):this.finalize(e,new RN(o,u,f,r))}parseFunctionExpression(){const t=this.createNode(),e=this.matchContextualKeyword("async");e&&this.nextToken(),this.expectKeyword("function");const n=this.match("*");let r;n&&this.nextToken();let i,o=null;const s=this.context.isAsync,a=this.context.allowYield;if(this.context.isAsync=e,this.context.allowYield=!n,!this.match("(")){const t=this.lookahead;o=this.context.strict||n||!this.matchKeyword("yield")?this.parseVariableIdentifier():this.parseIdentifierName(),this.context.strict?this.scanner.isRestrictedWord(t.value)&&this.tolerateUnexpectedToken(t,TS):this.scanner.isRestrictedWord(t.value)?(i=t,r=TS):this.scanner.isStrictModeReservedWord(t.value)&&(i=t,r=_S)}const c=this.parseFormalParameters(i),l=c.params,u=c.stricted;i=c.firstRestricted,c.message&&(r=c.message);const h=this.context.strict,d=this.context.allowStrictDirective;this.context.allowStrictDirective=c.simple;const p=this.parseFunctionSourceElements();return this.context.strict&&i&&this.throwUnexpectedToken(i,r),this.context.strict&&u&&this.tolerateUnexpectedToken(u,r),this.context.strict=h,this.context.allowStrictDirective=d,this.context.isAsync=s,this.context.allowYield=a,this.finalize(t,new FN(o,l,p,n,e))}parseDirective(){const t=this.lookahead,e=this.createNode(),n=this.parseExpression(),r=n.type===kM.Literal?this.getTokenRaw(t).slice(1,-1):null;return this.consumeSemicolon(),this.finalize(e,r?new BN(n,r):new SN(n))}parseDirectivePrologues(){let t=null;const e=[];for(;;){const n=this.lookahead;if(8!==n.type)break;const r=this.parseDirective();e.push(r);const i=r.directive;if("string"!=typeof i)break;"use strict"===i?(this.context.strict=!0,t&&this.tolerateUnexpectedToken(t,vS),this.context.allowStrictDirective||this.tolerateUnexpectedToken(n,Kv)):!t&&n.octal&&(t=n)}return e}qualifiedPropertyName(t){switch(t.type){case 3:case 8:case 1:case 5:case 6:case 4:return!0;case 7:return"["===t.value||"#"===t.value}return!1}parseGetterMethod(){const t=this.createNode(),e=!1,n=this.context.allowYield;this.context.allowYield=!0;const r=this.parseFormalParameters();r.params.length>0&&this.tolerateError(Sv);const i=this.parsePropertyMethod(r);return this.context.allowYield=n,this.finalize(t,new FN(null,r.params,i,e,!1))}parseSetterMethod(){const t=this.createNode(),e=!1,n=this.context.allowYield;this.context.allowYield=!0;const r=this.parseFormalParameters();1!==r.params.length?this.tolerateError(_v):r.params[0]instanceof iv&&this.tolerateError(Lv);const i=this.parsePropertyMethod(r);return this.context.allowYield=n,this.finalize(t,new FN(null,r.params,i,e,!1))}parseGeneratorMethod(t){const e=this.createNode(),n=this.context.allowYield;this.context.allowYield=!0;const r=this.parseFormalParameters();this.context.allowYield=!1;const i=this.parsePropertyMethod(r);return this.context.allowYield=n,this.finalize(e,new FN(null,r.params,i,!0,t))}isStartOfExpression(){let t=!0;const e=this.lookahead.value;switch(this.lookahead.type){case 7:t="["===e||"("===e||"{"===e||"+"===e||"-"===e||"!"===e||"~"===e||"++"===e||"--"===e||"/"===e||"/="===e;break;case 4:t="class"===e||"delete"===e||"function"===e||"let"===e||"new"===e||"super"===e||"this"===e||"typeof"===e||"void"===e||"yield"===e}return t}parseYieldExpression(){const t=this.createNode();this.expectKeyword("yield");let e=null,n=!1;if(!this.hasLineTerminator){const t=this.context.allowYield;this.context.allowYield=!1,n=this.match("*"),n?(this.nextToken(),e=this.parseAssignmentExpression()):this.isStartOfExpression()&&(e=this.parseAssignmentExpression()),this.context.allowYield=t}return this.finalize(t,new Dv(e,n))}parseStaticBlock(){const t=this.createNode();this.expect("{");const e=[];for(;!this.match("}");)e.push(this.parseStatementListItem());return this.expect("}"),this.finalize(t,new lv(e))}parseDecorator(){const t=this.createNode();this.expect("@");const e=this.context.strict,n=this.context.allowYield,r=this.context.isAsync;this.context.strict=!1,this.context.allowYield=!0,this.context.isAsync=!1;const i=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall);return this.context.strict=e,this.context.allowYield=n,this.context.isAsync=r,this.match(";")&&this.throwError(fS),this.finalize(t,new CN(i))}parseDecorators(){let t=null;for(;this.match("@");)null==t&&(t=[]),t.push(this.parseDecorator());return t}parseClassElement(t){let e=this.lookahead;const n=this.createNode(),r=this.context.inConstructor;let i="",o=null,s=null,a=!1,c=!1,l=!1,u=!1,h=!1,d=!1;const p=this.parseDecorators();if(p&&(e=this.lookahead),this.match("*"))this.nextToken();else{a=this.match("["),this.match("#")&&(d=!0,this.nextToken(),e=this.lookahead),o=this.parseObjectPropertyKey(d);const t=o;if(this.context.inConstructor=3===e.type&&"constructor"===e.value,"static"===t.name&&(this.qualifiedPropertyName(this.lookahead)||this.match("*"))&&(e=this.lookahead,l=!0,a=this.match("["),this.match("*")?(this.nextToken(),this.match("#")&&(d=!0,this.nextToken(),e=this.lookahead)):(this.match("#")&&(d=!0,this.nextToken(),e=this.lookahead),o=this.parseObjectPropertyKey(d))),"static"===t.name&&this.match("{"))return this.parseStaticBlock();if(3===e.type&&!this.hasLineTerminator&&"async"===e.value){const t=this.lookahead.value;":"!==t&&"("!==t&&(u=!0,h=this.match("*"),h&&this.nextToken(),e=this.lookahead,a=this.match("["),this.match("*")?(this.nextToken(),this.match("#")&&(d=!0,this.nextToken())):(this.match("#")&&(d=!0,this.nextToken(),e=this.lookahead),o=this.parseObjectPropertyKey(d)),3!==e.type||"constructor"!==e.value||l||this.tolerateUnexpectedToken(e,Rv))}}3===e.type&&"constructor"===e.value&&d&&this.tolerateUnexpectedToken(e,Fv);const f=this.qualifiedPropertyName(this.lookahead);if(3===e.type||8===e.type?"get"===e.value&&f?(i="get",this.match("#")&&(d=!0,this.nextToken(),e=this.lookahead),a=this.match("["),o=this.parseObjectPropertyKey(d),this.context.allowYield=!1,s=this.parseGetterMethod()):"set"===e.value&&f?(i="set",this.match("#")&&(d=!0,this.nextToken(),e=this.lookahead),a=this.match("["),o=this.parseObjectPropertyKey(d),s=this.parseSetterMethod()):this.match("(")||(i="property",a=!1,this.match("=")&&(this.nextToken(),s=this.isolateCoverGrammar(this.parseAssignmentExpression))):7===e.type&&"*"===e.value&&f?(i="init",a=this.match("["),o=this.parseObjectPropertyKey(d),s=this.parseGeneratorMethod(u),c=!0):7!==e.type||"["!==e.value||this.match("(")||(i="property",a=!0,this.match("=")&&(this.nextToken(),s=this.isolateCoverGrammar(this.parseAssignmentExpression))),!i&&o&&this.match("(")){const t=this.context.inClassConstructor;this.context.inClassConstructor="constructor"===e.value,i="init",s=u?this.parsePropertyMethodAsyncFunction(h):this.parsePropertyMethodFunction(h),this.context.inClassConstructor=t,c=!0}return i||this.throwUnexpectedToken(this.lookahead),"init"===i&&(i="method"),a||(l&&this.isPropertyKey(o,"prototype")&&this.throwUnexpectedToken(e,yS),!l&&this.isPropertyKey(o,"constructor")&&(("method"!==i||!c||s&&s.generator)&&this.throwUnexpectedToken(e,Ov),t.value?this.throwUnexpectedToken(e,Gv):t.value=!0,i="constructor")),this.context.inConstructor=r,"property"===i?(this.consumeSemicolon(),this.finalize(n,new nv(o,a,s,l,p))):this.finalize(n,new qN(o,a,s,i,l,p))}parseClassElementList(){const t=[],e={value:!1};for(this.expect("{");!this.match("}");)this.match(";")?this.nextToken():t.push(this.parseClassElement(e));return this.expect("}"),t}parseClassBody(){const t=this.createNode(),e=this.parseClassElementList();return this.finalize(t,new gN(e))}parseClassDeclaration(t){const e=this.createNode(),n=this.context.strict,r=this.context.allowSuper;this.context.strict=!0,this.expectKeyword("class");const i=t&&3!==this.lookahead.type?null:this.parseVariableIdentifier();let o=null;this.matchKeyword("extends")&&(this.nextToken(),o=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall),this.context.allowSuper=!0);const s=this.parseClassBody();return this.context.allowSuper=r,this.context.strict=n,this.finalize(e,new EN(i,o,s,this.context.decorators))}parseClassExpression(){const t=this.createNode(),e=this.context.strict;this.context.strict=!0,this.expectKeyword("class");const n=3===this.lookahead.type?this.parseVariableIdentifier():null;let r=null;this.matchKeyword("extends")&&(this.nextToken(),r=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall),this.context.allowSuper=!0);const i=this.parseClassBody();return this.context.strict=e,this.finalize(t,new mN(n,r,i,this.context.decorators))}parseModule(){this.context.strict=!0,this.context.isModule=!0,this.scanner.isModule=!0;const t=this.createNode(),e=this.parseDirectivePrologues();for(;2!==this.lookahead.type;)e.push(this.parseStatementListItem());return this.finalize(t,new KN(e))}parseScript(){const t=this.createNode(),e=this.parseDirectivePrologues();for(;2!==this.lookahead.type;)e.push(this.parseStatementListItem());return this.finalize(t,new sv(e))}parseImportAttributes(){if("assert"===this.lookahead.value){this.nextToken(),this.expect("{");const t=[];for(;!this.match("}");)t.push(this.parseImportAttribute()),this.match("}")||this.expectCommaSeparator();return this.expect("}"),t}return null}parseImportAttribute(){const t=this.createNode();3!==this.lookahead.type&&this.throwUnexpectedToken(this.nextToken());const e=this.parseIdentifierName();this.match(":")||this.throwUnexpectedToken(this.nextToken()),this.nextToken();const n=this.nextToken(),r=this.getTokenRaw(n),i=this.finalize(t,new YN(n.value,r));return this.finalize(t,new kN(e,i))}parseModuleSpecifier(){const t=this.createNode();8!==this.lookahead.type&&this.throwError(rS);const e=this.nextToken(),n=this.getTokenRaw(e);return GM.isStringWellFormedUnicode(e.value)||this.throwError(rS),this.finalize(t,new YN(e.value,n))}parseImportSpecifier(){const t=this.createNode();let e,n;return 3===this.lookahead.type?(e=this.parseVariableIdentifier(),n=e,this.matchContextualKeyword("as")&&(this.nextToken(),n=this.parseVariableIdentifier())):(e=8==this.lookahead.type?this.parseModuleSpecifier():this.parseIdentifierName(),n=e,this.matchContextualKeyword("as")?(this.nextToken(),n=this.parseVariableIdentifier()):this.throwUnexpectedToken(this.nextToken())),this.finalize(t,new HN(n,e))}parseNamedImports(){this.expect("{");const t=[];for(;!this.match("}");)t.push(this.parseImportSpecifier()),this.match("}")||this.expect(",");return this.expect("}"),t}parseImportDefaultSpecifier(){const t=this.createNode(),e=this.parseIdentifierName();return this.finalize(t,new GN(e))}parseImportNamespaceSpecifier(){const t=this.createNode();this.expect("*"),this.matchContextualKeyword("as")||this.throwError(hS),this.lookahead.escaped&&this.throwError(dS),this.nextToken();const e=this.parseIdentifierName();return this.finalize(t,new VN(e))}parseImportDeclaration(){this.context.inFunctionBody&&this.throwError(qv);const t=this.createNode();let e;this.expectKeyword("import");let n=[];if(8===this.lookahead.type)e=this.parseModuleSpecifier();else{if(this.match("{")?n=n.concat(this.parseNamedImports()):this.match("*")?n.push(this.parseImportNamespaceSpecifier()):this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")?(n.push(this.parseImportDefaultSpecifier()),this.match(",")&&(this.nextToken(),this.match("*")?n.push(this.parseImportNamespaceSpecifier()):this.match("{")?n=n.concat(this.parseNamedImports()):this.throwUnexpectedToken(this.lookahead))):this.throwUnexpectedToken(this.nextToken()),!this.matchContextualKeyword("from")){const t=this.lookahead.value?VS:cS;this.throwError(t,this.lookahead.value)}this.nextToken(),e=this.parseModuleSpecifier()}const r=this.parseImportAttributes();return this.consumeSemicolon(),this.finalize(t,new PN(n,e,r))}parseExportSpecifier(){const t=this.createNode(),e=8==this.lookahead.type?this.parseModuleSpecifier():this.parseIdentifierName();let n=e;return this.matchContextualKeyword("as")&&(this.lookahead.escaped&&this.throwError(dS),this.nextToken(),n=8==this.lookahead.type?this.parseModuleSpecifier():this.parseIdentifierName()),this.finalize(t,new vN(e,n))}parseExportDeclaration(){this.context.inFunctionBody&&this.throwError(Wv);const t=this.createNode();let e;if(this.expectKeyword("export"),this.matchKeyword("default"))if(this.nextToken(),this.matchKeyword("function")){const n=this.parseFunctionDeclaration(!0);e=this.finalize(t,new MN(n))}else if(this.matchKeyword("class")){const n=this.parseClassDeclaration(!0);e=this.finalize(t,new MN(n))}else if(this.matchContextualKeyword("async")){const n=this.matchAsyncFunction()?this.parseFunctionDeclaration(!0):this.parseAssignmentExpression();e=this.finalize(t,new MN(n))}else{this.matchContextualKeyword("from")&&this.throwError(VS,this.lookahead.value);const n=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression();this.consumeSemicolon(),e=this.finalize(t,new MN(n))}else if(this.match("*")){this.nextToken();let n=null;if(this.matchContextualKeyword("as")&&(this.lookahead.escaped&&this.throwError(dS),this.nextToken(),n=8==this.lookahead.type?this.parseModuleSpecifier():this.parseIdentifierName()),!this.matchContextualKeyword("from")){const t=this.lookahead.value?VS:cS;this.throwError(t,this.lookahead.value)}this.lookahead.escaped&&this.throwError(dS),this.nextToken();const r=this.parseModuleSpecifier(),i=this.parseImportAttributes();this.consumeSemicolon(),e=this.finalize(t,new bN(r,n,i))}else if(4===this.lookahead.type){let n;switch(this.lookahead.value){case"let":case"const":n=this.parseLexicalDeclaration({inFor:!1});break;case"var":case"class":case"function":n=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}e=this.finalize(t,new NN(n,[],null,null))}else if(this.matchAsyncFunction()){const n=this.parseFunctionDeclaration();e=this.finalize(t,new NN(n,[],null,null))}else{const n=[];let r=null,i=!1,o=null;for(this.expect("{");!this.match("}");)i=i||this.matchKeyword("default"),n.push(this.parseExportSpecifier()),this.match("}")||this.expect(",");if(this.expect("}"),this.matchContextualKeyword("from"))this.lookahead.escaped&&this.throwError(dS),this.nextToken(),r=this.parseModuleSpecifier(),o=this.parseImportAttributes(),this.consumeSemicolon();else if(i){const t=this.lookahead.value?VS:cS;this.throwError(t,this.lookahead.value)}else o=this.parseImportAttributes(),this.consumeSemicolon();e=this.finalize(t,new NN(null,n,r,o))}return e}}const ZS={quot:'"',amp:"&",apos:"'",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",lang:"⟨",rang:"⟩"};function $S(t){let e;switch(t.type){case VM.JSXIdentifier:e=t.name;break;case VM.JSXNamespacedName:const n=t;e=$S(n.namespace)+":"+$S(n.name);break;case VM.JSXMemberExpression:const r=t;e=$S(r.object)+"."+$S(r.property)}return e}qS[100]="JSXIdentifier",qS[101]="JSXText";class t_ extends XS{constructor(t,e,n){super(t,e,n)}parsePrimaryExpression(){return this.match("<")?this.parseJSXRoot():super.parsePrimaryExpression()}startJSX(){this.scanner.index=this.startMarker.index,this.scanner.lineNumber=this.startMarker.line,this.scanner.lineStart=this.startMarker.index-this.startMarker.column}finishJSX(){this.nextToken()}reenterJSX(){this.startJSX(),this.expectJSX("}"),this.config.tokens&&this.tokens.pop()}createJSXNode(){return this.collectComments(),{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}createJSXChildNode(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}scanXHTMLEntity(t){let e="&",n=!0,r=!1,i=!1,o=!1;for(;!this.scanner.eof()&&n&&!r;){const s=this.scanner.source[this.scanner.index];if(s===t)break;if(r=";"===s,e+=s,++this.scanner.index,!r)switch(e.length){case 2:i="#"===s;break;case 3:i&&(o="x"===s,n=o||GM.isDecimalDigit(s.charCodeAt(0)),i=i&&!o);break;default:n=n&&!(i&&!GM.isDecimalDigit(s.charCodeAt(0))),n=n&&!(o&&!GM.isHexDigit(s.charCodeAt(0)))}}if(n&&r&&e.length>2){const t=e.substr(1,e.length-2);i&&t.length>1?e=String.fromCharCode(parseInt(t.substr(1),10)):o&&t.length>2?e=String.fromCharCode(parseInt("0"+t.substr(1),16)):i||o||!ZS[t]||(e=ZS[t])}return e}lexJSX(){const t=this.scanner.source.charCodeAt(this.scanner.index);if(60===t||62===t||47===t||58===t||61===t||123===t||125===t){return{type:7,value:this.scanner.source[this.scanner.index++],lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index}}if(34===t||39===t){const t=this.scanner.index,e=this.scanner.source[this.scanner.index++];let n="";for(;!this.scanner.eof();){const t=this.scanner.source[this.scanner.index++];if(t===e)break;n+="&"===t?this.scanXHTMLEntity(e):t}return{type:8,value:n,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(46===t){const t=this.scanner.source.charCodeAt(this.scanner.index+1),e=this.scanner.source.charCodeAt(this.scanner.index+2),n=46===t&&46===e?"...":".",r=this.scanner.index;return this.scanner.index+=n.length,{type:7,value:n,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:r,end:this.scanner.index}}if(96===t)return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index};if(GM.isIdentifierStart(t)&&92!==t){const t=this.scanner.index;for(++this.scanner.index;!this.scanner.eof();){const t=this.scanner.source.charCodeAt(this.scanner.index);if(GM.isIdentifierPart(t)&&92!==t)++this.scanner.index;else{if(45!==t)break;++this.scanner.index}}return{type:100,value:this.scanner.source.slice(t,this.scanner.index),lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}return this.scanner.lex()}nextJSXToken(){this.collectComments(),this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;const t=this.lexJSX();return this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.config.tokens&&this.tokens.push(this.convertToken(t)),t}nextJSXText(){this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;const t=this.scanner.index;let e="";for(;!this.scanner.eof();){const t=this.scanner.source[this.scanner.index];if("{"===t||"<"===t)break;++this.scanner.index,e+=t,GM.isLineTerminator(t.charCodeAt(0))&&(++this.scanner.lineNumber,"\r"===t&&"\n"===this.scanner.source[this.scanner.index]&&++this.scanner.index,this.scanner.lineStart=this.scanner.index)}this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart;const n={type:101,value:e,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index};return e.length>0&&this.config.tokens&&this.tokens.push(this.convertToken(n)),n}peekJSXToken(){const t=this.scanner.saveState();this.scanner.scanComments();const e=this.lexJSX();return this.scanner.restoreState(t),e}expectJSX(t){const e=this.nextJSXToken();7===e.type&&e.value===t||this.throwUnexpectedToken(e)}matchJSX(t){const e=this.peekJSXToken();return 7===e.type&&e.value===t}parseJSXIdentifier(){const t=this.createJSXNode(),e=this.nextJSXToken();return 100!==e.type&&this.throwUnexpectedToken(e),this.finalize(t,new WM(e.value))}parseJSXElementName(){const t=this.createJSXNode();let e=this.parseJSXIdentifier();if(this.matchJSX(":")){const n=e;this.expectJSX(":");const r=this.parseJSXIdentifier();e=this.finalize(t,new XM(n,r))}else if(this.matchJSX("."))for(;this.matchJSX(".");){const n=e;this.expectJSX(".");const r=this.parseJSXIdentifier();e=this.finalize(t,new qM(n,r))}return e}parseJSXAttributeName(){const t=this.createJSXNode();let e;const n=this.parseJSXIdentifier();if(this.matchJSX(":")){const r=n;this.expectJSX(":");const i=this.parseJSXIdentifier();e=this.finalize(t,new XM(r,i))}else e=n;return e}parseJSXStringLiteralAttribute(){const t=this.createJSXNode(),e=this.nextJSXToken();8!==e.type&&this.throwUnexpectedToken(e);const n=this.getTokenRaw(e);return this.finalize(t,new YN(e.value,n))}parseJSXExpressionAttribute(){const t=this.createJSXNode();this.expectJSX("{"),this.finishJSX(),this.match("}")&&this.tolerateError("JSX attributes must only be assigned a non-empty expression");const e=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(t,new JM(e))}parseJSXAttributeValue(){return this.matchJSX("{")?this.parseJSXExpressionAttribute():this.matchJSX("<")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()}parseJSXNameValueAttribute(){const t=this.createJSXNode(),e=this.parseJSXAttributeName();let n=null;return this.matchJSX("=")&&(this.expectJSX("="),n=this.parseJSXAttributeValue()),this.finalize(t,new KM(e,n))}parseJSXSpreadAttribute(){const t=this.createJSXNode();this.expectJSX("{"),this.expectJSX("..."),this.finishJSX();const e=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(t,new tN(e))}parseJSXAttributes(){const t=[];for(;!this.matchJSX("/")&&!this.matchJSX(">");){const e=this.matchJSX("{")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();t.push(e)}return t}parseJSXOpeningElement(){const t=this.createJSXNode();if(this.expectJSX("<"),this.matchJSX(">"))return this.expectJSX(">"),this.finalize(t,new $M(!1));const e=this.parseJSXElementName(),n=this.parseJSXAttributes(),r=this.matchJSX("/");return r&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(t,new ZM(e,r,n))}parseJSXBoundaryElement(){const t=this.createJSXNode();if(this.expectJSX("<"),this.matchJSX("/")){if(this.expectJSX("/"),this.matchJSX(">"))return this.expectJSX(">"),this.finalize(t,new jM);const e=this.parseJSXElementName();return this.expectJSX(">"),this.finalize(t,new HM(e))}const e=this.parseJSXElementName(),n=this.parseJSXAttributes(),r=this.matchJSX("/");return r&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(t,new ZM(e,r,n))}parseJSXEmptyExpression(){const t=this.createJSXChildNode();return this.collectComments(),this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.finalize(t,new zM)}parseJSXExpressionContainer(){const t=this.createJSXNode();let e;return this.expectJSX("{"),this.matchJSX("}")?(e=this.parseJSXEmptyExpression(),this.expectJSX("}")):(this.finishJSX(),e=this.parseAssignmentExpression(),this.reenterJSX()),this.finalize(t,new JM(e))}parseJSXChildren(){const t=[];for(;!this.scanner.eof();){const e=this.createJSXChildNode(),n=this.nextJSXText();if(n.start<n.end){const r=this.getTokenRaw(n),i=this.finalize(e,new eN(n.value,r));t.push(i)}if("{"!==this.scanner.source[this.scanner.index])break;{const e=this.parseJSXExpressionContainer();t.push(e)}}return t}parseComplexJSXElement(t){const e=[];for(;!this.scanner.eof();){t.children=t.children.concat(this.parseJSXChildren());const n=this.createJSXChildNode(),r=this.parseJSXBoundaryElement();if(r.type===VM.JSXOpeningElement){const i=r;if(i.selfClosing){const e=this.finalize(n,new YM(i,[],null));t.children.push(e)}else e.push(t),t={node:n,opening:i,closing:null,children:[]}}if(r.type===VM.JSXClosingElement){t.closing=r;const n=$S(t.opening.name);if(n!==$S(t.closing.name)&&this.tolerateError("Expected corresponding JSX closing tag for %0",n),!(e.length>0))break;{const n=this.finalize(t.node,new YM(t.opening,t.children,t.closing));(t=e[e.length-1]).children.push(n),e.pop()}}if(r.type===VM.JSXClosingFragment){if(t.closing=r,t.opening.type===VM.JSXOpeningFragment)break;this.tolerateError("Expected corresponding JSX closing tag for jsx fragment")}}return t}parseJSXElement(){const t=this.createJSXNode(),e=this.parseJSXOpeningElement();let n=[],r=null;if(!e.selfClosing){const i=this.parseComplexJSXElement({node:t,opening:e,closing:r,children:n});n=i.children,r=i.closing}return this.finalize(t,new YM(e,n,r))}parseJSXRoot(){this.config.tokens&&this.tokens.pop(),this.startJSX();const t=this.parseJSXElement();return this.finishJSX(),t}isStartOfExpression(){return super.isStartOfExpression()||this.match("<")}}function e_(t,e,n){let r=null;const i=(t,e)=>{n&&n(t,e),r&&r.visit(t,e)};let o="function"==typeof n?i:null,s=!1;if(e){s="boolean"==typeof e.comment&&e.comment;const t="boolean"==typeof e.attachComment&&e.attachComment;(s||t)&&(r=new UM,r.attach=t,e.comment=!0,o=i)}let a,c=!1;e&&"string"==typeof e.sourceType&&(c="module"===e.sourceType),a=e&&"boolean"==typeof e.jsx&&e.jsx?new t_(t,e,o):new XS(t,e,o);const l=c?a.parseModule():a.parseScript();return s&&r&&(l.comments=r.comments),a.config.tokens&&(l.tokens=a.tokens),a.config.tolerant&&(l.errors=a.errorHandler.errors),l}function n_(t,e,n){const r=e||{};return r.sourceType="script",e_(t,r,n)}class r_{static get version(){return"1.4.0"}static toString(){return"JavaScript Expression Parser (JSEP) v"+r_.version}static addUnaryOp(t){return r_.max_unop_len=Math.max(t.length,r_.max_unop_len),r_.unary_ops[t]=1,r_}static addBinaryOp(t,e,n){return r_.max_binop_len=Math.max(t.length,r_.max_binop_len),r_.binary_ops[t]=e,n?r_.right_associative.add(t):r_.right_associative.delete(t),r_}static addIdentifierChar(t){return r_.additional_identifier_chars.add(t),r_}static addLiteral(t,e){return r_.literals[t]=e,r_}static removeUnaryOp(t){return delete r_.unary_ops[t],t.length===r_.max_unop_len&&(r_.max_unop_len=r_.getMaxKeyLen(r_.unary_ops)),r_}static removeAllUnaryOps(){return r_.unary_ops={},r_.max_unop_len=0,r_}static removeIdentifierChar(t){return r_.additional_identifier_chars.delete(t),r_}static removeBinaryOp(t){return delete r_.binary_ops[t],t.length===r_.max_binop_len&&(r_.max_binop_len=r_.getMaxKeyLen(r_.binary_ops)),r_.right_associative.delete(t),r_}static removeAllBinaryOps(){return r_.binary_ops={},r_.max_binop_len=0,r_}static removeLiteral(t){return delete r_.literals[t],r_}static removeAllLiterals(){return r_.literals={},r_}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(t){this.expr=t,this.index=0}static parse(t){return new r_(t).parse()}static getMaxKeyLen(t){return Math.max(0,...Object.keys(t).map(t=>t.length))}static isDecimalDigit(t){return t>=48&&t<=57}static binaryPrecedence(t){return r_.binary_ops[t]||0}static isIdentifierStart(t){return t>=65&&t<=90||t>=97&&t<=122||t>=128&&!r_.binary_ops[String.fromCharCode(t)]||r_.additional_identifier_chars.has(String.fromCharCode(t))}static isIdentifierPart(t){return r_.isIdentifierStart(t)||r_.isDecimalDigit(t)}throwError(t){const e=new Error(t+" at character "+this.index);throw e.index=this.index,e.description=t,e}runHook(t,e){if(r_.hooks[t]){const n={context:this,node:e};return r_.hooks.run(t,n),n.node}return e}searchHook(t){if(r_.hooks[t]){const e={context:this};return r_.hooks[t].find(function(t){return t.call(e.context,e),e.node}),e.node}}gobbleSpaces(){let t=this.code;for(;t===r_.SPACE_CODE||t===r_.TAB_CODE||t===r_.LF_CODE||t===r_.CR_CODE;)t=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");const t=this.gobbleExpressions(),e=1===t.length?t[0]:{type:r_.COMPOUND,body:t};return this.runHook("after-all",e)}gobbleExpressions(t){let e,n,r=[];for(;this.index<this.expr.length;)if(e=this.code,e===r_.SEMCOL_CODE||e===r_.COMMA_CODE)this.index++;else if(n=this.gobbleExpression())r.push(n);else if(this.index<this.expr.length){if(e===t)break;this.throwError('Unexpected "'+this.char+'"')}return r}gobbleExpression(){const t=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",t)}gobbleBinaryOp(){this.gobbleSpaces();let t=this.expr.substr(this.index,r_.max_binop_len),e=t.length;for(;e>0;){if(r_.binary_ops.hasOwnProperty(t)&&(!r_.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!r_.isIdentifierPart(this.expr.charCodeAt(this.index+t.length))))return this.index+=e,t;t=t.substr(0,--e)}return!1}gobbleBinaryExpression(){let t,e,n,r,i,o,s,a,c;if(o=this.gobbleToken(),!o)return o;if(e=this.gobbleBinaryOp(),!e)return o;for(i={value:e,prec:r_.binaryPrecedence(e),right_a:r_.right_associative.has(e)},s=this.gobbleToken(),s||this.throwError("Expected expression after "+e),r=[o,i,s];e=this.gobbleBinaryOp();){if(n=r_.binaryPrecedence(e),0===n){this.index-=e.length;break}i={value:e,prec:n,right_a:r_.right_associative.has(e)},c=e;const a=t=>i.right_a&&t.right_a?n>t.prec:n<=t.prec;for(;r.length>2&&a(r[r.length-2]);)s=r.pop(),e=r.pop().value,o=r.pop(),t={type:r_.BINARY_EXP,operator:e,left:o,right:s},r.push(t);t=this.gobbleToken(),t||this.throwError("Expected expression after "+c),r.push(i,t)}for(a=r.length-1,t=r[a];a>1;)t={type:r_.BINARY_EXP,operator:r[a-1].value,left:r[a-2],right:t},a-=2;return t}gobbleToken(){let t,e,n,r;if(this.gobbleSpaces(),r=this.searchHook("gobble-token"),r)return this.runHook("after-token",r);if(t=this.code,r_.isDecimalDigit(t)||t===r_.PERIOD_CODE)return this.gobbleNumericLiteral();if(t===r_.SQUOTE_CODE||t===r_.DQUOTE_CODE)r=this.gobbleStringLiteral();else if(t===r_.OBRACK_CODE)r=this.gobbleArray();else{for(e=this.expr.substr(this.index,r_.max_unop_len),n=e.length;n>0;){if(r_.unary_ops.hasOwnProperty(e)&&(!r_.isIdentifierStart(this.code)||this.index+e.length<this.expr.length&&!r_.isIdentifierPart(this.expr.charCodeAt(this.index+e.length)))){this.index+=n;const t=this.gobbleToken();return t||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:r_.UNARY_EXP,operator:e,argument:t,prefix:!0})}e=e.substr(0,--n)}r_.isIdentifierStart(t)?(r=this.gobbleIdentifier(),r_.literals.hasOwnProperty(r.name)?r={type:r_.LITERAL,value:r_.literals[r.name],raw:r.name}:r.name===r_.this_str&&(r={type:r_.THIS_EXP})):t===r_.OPAREN_CODE&&(r=this.gobbleGroup())}return r?(r=this.gobbleTokenProperty(r),this.runHook("after-token",r)):this.runHook("after-token",!1)}gobbleTokenProperty(t){this.gobbleSpaces();let e=this.code;for(;e===r_.PERIOD_CODE||e===r_.OBRACK_CODE||e===r_.OPAREN_CODE||e===r_.QUMARK_CODE;){let n;if(e===r_.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==r_.PERIOD_CODE)break;n=!0,this.index+=2,this.gobbleSpaces(),e=this.code}this.index++,e===r_.OBRACK_CODE?((t={type:r_.MEMBER_EXP,computed:!0,object:t,property:this.gobbleExpression()}).property||this.throwError('Unexpected "'+this.char+'"'),this.gobbleSpaces(),e=this.code,e!==r_.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):e===r_.OPAREN_CODE?t={type:r_.CALL_EXP,arguments:this.gobbleArguments(r_.CPAREN_CODE),callee:t}:(e===r_.PERIOD_CODE||n)&&(n&&this.index--,this.gobbleSpaces(),t={type:r_.MEMBER_EXP,computed:!1,object:t,property:this.gobbleIdentifier()}),n&&(t.optional=!0),this.gobbleSpaces(),e=this.code}return t}gobbleNumericLiteral(){let t,e,n="";for(;r_.isDecimalDigit(this.code);)n+=this.expr.charAt(this.index++);if(this.code===r_.PERIOD_CODE)for(n+=this.expr.charAt(this.index++);r_.isDecimalDigit(this.code);)n+=this.expr.charAt(this.index++);if(t=this.char,"e"===t||"E"===t){for(n+=this.expr.charAt(this.index++),t=this.char,"+"!==t&&"-"!==t||(n+=this.expr.charAt(this.index++));r_.isDecimalDigit(this.code);)n+=this.expr.charAt(this.index++);r_.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+n+this.char+")")}return e=this.code,r_.isIdentifierStart(e)?this.throwError("Variable names cannot start with a number ("+n+this.char+")"):(e===r_.PERIOD_CODE||1===n.length&&n.charCodeAt(0)===r_.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:r_.LITERAL,value:parseFloat(n),raw:n}}gobbleStringLiteral(){let t="";const e=this.index,n=this.expr.charAt(this.index++);let r=!1;for(;this.index<this.expr.length;){let e=this.expr.charAt(this.index++);if(e===n){r=!0;break}if("\\"===e)switch(e=this.expr.charAt(this.index++),e){case"n":t+="\n";break;case"r":t+="\r";break;case"t":t+="\t";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v";break;default:t+=e}else t+=e}return r||this.throwError('Unclosed quote after "'+t+'"'),{type:r_.LITERAL,value:t,raw:this.expr.substring(e,this.index)}}gobbleIdentifier(){let t=this.code,e=this.index;for(r_.isIdentifierStart(t)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(t=this.code,r_.isIdentifierPart(t));)this.index++;return{type:r_.IDENTIFIER,name:this.expr.slice(e,this.index)}}gobbleArguments(t){const e=[];let n=!1,r=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let i=this.code;if(i===t){n=!0,this.index++,t===r_.CPAREN_CODE&&r&&r>=e.length&&this.throwError("Unexpected token "+String.fromCharCode(t));break}if(i===r_.COMMA_CODE){if(this.index++,r++,r!==e.length)if(t===r_.CPAREN_CODE)this.throwError("Unexpected token ,");else if(t===r_.CBRACK_CODE)for(let t=e.length;t<r;t++)e.push(null)}else if(e.length!==r&&0!==r)this.throwError("Expected comma");else{const t=this.gobbleExpression();t&&t.type!==r_.COMPOUND||this.throwError("Expected comma"),e.push(t)}}return n||this.throwError("Expected "+String.fromCharCode(t)),e}gobbleGroup(){this.index++;let t=this.gobbleExpressions(r_.CPAREN_CODE);if(this.code===r_.CPAREN_CODE)return this.index++,1===t.length?t[0]:!!t.length&&{type:r_.SEQUENCE_EXP,expressions:t};this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:r_.ARRAY_EXP,elements:this.gobbleArguments(r_.CBRACK_CODE)}}}const i_=new class{add(t,e,n){if("string"!=typeof arguments[0])for(let t in arguments[0])this.add(t,arguments[0][t],arguments[1]);else(Array.isArray(t)?t:[t]).forEach(function(t){this[t]=this[t]||[],e&&this[t][n?"unshift":"push"](e)},this)}run(t,e){this[t]=this[t]||[],this[t].forEach(function(t){t.call(e&&e.context?e.context:e,e)})}};Object.assign(r_,{hooks:i_,plugins:new class{constructor(t){this.jsep=t,this.registered={}}register(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];e.forEach(t=>{if("object"!=typeof t||!t.name||!t.init)throw new Error("Invalid JSEP plugin format");this.registered[t.name]||(t.init(this.jsep),this.registered[t.name]=t)})}}(r_),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"??":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10,"**":11},right_associative:new Set(["**"]),additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"}),r_.max_unop_len=r_.getMaxKeyLen(r_.unary_ops),r_.max_binop_len=r_.getMaxKeyLen(r_.binary_ops);const o_=t=>new r_(t).parse(),s_=Object.getOwnPropertyNames(class{});Object.getOwnPropertyNames(r_).filter(t=>!s_.includes(t)&&void 0===o_[t]).forEach(t=>{o_[t]=r_[t]}),o_.Jsep=r_;var a_={name:"ternary",init(t){t.hooks.add("after-expression",function(e){if(e.node&&this.code===t.QUMARK_CODE){this.index++;const n=e.node,r=this.gobbleExpression();if(r||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===t.COLON_CODE){this.index++;const i=this.gobbleExpression();if(i||this.throwError("Expected expression"),e.node={type:"ConditionalExpression",test:n,consequent:r,alternate:i},n.operator&&t.binary_ops[n.operator]<=.9){let r=n;for(;r.right.operator&&t.binary_ops[r.right.operator]<=.9;)r=r.right;e.node.test=r.right,r.right=e.node,e.node=n}}else this.throwError("Expected :")}})}};o_.plugins.register(a_);var c_={name:"regex",init(t){t.hooks.add("gobble-token",function(e){if(47===this.code){const n=++this.index;let r=!1;for(;this.index<this.expr.length;){if(47===this.code&&!r){const r=this.expr.slice(n,this.index);let i,o="";for(;++this.index<this.expr.length;){const t=this.code;if(!(t>=97&&t<=122||t>=65&&t<=90||t>=48&&t<=57))break;o+=this.char}try{i=new RegExp(r,o)}catch(t){this.throwError(t.message)}return e.node={type:t.LITERAL,value:i,raw:this.expr.slice(n-1,this.index)},e.node=this.gobbleTokenProperty(e.node),e.node}this.code===t.OBRACK_CODE?r=!0:r&&this.code===t.CBRACK_CODE&&(r=!1),this.index+=92===this.code?2:1}this.throwError("Unclosed Regex")}})}};const l_={name:"assignment",assignmentOperators:new Set(["=","*=","**=","/=","%=","+=","-=","<<=",">>=",">>>=","&=","^=","|=","||=","&&=","??="]),updateOperators:[43,45],assignmentPrecedence:.9,init(t){const e=[t.IDENTIFIER,t.MEMBER_EXP];function n(t){l_.assignmentOperators.has(t.operator)?(t.type="AssignmentExpression",n(t.left),n(t.right)):t.operator||Object.values(t).forEach(t=>{t&&"object"==typeof t&&n(t)})}l_.assignmentOperators.forEach(e=>t.addBinaryOp(e,l_.assignmentPrecedence,!0)),t.hooks.add("gobble-token",function(t){const n=this.code;l_.updateOperators.some(t=>t===n&&t===this.expr.charCodeAt(this.index+1))&&(this.index+=2,t.node={type:"UpdateExpression",operator:43===n?"++":"--",argument:this.gobbleTokenProperty(this.gobbleIdentifier()),prefix:!0},t.node.argument&&e.includes(t.node.argument.type)||this.throwError(`Unexpected ${t.node.operator}`))}),t.hooks.add("after-token",function(t){if(t.node){const n=this.code;l_.updateOperators.some(t=>t===n&&t===this.expr.charCodeAt(this.index+1))&&(e.includes(t.node.type)||this.throwError(`Unexpected ${t.node.operator}`),this.index+=2,t.node={type:"UpdateExpression",operator:43===n?"++":"--",argument:t.node,prefix:!1})}}),t.hooks.add("after-expression",function(t){t.node&&n(t.node)})}};o_.plugins.register(c_,l_),o_.addUnaryOp("typeof"),o_.addLiteral("null",null),o_.addLiteral("undefined",void 0);const u_=new Set(["constructor","__proto__","__defineGetter__","__defineSetter__"]),h_={evalAst(t,e){switch(t.type){case"BinaryExpression":case"LogicalExpression":return h_.evalBinaryExpression(t,e);case"Compound":return h_.evalCompound(t,e);case"ConditionalExpression":return h_.evalConditionalExpression(t,e);case"Identifier":return h_.evalIdentifier(t,e);case"Literal":return h_.evalLiteral(t,e);case"MemberExpression":return h_.evalMemberExpression(t,e);case"UnaryExpression":return h_.evalUnaryExpression(t,e);case"ArrayExpression":return h_.evalArrayExpression(t,e);case"CallExpression":return h_.evalCallExpression(t,e);case"AssignmentExpression":return h_.evalAssignmentExpression(t,e);default:throw SyntaxError("Unexpected expression",t)}},evalBinaryExpression:(t,e)=>({"||":(t,e)=>t||e(),"&&":(t,e)=>t&&e(),"|":(t,e)=>t|e(),"^":(t,e)=>t^e(),"&":(t,e)=>t&e(),"==":(t,e)=>t==e(),"!=":(t,e)=>t!=e(),"===":(t,e)=>t===e(),"!==":(t,e)=>t!==e(),"<":(t,e)=>t<e(),">":(t,e)=>t>e(),"<=":(t,e)=>t<=e(),">=":(t,e)=>t>=e(),"<<":(t,e)=>t<<e(),">>":(t,e)=>t>>e(),">>>":(t,e)=>t>>>e(),"+":(t,e)=>t+e(),"-":(t,e)=>t-e(),"*":(t,e)=>t*e(),"/":(t,e)=>t/e(),"%":(t,e)=>t%e()}[t.operator](h_.evalAst(t.left,e),()=>h_.evalAst(t.right,e))),evalCompound(t,e){let n;for(let r=0;r<t.body.length;r++){"Identifier"===t.body[r].type&&["var","let","const"].includes(t.body[r].name)&&t.body[r+1]&&"AssignmentExpression"===t.body[r+1].type&&(r+=1);const i=t.body[r];n=h_.evalAst(i,e)}return n},evalConditionalExpression:(t,e)=>h_.evalAst(t.test,e)?h_.evalAst(t.consequent,e):h_.evalAst(t.alternate,e),evalIdentifier(t,e){if(Object.hasOwn(e,t.name))return e[t.name];throw ReferenceError(`${t.name} is not defined`)},evalLiteral:t=>t.value,evalMemberExpression(t,e){const n=String(t.computed?h_.evalAst(t.property):t.property.name),r=h_.evalAst(t.object,e);if(null==r)throw TypeError(`Cannot read properties of ${r} (reading '${n}')`);if(!Object.hasOwn(r,n)&&u_.has(n))throw TypeError(`Cannot read properties of ${r} (reading '${n}')`);const i=r[n];return"function"==typeof i?i.bind(r):i},evalUnaryExpression:(t,e)=>({"-":t=>-h_.evalAst(t,e),"!":t=>!h_.evalAst(t,e),"~":t=>~h_.evalAst(t,e),"+":t=>+h_.evalAst(t,e),typeof:t=>typeof h_.evalAst(t,e)}[t.operator](t.argument)),evalArrayExpression:(t,e)=>t.elements.map(t=>h_.evalAst(t,e)),evalCallExpression(t,e){const n=t.arguments.map(t=>h_.evalAst(t,e));return h_.evalAst(t.callee,e)(...n)},evalAssignmentExpression(t,e){if("Identifier"!==t.left.type)throw SyntaxError("Invalid left-hand side in assignment");const n=t.left.name,r=h_.evalAst(t.right,e);return e[n]=r,e[n]}};function d_(t,e){return(t=t.slice()).push(e),t}function p_(t,e){return(e=e.slice()).unshift(t),e}class f_ extends Error{constructor(t){super('JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),this.avoidNew=!0,this.value=t,this.name="NewError"}}function A_(t,e,n,r,i){if(!(this instanceof A_))try{return new A_(t,e,n,r,i)}catch(t){if(!t.avoidNew)throw t;return t.value}"string"==typeof t&&(i=r,r=n,n=e,e=t,t=null);const o=t&&"object"==typeof t;if(t=t||{},this.json=t.json||n,this.path=t.path||e,this.resultType=t.resultType||"value",this.flatten=t.flatten||!1,this.wrap=!Object.hasOwn(t,"wrap")||t.wrap,this.sandbox=t.sandbox||{},this.eval=void 0===t.eval?"safe":t.eval,this.ignoreEvalErrors=void 0!==t.ignoreEvalErrors&&t.ignoreEvalErrors,this.parent=t.parent||null,this.parentProperty=t.parentProperty||null,this.callback=t.callback||r||null,this.otherTypeCallback=t.otherTypeCallback||i||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},!1!==t.autostart){const r={path:o?t.path:e};o?"json"in t&&(r.json=t.json):r.json=n;const i=this.evaluate(r);if(!i||"object"!=typeof i)throw new f_(i);return i}}A_.prototype.evaluate=function(t,e,n,r){let i=this.parent,o=this.parentProperty,{flatten:s,wrap:a}=this;if(this.currResultType=this.resultType,this.currEval=this.eval,this.currSandbox=this.sandbox,n=n||this.callback,this.currOtherTypeCallback=r||this.otherTypeCallback,e=e||this.json,(t=t||this.path)&&"object"==typeof t&&!Array.isArray(t)){if(!t.path&&""!==t.path)throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Object.hasOwn(t,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');({json:e}=t),s=Object.hasOwn(t,"flatten")?t.flatten:s,this.currResultType=Object.hasOwn(t,"resultType")?t.resultType:this.currResultType,this.currSandbox=Object.hasOwn(t,"sandbox")?t.sandbox:this.currSandbox,a=Object.hasOwn(t,"wrap")?t.wrap:a,this.currEval=Object.hasOwn(t,"eval")?t.eval:this.currEval,n=Object.hasOwn(t,"callback")?t.callback:n,this.currOtherTypeCallback=Object.hasOwn(t,"otherTypeCallback")?t.otherTypeCallback:this.currOtherTypeCallback,i=Object.hasOwn(t,"parent")?t.parent:i,o=Object.hasOwn(t,"parentProperty")?t.parentProperty:o,t=t.path}if(i=i||null,o=o||null,Array.isArray(t)&&(t=A_.toPathString(t)),!t&&""!==t||!e)return;const c=A_.toPathArray(t);"$"===c[0]&&c.length>1&&c.shift(),this._hasParentSelector=null;const l=this._trace(c,e,["$"],i,o,n).filter(function(t){return t&&!t.isParentSelector});return l.length?a||1!==l.length||l[0].hasArrExpr?l.reduce((t,e)=>{const n=this._getPreferredOutput(e);return s&&Array.isArray(n)?t=t.concat(n):t.push(n),t},[]):this._getPreferredOutput(l[0]):a?[]:void 0},A_.prototype._getPreferredOutput=function(t){const e=this.currResultType;switch(e){case"all":{const e=Array.isArray(t.path)?t.path:A_.toPathArray(t.path);return t.pointer=A_.toPointer(e),t.path="string"==typeof t.path?t.path:A_.toPathString(t.path),t}case"value":case"parent":case"parentProperty":return t[e];case"path":return A_.toPathString(t[e]);case"pointer":return A_.toPointer(t.path);default:throw new TypeError("Unknown result type")}},A_.prototype._handleCallback=function(t,e,n){if(e){const r=this._getPreferredOutput(t);t.path="string"==typeof t.path?t.path:A_.toPathString(t.path),e(r,n,t)}},A_.prototype._trace=function(t,e,n,r,i,o,s,a){let c;if(!t.length)return c={path:n,value:e,parent:r,parentProperty:i,hasArrExpr:s},this._handleCallback(c,o,"value"),c;const l=t[0],u=t.slice(1),h=[];function d(t){Array.isArray(t)?t.forEach(t=>{h.push(t)}):h.push(t)}if(("string"!=typeof l||a)&&e&&Object.hasOwn(e,l))d(this._trace(u,e[l],d_(n,l),e,l,o,s));else if("*"===l)this._walk(e,t=>{d(this._trace(u,e[t],d_(n,t),e,t,o,!0,!0))});else if(".."===l)d(this._trace(u,e,n,r,i,o,s)),this._walk(e,r=>{"object"==typeof e[r]&&d(this._trace(t.slice(),e[r],d_(n,r),e,r,o,!0))});else{if("^"===l)return this._hasParentSelector=!0,{path:n.slice(0,-1),expr:u,isParentSelector:!0};if("~"===l)return c={path:d_(n,l),value:i,parent:r,parentProperty:null},this._handleCallback(c,o,"property"),c;if("$"===l)d(this._trace(u,e,n,null,null,o,s));else if(/^(-?\d*):(-?\d*):?(\d*)$/u.test(l))d(this._slice(l,u,e,n,r,i,o));else if(0===l.indexOf("?(")){if(!1===this.currEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");const t=l.replace(/^\?\((.*?)\)$/u,"$1"),s=/@.?([^?]*)[['](\??\(.*?\))(?!.\)\])[\]']/gu.exec(t);s?this._walk(e,t=>{const a=[s[2]],c=s[1]?e[t][s[1]]:e[t];this._trace(a,c,n,r,i,o,!0).length>0&&d(this._trace(u,e[t],d_(n,t),e,t,o,!0))}):this._walk(e,s=>{this._eval(t,e[s],s,n,r,i)&&d(this._trace(u,e[s],d_(n,s),e,s,o,!0))})}else if("("===l[0]){if(!1===this.currEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");d(this._trace(p_(this._eval(l,e,n.at(-1),n.slice(0,-1),r,i),u),e,n,r,i,o,s))}else if("@"===l[0]){let t=!1;const s=l.slice(1,-2);switch(s){case"scalar":e&&["object","function"].includes(typeof e)||(t=!0);break;case"boolean":case"string":case"undefined":case"function":typeof e===s&&(t=!0);break;case"integer":!Number.isFinite(e)||e%1||(t=!0);break;case"number":Number.isFinite(e)&&(t=!0);break;case"nonFinite":"number"!=typeof e||Number.isFinite(e)||(t=!0);break;case"object":e&&typeof e===s&&(t=!0);break;case"array":Array.isArray(e)&&(t=!0);break;case"other":t=this.currOtherTypeCallback(e,n,r,i);break;case"null":null===e&&(t=!0);break;default:throw new TypeError("Unknown value type "+s)}if(t)return c={path:n,value:e,parent:r,parentProperty:i},this._handleCallback(c,o,"value"),c}else if("`"===l[0]&&e&&Object.hasOwn(e,l.slice(1))){const t=l.slice(1);d(this._trace(u,e[t],d_(n,t),e,t,o,s,!0))}else if(l.includes(",")){const t=l.split(",");for(const s of t)d(this._trace(p_(s,u),e,n,r,i,o,!0))}else!a&&e&&Object.hasOwn(e,l)&&d(this._trace(u,e[l],d_(n,l),e,l,o,s,!0))}if(this._hasParentSelector)for(let t=0;t<h.length;t++){const n=h[t];if(n&&n.isParentSelector){const a=this._trace(n.expr,e,n.path,r,i,o,s);if(Array.isArray(a)){h[t]=a[0];const e=a.length;for(let n=1;n<e;n++)t++,h.splice(t,0,a[n])}else h[t]=a}}return h},A_.prototype._walk=function(t,e){if(Array.isArray(t)){const n=t.length;for(let t=0;t<n;t++)e(t)}else t&&"object"==typeof t&&Object.keys(t).forEach(t=>{e(t)})},A_.prototype._slice=function(t,e,n,r,i,o,s){if(!Array.isArray(n))return;const a=n.length,c=t.split(":"),l=c[2]&&Number.parseInt(c[2])||1;let u=c[0]&&Number.parseInt(c[0])||0,h=c[1]&&Number.parseInt(c[1])||a;u=u<0?Math.max(0,u+a):Math.min(a,u),h=h<0?Math.max(0,h+a):Math.min(a,h);const d=[];for(let t=u;t<h;t+=l){this._trace(p_(t,e),n,r,i,o,s,!0).forEach(t=>{d.push(t)})}return d},A_.prototype._eval=function(t,e,n,r,i,o){this.currSandbox._$_parentProperty=o,this.currSandbox._$_parent=i,this.currSandbox._$_property=n,this.currSandbox._$_root=this.json,this.currSandbox._$_v=e;const s=t.includes("@path");s&&(this.currSandbox._$_path=A_.toPathString(r.concat([n])));const a=this.currEval+"Script:"+t;if(!A_.cache[a]){let e=t.replaceAll("@parentProperty","_$_parentProperty").replaceAll("@parent","_$_parent").replaceAll("@property","_$_property").replaceAll("@root","_$_root").replaceAll(/@([.\s)[])/gu,"_$_v$1");if(s&&(e=e.replaceAll("@path","_$_path")),"safe"===this.currEval||!0===this.currEval||void 0===this.currEval)A_.cache[a]=new this.safeVm.Script(e);else if("native"===this.currEval)A_.cache[a]=new this.vm.Script(e);else if("function"==typeof this.currEval&&this.currEval.prototype&&Object.hasOwn(this.currEval.prototype,"runInNewContext")){const t=this.currEval;A_.cache[a]=new t(e)}else{if("function"!=typeof this.currEval)throw new TypeError(`Unknown "eval" property "${this.currEval}"`);A_.cache[a]={runInNewContext:t=>this.currEval(e,t)}}}try{return A_.cache[a].runInNewContext(this.currSandbox)}catch(e){if(this.ignoreEvalErrors)return!1;throw new Error("jsonPath: "+e.message+": "+t)}},A_.cache={},A_.toPathString=function(t){const e=t,n=e.length;let r="$";for(let t=1;t<n;t++)/^(~|\^|@.*?\(\))$/u.test(e[t])||(r+=/^[0-9*]+$/u.test(e[t])?"["+e[t]+"]":"['"+e[t]+"']");return r},A_.toPointer=function(t){const e=t,n=e.length;let r="";for(let t=1;t<n;t++)/^(~|\^|@.*?\(\))$/u.test(e[t])||(r+="/"+e[t].toString().replaceAll("~","~0").replaceAll("/","~1"));return r},A_.toPathArray=function(t){const{cache:e}=A_;if(e[t])return e[t].concat();const n=[],r=t.replaceAll(/@(?:null|boolean|number|string|integer|undefined|nonFinite|scalar|array|object|function|other)\(\)/gu,";$&;").replaceAll(/[['](\??\(.*?\))[\]'](?!.\])/gu,function(t,e){return"[#"+(n.push(e)-1)+"]"}).replaceAll(/\[['"]([^'\]]*)['"]\]/gu,function(t,e){return"['"+e.replaceAll(".","%@%").replaceAll("~","%%@@%%")+"']"}).replaceAll("~",";~;").replaceAll(/['"]?\.['"]?(?![^[]*\])|\[['"]?/gu,";").replaceAll("%@%",".").replaceAll("%%@@%%","~").replaceAll(/(?:;)?(\^+)(?:;)?/gu,function(t,e){return";"+e.split("").join(";")+";"}).replaceAll(/;;;|;;/gu,";..;").replaceAll(/;$|'?\]|'$/gu,"").split(";").map(function(t){const e=t.match(/#(\d+)/u);return e&&e[1]?n[e[1]]:t});return e[t]=r,e[t].concat()},A_.prototype.safeVm={Script:class{constructor(t){this.code=t,this.ast=o_(this.code)}runInNewContext(t){const e=Object.assign(Object.create(null),t);return h_.evalAst(this.ast,e)}}};A_.prototype.vm={Script:class{constructor(t){this.code=t}runInNewContext(t){let e=this.code;const n=Object.keys(t),r=[];!function(t,e,n){const r=t.length;for(let i=0;i<r;i++)n(t[i])&&e.push(t.splice(i--,1)[0])}(n,r,e=>"function"==typeof t[e]);const i=n.map(e=>t[e]);e=r.reduce((e,n)=>{let r=t[n].toString();return/function/u.test(r)||(r="function "+r),"var "+n+"="+r+";"+e},"")+e,/(['"])use strict\1/u.test(e)||n.includes("arguments")||(e="var arguments = undefined;"+e),e=e.replace(/;\s*$/u,"");const o=e.lastIndexOf(";"),s=-1!==o?e.slice(0,o+1)+" return "+e.slice(o+1):" return "+e;return new Function(...n,s)(...i)}}};const g_=new Set([65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]),E_="�";var m_;!function(t){t[t.EOF=-1]="EOF",t[t.NULL=0]="NULL",t[t.TABULATION=9]="TABULATION",t[t.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",t[t.LINE_FEED=10]="LINE_FEED",t[t.FORM_FEED=12]="FORM_FEED",t[t.SPACE=32]="SPACE",t[t.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",t[t.QUOTATION_MARK=34]="QUOTATION_MARK",t[t.AMPERSAND=38]="AMPERSAND",t[t.APOSTROPHE=39]="APOSTROPHE",t[t.HYPHEN_MINUS=45]="HYPHEN_MINUS",t[t.SOLIDUS=47]="SOLIDUS",t[t.DIGIT_0=48]="DIGIT_0",t[t.DIGIT_9=57]="DIGIT_9",t[t.SEMICOLON=59]="SEMICOLON",t[t.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",t[t.EQUALS_SIGN=61]="EQUALS_SIGN",t[t.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",t[t.QUESTION_MARK=63]="QUESTION_MARK",t[t.LATIN_CAPITAL_A=65]="LATIN_CAPITAL_A",t[t.LATIN_CAPITAL_Z=90]="LATIN_CAPITAL_Z",t[t.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",t[t.GRAVE_ACCENT=96]="GRAVE_ACCENT",t[t.LATIN_SMALL_A=97]="LATIN_SMALL_A",t[t.LATIN_SMALL_Z=122]="LATIN_SMALL_Z"}(m_||(m_={}));const w_="--",y_="[CDATA[",I_="doctype",C_="script",B_="public",T_="system";function D_(t){return t>=55296&&t<=57343}function b_(t){return 32!==t&&10!==t&&13!==t&&9!==t&&12!==t&&t>=1&&t<=31||t>=127&&t<=159}function M_(t){return t>=64976&&t<=65007||g_.has(t)}var N_;!function(t){t.controlCharacterInInputStream="control-character-in-input-stream",t.noncharacterInInputStream="noncharacter-in-input-stream",t.surrogateInInputStream="surrogate-in-input-stream",t.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",t.endTagWithAttributes="end-tag-with-attributes",t.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",t.unexpectedSolidusInTag="unexpected-solidus-in-tag",t.unexpectedNullCharacter="unexpected-null-character",t.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",t.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",t.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",t.missingEndTagName="missing-end-tag-name",t.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",t.unknownNamedCharacterReference="unknown-named-character-reference",t.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",t.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",t.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",t.eofBeforeTagName="eof-before-tag-name",t.eofInTag="eof-in-tag",t.missingAttributeValue="missing-attribute-value",t.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",t.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",t.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",t.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",t.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",t.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",t.missingDoctypePublicIdentifier="missing-doctype-public-identifier",t.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",t.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",t.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",t.cdataInHtmlContent="cdata-in-html-content",t.incorrectlyOpenedComment="incorrectly-opened-comment",t.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",t.eofInDoctype="eof-in-doctype",t.nestedComment="nested-comment",t.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",t.eofInComment="eof-in-comment",t.incorrectlyClosedComment="incorrectly-closed-comment",t.eofInCdata="eof-in-cdata",t.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",t.nullCharacterReference="null-character-reference",t.surrogateCharacterReference="surrogate-character-reference",t.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",t.controlCharacterReference="control-character-reference",t.noncharacterCharacterReference="noncharacter-character-reference",t.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",t.missingDoctypeName="missing-doctype-name",t.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",t.duplicateAttribute="duplicate-attribute",t.nonConformingDoctype="non-conforming-doctype",t.missingDoctype="missing-doctype",t.misplacedDoctype="misplaced-doctype",t.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",t.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",t.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",t.openElementsLeftAfterEof="open-elements-left-after-eof",t.abandonedHeadElementChild="abandoned-head-element-child",t.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",t.nestedNoscriptInHead="nested-noscript-in-head",t.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"}(N_||(N_={}));class v_{constructor(t){this.handler=t,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+Number(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(t,e){const{line:n,col:r,offset:i}=this,o=r+e,s=i+e;return{code:t,startLine:n,endLine:n,startCol:o,endCol:o,startOffset:s,endOffset:s}}_err(t){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(t,0)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(t){if(this.pos!==this.html.length-1){const e=this.html.charCodeAt(this.pos+1);if(function(t){return t>=56320&&t<=57343}(e))return this.pos++,this._addGap(),1024*(t-55296)+9216+e}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,m_.EOF;return this._err(N_.surrogateInInputStream),t}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(t,e){this.html.length>0?this.html+=t:this.html=t,this.endOfChunkHit=!1,this.lastChunkWritten=e}insertHtmlAtCurrentPos(t){this.html=this.html.substring(0,this.pos+1)+t+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(t,e){if(this.pos+t.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(e)return this.html.startsWith(t,this.pos);for(let e=0;e<t.length;e++){if((32|this.html.charCodeAt(this.pos+e))!==t.charCodeAt(e))return!1}return!0}peek(t){const e=this.pos+t;if(e>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,m_.EOF;const n=this.html.charCodeAt(e);return n===m_.CARRIAGE_RETURN?m_.LINE_FEED:n}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,m_.EOF;let t=this.html.charCodeAt(this.pos);if(t===m_.CARRIAGE_RETURN)return this.isEol=!0,this.skipNextNewLine=!0,m_.LINE_FEED;if(t===m_.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine))return this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance();this.skipNextNewLine=!1,D_(t)&&(t=this._processSurrogate(t));return null===this.handler.onParseError||t>31&&t<127||t===m_.LINE_FEED||t===m_.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t}_checkForProblematicCharacters(t){b_(t)?this._err(N_.controlCharacterInInputStream):M_(t)&&this._err(N_.noncharacterInInputStream)}retreat(t){for(this.pos-=t;this.pos<this.lastGapPos;)this.lastGapPos=this.gapStack.pop(),this.pos--;this.isEol=!1}}var S_;function __(t,e){for(let n=t.attrs.length-1;n>=0;n--)if(t.attrs[n].name===e)return t.attrs[n].value;return null}!function(t){t[t.CHARACTER=0]="CHARACTER",t[t.NULL_CHARACTER=1]="NULL_CHARACTER",t[t.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",t[t.START_TAG=3]="START_TAG",t[t.END_TAG=4]="END_TAG",t[t.COMMENT=5]="COMMENT",t[t.DOCTYPE=6]="DOCTYPE",t[t.EOF=7]="EOF",t[t.HIBERNATION=8]="HIBERNATION"}(S_||(S_={}));const L_=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(t=>t.charCodeAt(0)));var x_;const R_=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);x_=String.fromCodePoint;function F_(t){var e;return t>=55296&&t<=57343||t>1114111?65533:null!==(e=R_.get(t))&&void 0!==e?e:t}var O_;!function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.EQUALS=61]="EQUALS",t[t.ZERO=48]="ZERO",t[t.NINE=57]="NINE",t[t.LOWER_A=97]="LOWER_A",t[t.LOWER_F=102]="LOWER_F",t[t.LOWER_X=120]="LOWER_X",t[t.LOWER_Z=122]="LOWER_Z",t[t.UPPER_A=65]="UPPER_A",t[t.UPPER_F=70]="UPPER_F",t[t.UPPER_Z=90]="UPPER_Z"}(O_||(O_={}));var Q_,k_,U_;function P_(t){return t>=O_.ZERO&&t<=O_.NINE}function G_(t){return t>=O_.UPPER_A&&t<=O_.UPPER_F||t>=O_.LOWER_A&&t<=O_.LOWER_F}function V_(t){return t===O_.EQUALS||function(t){return t>=O_.UPPER_A&&t<=O_.UPPER_Z||t>=O_.LOWER_A&&t<=O_.LOWER_Z||P_(t)}(t)}!function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"}(Q_||(Q_={})),function(t){t[t.EntityStart=0]="EntityStart",t[t.NumericStart=1]="NumericStart",t[t.NumericDecimal=2]="NumericDecimal",t[t.NumericHex=3]="NumericHex",t[t.NamedEntity=4]="NamedEntity"}(k_||(k_={})),function(t){t[t.Legacy=0]="Legacy",t[t.Strict=1]="Strict",t[t.Attribute=2]="Attribute"}(U_||(U_={}));class H_{constructor(t,e,n){this.decodeTree=t,this.emitCodePoint=e,this.errors=n,this.state=k_.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=U_.Strict}startEntity(t){this.decodeMode=t,this.state=k_.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(t,e){switch(this.state){case k_.EntityStart:return t.charCodeAt(e)===O_.NUM?(this.state=k_.NumericStart,this.consumed+=1,this.stateNumericStart(t,e+1)):(this.state=k_.NamedEntity,this.stateNamedEntity(t,e));case k_.NumericStart:return this.stateNumericStart(t,e);case k_.NumericDecimal:return this.stateNumericDecimal(t,e);case k_.NumericHex:return this.stateNumericHex(t,e);case k_.NamedEntity:return this.stateNamedEntity(t,e)}}stateNumericStart(t,e){return e>=t.length?-1:(32|t.charCodeAt(e))===O_.LOWER_X?(this.state=k_.NumericHex,this.consumed+=1,this.stateNumericHex(t,e+1)):(this.state=k_.NumericDecimal,this.stateNumericDecimal(t,e))}addToNumericResult(t,e,n,r){if(e!==n){const i=n-e;this.result=this.result*Math.pow(r,i)+Number.parseInt(t.substr(e,i),r),this.consumed+=i}}stateNumericHex(t,e){const n=e;for(;e<t.length;){const r=t.charCodeAt(e);if(!P_(r)&&!G_(r))return this.addToNumericResult(t,n,e,16),this.emitNumericEntity(r,3);e+=1}return this.addToNumericResult(t,n,e,16),-1}stateNumericDecimal(t,e){const n=e;for(;e<t.length;){const r=t.charCodeAt(e);if(!P_(r))return this.addToNumericResult(t,n,e,10),this.emitNumericEntity(r,2);e+=1}return this.addToNumericResult(t,n,e,10),-1}emitNumericEntity(t,e){var n;if(this.consumed<=e)return null===(n=this.errors)||void 0===n||n.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(t===O_.SEMI)this.consumed+=1;else if(this.decodeMode===U_.Strict)return 0;return this.emitCodePoint(F_(this.result),this.consumed),this.errors&&(t!==O_.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(t,e){const{decodeTree:n}=this;let r=n[this.treeIndex],i=(r&Q_.VALUE_LENGTH)>>14;for(;e<t.length;e++,this.excess++){const o=t.charCodeAt(e);if(this.treeIndex=j_(n,r,this.treeIndex+Math.max(1,i),o),this.treeIndex<0)return 0===this.result||this.decodeMode===U_.Attribute&&(0===i||V_(o))?0:this.emitNotTerminatedNamedEntity();if(r=n[this.treeIndex],i=(r&Q_.VALUE_LENGTH)>>14,0!==i){if(o===O_.SEMI)return this.emitNamedEntityData(this.treeIndex,i,this.consumed+this.excess);this.decodeMode!==U_.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var t;const{result:e,decodeTree:n}=this,r=(n[e]&Q_.VALUE_LENGTH)>>14;return this.emitNamedEntityData(e,r,this.consumed),null===(t=this.errors)||void 0===t||t.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,e,n){const{decodeTree:r}=this;return this.emitCodePoint(1===e?r[t]&~Q_.VALUE_LENGTH:r[t+1],n),3===e&&this.emitCodePoint(r[t+2],n),n}end(){var t;switch(this.state){case k_.NamedEntity:return 0===this.result||this.decodeMode===U_.Attribute&&this.result!==this.treeIndex?0:this.emitNotTerminatedNamedEntity();case k_.NumericDecimal:return this.emitNumericEntity(0,2);case k_.NumericHex:return this.emitNumericEntity(0,3);case k_.NumericStart:return null===(t=this.errors)||void 0===t||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case k_.EntityStart:return 0}}}function j_(t,e,n,r){const i=(e&Q_.BRANCH_LENGTH)>>7,o=e&Q_.JUMP_TABLE;if(0===i)return 0!==o&&r===o?n:-1;if(o){const e=r-o;return e<0||e>=i?-1:t[n+e]-1}let s=n,a=s+i-1;for(;s<=a;){const e=s+a>>>1,n=t[e];if(n<r)s=e+1;else{if(!(n>r))return t[e+i];a=e-1}}return-1}var Y_,z_,J_,W_,q_;!function(t){t.HTML="http://www.w3.org/1999/xhtml",t.MATHML="http://www.w3.org/1998/Math/MathML",t.SVG="http://www.w3.org/2000/svg",t.XLINK="http://www.w3.org/1999/xlink",t.XML="http://www.w3.org/XML/1998/namespace",t.XMLNS="http://www.w3.org/2000/xmlns/"}(Y_||(Y_={})),function(t){t.TYPE="type",t.ACTION="action",t.ENCODING="encoding",t.PROMPT="prompt",t.NAME="name",t.COLOR="color",t.FACE="face",t.SIZE="size"}(z_||(z_={})),function(t){t.NO_QUIRKS="no-quirks",t.QUIRKS="quirks",t.LIMITED_QUIRKS="limited-quirks"}(J_||(J_={})),function(t){t.A="a",t.ADDRESS="address",t.ANNOTATION_XML="annotation-xml",t.APPLET="applet",t.AREA="area",t.ARTICLE="article",t.ASIDE="aside",t.B="b",t.BASE="base",t.BASEFONT="basefont",t.BGSOUND="bgsound",t.BIG="big",t.BLOCKQUOTE="blockquote",t.BODY="body",t.BR="br",t.BUTTON="button",t.CAPTION="caption",t.CENTER="center",t.CODE="code",t.COL="col",t.COLGROUP="colgroup",t.DD="dd",t.DESC="desc",t.DETAILS="details",t.DIALOG="dialog",t.DIR="dir",t.DIV="div",t.DL="dl",t.DT="dt",t.EM="em",t.EMBED="embed",t.FIELDSET="fieldset",t.FIGCAPTION="figcaption",t.FIGURE="figure",t.FONT="font",t.FOOTER="footer",t.FOREIGN_OBJECT="foreignObject",t.FORM="form",t.FRAME="frame",t.FRAMESET="frameset",t.H1="h1",t.H2="h2",t.H3="h3",t.H4="h4",t.H5="h5",t.H6="h6",t.HEAD="head",t.HEADER="header",t.HGROUP="hgroup",t.HR="hr",t.HTML="html",t.I="i",t.IMG="img",t.IMAGE="image",t.INPUT="input",t.IFRAME="iframe",t.KEYGEN="keygen",t.LABEL="label",t.LI="li",t.LINK="link",t.LISTING="listing",t.MAIN="main",t.MALIGNMARK="malignmark",t.MARQUEE="marquee",t.MATH="math",t.MENU="menu",t.META="meta",t.MGLYPH="mglyph",t.MI="mi",t.MO="mo",t.MN="mn",t.MS="ms",t.MTEXT="mtext",t.NAV="nav",t.NOBR="nobr",t.NOFRAMES="noframes",t.NOEMBED="noembed",t.NOSCRIPT="noscript",t.OBJECT="object",t.OL="ol",t.OPTGROUP="optgroup",t.OPTION="option",t.P="p",t.PARAM="param",t.PLAINTEXT="plaintext",t.PRE="pre",t.RB="rb",t.RP="rp",t.RT="rt",t.RTC="rtc",t.RUBY="ruby",t.S="s",t.SCRIPT="script",t.SEARCH="search",t.SECTION="section",t.SELECT="select",t.SOURCE="source",t.SMALL="small",t.SPAN="span",t.STRIKE="strike",t.STRONG="strong",t.STYLE="style",t.SUB="sub",t.SUMMARY="summary",t.SUP="sup",t.TABLE="table",t.TBODY="tbody",t.TEMPLATE="template",t.TEXTAREA="textarea",t.TFOOT="tfoot",t.TD="td",t.TH="th",t.THEAD="thead",t.TITLE="title",t.TR="tr",t.TRACK="track",t.TT="tt",t.U="u",t.UL="ul",t.SVG="svg",t.VAR="var",t.WBR="wbr",t.XMP="xmp"}(W_||(W_={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.A=1]="A",t[t.ADDRESS=2]="ADDRESS",t[t.ANNOTATION_XML=3]="ANNOTATION_XML",t[t.APPLET=4]="APPLET",t[t.AREA=5]="AREA",t[t.ARTICLE=6]="ARTICLE",t[t.ASIDE=7]="ASIDE",t[t.B=8]="B",t[t.BASE=9]="BASE",t[t.BASEFONT=10]="BASEFONT",t[t.BGSOUND=11]="BGSOUND",t[t.BIG=12]="BIG",t[t.BLOCKQUOTE=13]="BLOCKQUOTE",t[t.BODY=14]="BODY",t[t.BR=15]="BR",t[t.BUTTON=16]="BUTTON",t[t.CAPTION=17]="CAPTION",t[t.CENTER=18]="CENTER",t[t.CODE=19]="CODE",t[t.COL=20]="COL",t[t.COLGROUP=21]="COLGROUP",t[t.DD=22]="DD",t[t.DESC=23]="DESC",t[t.DETAILS=24]="DETAILS",t[t.DIALOG=25]="DIALOG",t[t.DIR=26]="DIR",t[t.DIV=27]="DIV",t[t.DL=28]="DL",t[t.DT=29]="DT",t[t.EM=30]="EM",t[t.EMBED=31]="EMBED",t[t.FIELDSET=32]="FIELDSET",t[t.FIGCAPTION=33]="FIGCAPTION",t[t.FIGURE=34]="FIGURE",t[t.FONT=35]="FONT",t[t.FOOTER=36]="FOOTER",t[t.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",t[t.FORM=38]="FORM",t[t.FRAME=39]="FRAME",t[t.FRAMESET=40]="FRAMESET",t[t.H1=41]="H1",t[t.H2=42]="H2",t[t.H3=43]="H3",t[t.H4=44]="H4",t[t.H5=45]="H5",t[t.H6=46]="H6",t[t.HEAD=47]="HEAD",t[t.HEADER=48]="HEADER",t[t.HGROUP=49]="HGROUP",t[t.HR=50]="HR",t[t.HTML=51]="HTML",t[t.I=52]="I",t[t.IMG=53]="IMG",t[t.IMAGE=54]="IMAGE",t[t.INPUT=55]="INPUT",t[t.IFRAME=56]="IFRAME",t[t.KEYGEN=57]="KEYGEN",t[t.LABEL=58]="LABEL",t[t.LI=59]="LI",t[t.LINK=60]="LINK",t[t.LISTING=61]="LISTING",t[t.MAIN=62]="MAIN",t[t.MALIGNMARK=63]="MALIGNMARK",t[t.MARQUEE=64]="MARQUEE",t[t.MATH=65]="MATH",t[t.MENU=66]="MENU",t[t.META=67]="META",t[t.MGLYPH=68]="MGLYPH",t[t.MI=69]="MI",t[t.MO=70]="MO",t[t.MN=71]="MN",t[t.MS=72]="MS",t[t.MTEXT=73]="MTEXT",t[t.NAV=74]="NAV",t[t.NOBR=75]="NOBR",t[t.NOFRAMES=76]="NOFRAMES",t[t.NOEMBED=77]="NOEMBED",t[t.NOSCRIPT=78]="NOSCRIPT",t[t.OBJECT=79]="OBJECT",t[t.OL=80]="OL",t[t.OPTGROUP=81]="OPTGROUP",t[t.OPTION=82]="OPTION",t[t.P=83]="P",t[t.PARAM=84]="PARAM",t[t.PLAINTEXT=85]="PLAINTEXT",t[t.PRE=86]="PRE",t[t.RB=87]="RB",t[t.RP=88]="RP",t[t.RT=89]="RT",t[t.RTC=90]="RTC",t[t.RUBY=91]="RUBY",t[t.S=92]="S",t[t.SCRIPT=93]="SCRIPT",t[t.SEARCH=94]="SEARCH",t[t.SECTION=95]="SECTION",t[t.SELECT=96]="SELECT",t[t.SOURCE=97]="SOURCE",t[t.SMALL=98]="SMALL",t[t.SPAN=99]="SPAN",t[t.STRIKE=100]="STRIKE",t[t.STRONG=101]="STRONG",t[t.STYLE=102]="STYLE",t[t.SUB=103]="SUB",t[t.SUMMARY=104]="SUMMARY",t[t.SUP=105]="SUP",t[t.TABLE=106]="TABLE",t[t.TBODY=107]="TBODY",t[t.TEMPLATE=108]="TEMPLATE",t[t.TEXTAREA=109]="TEXTAREA",t[t.TFOOT=110]="TFOOT",t[t.TD=111]="TD",t[t.TH=112]="TH",t[t.THEAD=113]="THEAD",t[t.TITLE=114]="TITLE",t[t.TR=115]="TR",t[t.TRACK=116]="TRACK",t[t.TT=117]="TT",t[t.U=118]="U",t[t.UL=119]="UL",t[t.SVG=120]="SVG",t[t.VAR=121]="VAR",t[t.WBR=122]="WBR",t[t.XMP=123]="XMP"}(q_||(q_={}));const K_=new Map([[W_.A,q_.A],[W_.ADDRESS,q_.ADDRESS],[W_.ANNOTATION_XML,q_.ANNOTATION_XML],[W_.APPLET,q_.APPLET],[W_.AREA,q_.AREA],[W_.ARTICLE,q_.ARTICLE],[W_.ASIDE,q_.ASIDE],[W_.B,q_.B],[W_.BASE,q_.BASE],[W_.BASEFONT,q_.BASEFONT],[W_.BGSOUND,q_.BGSOUND],[W_.BIG,q_.BIG],[W_.BLOCKQUOTE,q_.BLOCKQUOTE],[W_.BODY,q_.BODY],[W_.BR,q_.BR],[W_.BUTTON,q_.BUTTON],[W_.CAPTION,q_.CAPTION],[W_.CENTER,q_.CENTER],[W_.CODE,q_.CODE],[W_.COL,q_.COL],[W_.COLGROUP,q_.COLGROUP],[W_.DD,q_.DD],[W_.DESC,q_.DESC],[W_.DETAILS,q_.DETAILS],[W_.DIALOG,q_.DIALOG],[W_.DIR,q_.DIR],[W_.DIV,q_.DIV],[W_.DL,q_.DL],[W_.DT,q_.DT],[W_.EM,q_.EM],[W_.EMBED,q_.EMBED],[W_.FIELDSET,q_.FIELDSET],[W_.FIGCAPTION,q_.FIGCAPTION],[W_.FIGURE,q_.FIGURE],[W_.FONT,q_.FONT],[W_.FOOTER,q_.FOOTER],[W_.FOREIGN_OBJECT,q_.FOREIGN_OBJECT],[W_.FORM,q_.FORM],[W_.FRAME,q_.FRAME],[W_.FRAMESET,q_.FRAMESET],[W_.H1,q_.H1],[W_.H2,q_.H2],[W_.H3,q_.H3],[W_.H4,q_.H4],[W_.H5,q_.H5],[W_.H6,q_.H6],[W_.HEAD,q_.HEAD],[W_.HEADER,q_.HEADER],[W_.HGROUP,q_.HGROUP],[W_.HR,q_.HR],[W_.HTML,q_.HTML],[W_.I,q_.I],[W_.IMG,q_.IMG],[W_.IMAGE,q_.IMAGE],[W_.INPUT,q_.INPUT],[W_.IFRAME,q_.IFRAME],[W_.KEYGEN,q_.KEYGEN],[W_.LABEL,q_.LABEL],[W_.LI,q_.LI],[W_.LINK,q_.LINK],[W_.LISTING,q_.LISTING],[W_.MAIN,q_.MAIN],[W_.MALIGNMARK,q_.MALIGNMARK],[W_.MARQUEE,q_.MARQUEE],[W_.MATH,q_.MATH],[W_.MENU,q_.MENU],[W_.META,q_.META],[W_.MGLYPH,q_.MGLYPH],[W_.MI,q_.MI],[W_.MO,q_.MO],[W_.MN,q_.MN],[W_.MS,q_.MS],[W_.MTEXT,q_.MTEXT],[W_.NAV,q_.NAV],[W_.NOBR,q_.NOBR],[W_.NOFRAMES,q_.NOFRAMES],[W_.NOEMBED,q_.NOEMBED],[W_.NOSCRIPT,q_.NOSCRIPT],[W_.OBJECT,q_.OBJECT],[W_.OL,q_.OL],[W_.OPTGROUP,q_.OPTGROUP],[W_.OPTION,q_.OPTION],[W_.P,q_.P],[W_.PARAM,q_.PARAM],[W_.PLAINTEXT,q_.PLAINTEXT],[W_.PRE,q_.PRE],[W_.RB,q_.RB],[W_.RP,q_.RP],[W_.RT,q_.RT],[W_.RTC,q_.RTC],[W_.RUBY,q_.RUBY],[W_.S,q_.S],[W_.SCRIPT,q_.SCRIPT],[W_.SEARCH,q_.SEARCH],[W_.SECTION,q_.SECTION],[W_.SELECT,q_.SELECT],[W_.SOURCE,q_.SOURCE],[W_.SMALL,q_.SMALL],[W_.SPAN,q_.SPAN],[W_.STRIKE,q_.STRIKE],[W_.STRONG,q_.STRONG],[W_.STYLE,q_.STYLE],[W_.SUB,q_.SUB],[W_.SUMMARY,q_.SUMMARY],[W_.SUP,q_.SUP],[W_.TABLE,q_.TABLE],[W_.TBODY,q_.TBODY],[W_.TEMPLATE,q_.TEMPLATE],[W_.TEXTAREA,q_.TEXTAREA],[W_.TFOOT,q_.TFOOT],[W_.TD,q_.TD],[W_.TH,q_.TH],[W_.THEAD,q_.THEAD],[W_.TITLE,q_.TITLE],[W_.TR,q_.TR],[W_.TRACK,q_.TRACK],[W_.TT,q_.TT],[W_.U,q_.U],[W_.UL,q_.UL],[W_.SVG,q_.SVG],[W_.VAR,q_.VAR],[W_.WBR,q_.WBR],[W_.XMP,q_.XMP]]);function X_(t){var e;return null!==(e=K_.get(t))&&void 0!==e?e:q_.UNKNOWN}const Z_=q_,$_={[Y_.HTML]:new Set([Z_.ADDRESS,Z_.APPLET,Z_.AREA,Z_.ARTICLE,Z_.ASIDE,Z_.BASE,Z_.BASEFONT,Z_.BGSOUND,Z_.BLOCKQUOTE,Z_.BODY,Z_.BR,Z_.BUTTON,Z_.CAPTION,Z_.CENTER,Z_.COL,Z_.COLGROUP,Z_.DD,Z_.DETAILS,Z_.DIR,Z_.DIV,Z_.DL,Z_.DT,Z_.EMBED,Z_.FIELDSET,Z_.FIGCAPTION,Z_.FIGURE,Z_.FOOTER,Z_.FORM,Z_.FRAME,Z_.FRAMESET,Z_.H1,Z_.H2,Z_.H3,Z_.H4,Z_.H5,Z_.H6,Z_.HEAD,Z_.HEADER,Z_.HGROUP,Z_.HR,Z_.HTML,Z_.IFRAME,Z_.IMG,Z_.INPUT,Z_.LI,Z_.LINK,Z_.LISTING,Z_.MAIN,Z_.MARQUEE,Z_.MENU,Z_.META,Z_.NAV,Z_.NOEMBED,Z_.NOFRAMES,Z_.NOSCRIPT,Z_.OBJECT,Z_.OL,Z_.P,Z_.PARAM,Z_.PLAINTEXT,Z_.PRE,Z_.SCRIPT,Z_.SECTION,Z_.SELECT,Z_.SOURCE,Z_.STYLE,Z_.SUMMARY,Z_.TABLE,Z_.TBODY,Z_.TD,Z_.TEMPLATE,Z_.TEXTAREA,Z_.TFOOT,Z_.TH,Z_.THEAD,Z_.TITLE,Z_.TR,Z_.TRACK,Z_.UL,Z_.WBR,Z_.XMP]),[Y_.MATHML]:new Set([Z_.MI,Z_.MO,Z_.MN,Z_.MS,Z_.MTEXT,Z_.ANNOTATION_XML]),[Y_.SVG]:new Set([Z_.TITLE,Z_.FOREIGN_OBJECT,Z_.DESC]),[Y_.XLINK]:new Set,[Y_.XML]:new Set,[Y_.XMLNS]:new Set},tL=new Set([Z_.H1,Z_.H2,Z_.H3,Z_.H4,Z_.H5,Z_.H6]);new Set([W_.STYLE,W_.SCRIPT,W_.XMP,W_.IFRAME,W_.NOEMBED,W_.NOFRAMES,W_.PLAINTEXT]);var eL;!function(t){t[t.DATA=0]="DATA",t[t.RCDATA=1]="RCDATA",t[t.RAWTEXT=2]="RAWTEXT",t[t.SCRIPT_DATA=3]="SCRIPT_DATA",t[t.PLAINTEXT=4]="PLAINTEXT",t[t.TAG_OPEN=5]="TAG_OPEN",t[t.END_TAG_OPEN=6]="END_TAG_OPEN",t[t.TAG_NAME=7]="TAG_NAME",t[t.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",t[t.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",t[t.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",t[t.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",t[t.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",t[t.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",t[t.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",t[t.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",t[t.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",t[t.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",t[t.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",t[t.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",t[t.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",t[t.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",t[t.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",t[t.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",t[t.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",t[t.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",t[t.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",t[t.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",t[t.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",t[t.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",t[t.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",t[t.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",t[t.BOGUS_COMMENT=40]="BOGUS_COMMENT",t[t.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",t[t.COMMENT_START=42]="COMMENT_START",t[t.COMMENT_START_DASH=43]="COMMENT_START_DASH",t[t.COMMENT=44]="COMMENT",t[t.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",t[t.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",t[t.COMMENT_END_DASH=49]="COMMENT_END_DASH",t[t.COMMENT_END=50]="COMMENT_END",t[t.COMMENT_END_BANG=51]="COMMENT_END_BANG",t[t.DOCTYPE=52]="DOCTYPE",t[t.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",t[t.DOCTYPE_NAME=54]="DOCTYPE_NAME",t[t.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",t[t.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",t[t.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",t[t.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",t[t.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",t[t.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",t[t.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",t[t.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",t[t.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",t[t.CDATA_SECTION=68]="CDATA_SECTION",t[t.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",t[t.CDATA_SECTION_END=70]="CDATA_SECTION_END",t[t.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",t[t.AMBIGUOUS_AMPERSAND=72]="AMBIGUOUS_AMPERSAND"}(eL||(eL={}));const nL={DATA:eL.DATA,RCDATA:eL.RCDATA,RAWTEXT:eL.RAWTEXT,SCRIPT_DATA:eL.SCRIPT_DATA,PLAINTEXT:eL.PLAINTEXT,CDATA_SECTION:eL.CDATA_SECTION};function rL(t){return t>=m_.LATIN_CAPITAL_A&&t<=m_.LATIN_CAPITAL_Z}function iL(t){return function(t){return t>=m_.LATIN_SMALL_A&&t<=m_.LATIN_SMALL_Z}(t)||rL(t)}function oL(t){return iL(t)||function(t){return t>=m_.DIGIT_0&&t<=m_.DIGIT_9}(t)}function sL(t){return t+32}function aL(t){return t===m_.SPACE||t===m_.LINE_FEED||t===m_.TABULATION||t===m_.FORM_FEED}function cL(t){return aL(t)||t===m_.SOLIDUS||t===m_.GREATER_THAN_SIGN}class lL{constructor(t,e){this.options=t,this.handler=e,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=eL.DATA,this.returnState=eL.DATA,this.entityStartPos=0,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new v_(e),this.currentLocation=this.getCurrentLocation(-1),this.entityDecoder=new H_(L_,(t,e)=>{this.preprocessor.pos=this.entityStartPos+e-1,this._flushCodePointConsumedAsCharacterReference(t)},e.onParseError?{missingSemicolonAfterCharacterReference:()=>{this._err(N_.missingSemicolonAfterCharacterReference,1)},absenceOfDigitsInNumericCharacterReference:t=>{this._err(N_.absenceOfDigitsInNumericCharacterReference,this.entityStartPos-this.preprocessor.pos+t)},validateNumericCharacterReference:t=>{const e=function(t){return t===m_.NULL?N_.nullCharacterReference:t>1114111?N_.characterReferenceOutsideUnicodeRange:D_(t)?N_.surrogateCharacterReference:M_(t)?N_.noncharacterCharacterReference:b_(t)||t===m_.CARRIAGE_RETURN?N_.controlCharacterReference:null}(t);e&&this._err(e,1)}}:void 0)}_err(t,e=0){var n,r;null===(r=(n=this.handler).onParseError)||void 0===r||r.call(n,this.preprocessor.getError(t,e))}getCurrentLocation(t){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-t,startOffset:this.preprocessor.offset-t,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;const t=this._consume();this._ensureHibernation()||this._callState(t)}this.inLoop=!1}}pause(){this.paused=!0}resume(t){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,this.inLoop||(this._runParsingLoop(),this.paused||null==t||t())}write(t,e,n){this.active=!0,this.preprocessor.write(t,e),this._runParsingLoop(),this.paused||null==n||n()}insertHtmlAtCurrentPos(t){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(t),this._runParsingLoop()}_ensureHibernation(){return!!this.preprocessor.endOfChunkHit&&(this.preprocessor.retreat(this.consumedAfterSnapshot),this.consumedAfterSnapshot=0,this.active=!1,!0)}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_advanceBy(t){this.consumedAfterSnapshot+=t;for(let e=0;e<t;e++)this.preprocessor.advance()}_consumeSequenceIfMatch(t,e){return!!this.preprocessor.startsWith(t,e)&&(this._advanceBy(t.length-1),!0)}_createStartTagToken(){this.currentToken={type:S_.START_TAG,tagName:"",tagID:q_.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(1)}}_createEndTagToken(){this.currentToken={type:S_.END_TAG,tagName:"",tagID:q_.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(2)}}_createCommentToken(t){this.currentToken={type:S_.COMMENT,data:"",location:this.getCurrentLocation(t)}}_createDoctypeToken(t){this.currentToken={type:S_.DOCTYPE,name:t,forceQuirks:!1,publicId:null,systemId:null,location:this.currentLocation}}_createCharacterToken(t,e){this.currentCharacterToken={type:t,chars:e,location:this.currentLocation}}_createAttr(t){this.currentAttr={name:t,value:""},this.currentLocation=this.getCurrentLocation(0)}_leaveAttrName(){var t,e;const n=this.currentToken;if(null===__(n,this.currentAttr.name)){if(n.attrs.push(this.currentAttr),n.location&&this.currentLocation){(null!==(t=(e=n.location).attrs)&&void 0!==t?t:e.attrs=Object.create(null))[this.currentAttr.name]=this.currentLocation,this._leaveAttrValue()}}else this._err(N_.duplicateAttribute)}_leaveAttrValue(){this.currentLocation&&(this.currentLocation.endLine=this.preprocessor.line,this.currentLocation.endCol=this.preprocessor.col,this.currentLocation.endOffset=this.preprocessor.offset)}prepareToken(t){this._emitCurrentCharacterToken(t.location),this.currentToken=null,t.location&&(t.location.endLine=this.preprocessor.line,t.location.endCol=this.preprocessor.col+1,t.location.endOffset=this.preprocessor.offset+1),this.currentLocation=this.getCurrentLocation(-1)}emitCurrentTagToken(){const t=this.currentToken;this.prepareToken(t),t.tagID=X_(t.tagName),t.type===S_.START_TAG?(this.lastStartTagName=t.tagName,this.handler.onStartTag(t)):(t.attrs.length>0&&this._err(N_.endTagWithAttributes),t.selfClosing&&this._err(N_.endTagWithTrailingSolidus),this.handler.onEndTag(t)),this.preprocessor.dropParsedChunk()}emitCurrentComment(t){this.prepareToken(t),this.handler.onComment(t),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(t){this.prepareToken(t),this.handler.onDoctype(t),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(t){if(this.currentCharacterToken){switch(t&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=t.startLine,this.currentCharacterToken.location.endCol=t.startCol,this.currentCharacterToken.location.endOffset=t.startOffset),this.currentCharacterToken.type){case S_.CHARACTER:this.handler.onCharacter(this.currentCharacterToken);break;case S_.NULL_CHARACTER:this.handler.onNullCharacter(this.currentCharacterToken);break;case S_.WHITESPACE_CHARACTER:this.handler.onWhitespaceCharacter(this.currentCharacterToken)}this.currentCharacterToken=null}}_emitEOFToken(){const t=this.getCurrentLocation(0);t&&(t.endLine=t.startLine,t.endCol=t.startCol,t.endOffset=t.startOffset),this._emitCurrentCharacterToken(t),this.handler.onEof({type:S_.EOF,location:t}),this.active=!1}_appendCharToCurrentCharacterToken(t,e){if(this.currentCharacterToken){if(this.currentCharacterToken.type===t)return void(this.currentCharacterToken.chars+=e);this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk()}this._createCharacterToken(t,e)}_emitCodePoint(t){const e=aL(t)?S_.WHITESPACE_CHARACTER:t===m_.NULL?S_.NULL_CHARACTER:S_.CHARACTER;this._appendCharToCurrentCharacterToken(e,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(S_.CHARACTER,t)}_startCharacterReference(){this.returnState=this.state,this.state=eL.CHARACTER_REFERENCE,this.entityStartPos=this.preprocessor.pos,this.entityDecoder.startEntity(this._isCharacterReferenceInAttribute()?U_.Attribute:U_.Legacy)}_isCharacterReferenceInAttribute(){return this.returnState===eL.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===eL.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===eL.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case eL.DATA:this._stateData(t);break;case eL.RCDATA:this._stateRcdata(t);break;case eL.RAWTEXT:this._stateRawtext(t);break;case eL.SCRIPT_DATA:this._stateScriptData(t);break;case eL.PLAINTEXT:this._statePlaintext(t);break;case eL.TAG_OPEN:this._stateTagOpen(t);break;case eL.END_TAG_OPEN:this._stateEndTagOpen(t);break;case eL.TAG_NAME:this._stateTagName(t);break;case eL.RCDATA_LESS_THAN_SIGN:this._stateRcdataLessThanSign(t);break;case eL.RCDATA_END_TAG_OPEN:this._stateRcdataEndTagOpen(t);break;case eL.RCDATA_END_TAG_NAME:this._stateRcdataEndTagName(t);break;case eL.RAWTEXT_LESS_THAN_SIGN:this._stateRawtextLessThanSign(t);break;case eL.RAWTEXT_END_TAG_OPEN:this._stateRawtextEndTagOpen(t);break;case eL.RAWTEXT_END_TAG_NAME:this._stateRawtextEndTagName(t);break;case eL.SCRIPT_DATA_LESS_THAN_SIGN:this._stateScriptDataLessThanSign(t);break;case eL.SCRIPT_DATA_END_TAG_OPEN:this._stateScriptDataEndTagOpen(t);break;case eL.SCRIPT_DATA_END_TAG_NAME:this._stateScriptDataEndTagName(t);break;case eL.SCRIPT_DATA_ESCAPE_START:this._stateScriptDataEscapeStart(t);break;case eL.SCRIPT_DATA_ESCAPE_START_DASH:this._stateScriptDataEscapeStartDash(t);break;case eL.SCRIPT_DATA_ESCAPED:this._stateScriptDataEscaped(t);break;case eL.SCRIPT_DATA_ESCAPED_DASH:this._stateScriptDataEscapedDash(t);break;case eL.SCRIPT_DATA_ESCAPED_DASH_DASH:this._stateScriptDataEscapedDashDash(t);break;case eL.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataEscapedLessThanSign(t);break;case eL.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:this._stateScriptDataEscapedEndTagOpen(t);break;case eL.SCRIPT_DATA_ESCAPED_END_TAG_NAME:this._stateScriptDataEscapedEndTagName(t);break;case eL.SCRIPT_DATA_DOUBLE_ESCAPE_START:this._stateScriptDataDoubleEscapeStart(t);break;case eL.SCRIPT_DATA_DOUBLE_ESCAPED:this._stateScriptDataDoubleEscaped(t);break;case eL.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:this._stateScriptDataDoubleEscapedDash(t);break;case eL.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:this._stateScriptDataDoubleEscapedDashDash(t);break;case eL.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataDoubleEscapedLessThanSign(t);break;case eL.SCRIPT_DATA_DOUBLE_ESCAPE_END:this._stateScriptDataDoubleEscapeEnd(t);break;case eL.BEFORE_ATTRIBUTE_NAME:this._stateBeforeAttributeName(t);break;case eL.ATTRIBUTE_NAME:this._stateAttributeName(t);break;case eL.AFTER_ATTRIBUTE_NAME:this._stateAfterAttributeName(t);break;case eL.BEFORE_ATTRIBUTE_VALUE:this._stateBeforeAttributeValue(t);break;case eL.ATTRIBUTE_VALUE_DOUBLE_QUOTED:this._stateAttributeValueDoubleQuoted(t);break;case eL.ATTRIBUTE_VALUE_SINGLE_QUOTED:this._stateAttributeValueSingleQuoted(t);break;case eL.ATTRIBUTE_VALUE_UNQUOTED:this._stateAttributeValueUnquoted(t);break;case eL.AFTER_ATTRIBUTE_VALUE_QUOTED:this._stateAfterAttributeValueQuoted(t);break;case eL.SELF_CLOSING_START_TAG:this._stateSelfClosingStartTag(t);break;case eL.BOGUS_COMMENT:this._stateBogusComment(t);break;case eL.MARKUP_DECLARATION_OPEN:this._stateMarkupDeclarationOpen(t);break;case eL.COMMENT_START:this._stateCommentStart(t);break;case eL.COMMENT_START_DASH:this._stateCommentStartDash(t);break;case eL.COMMENT:this._stateComment(t);break;case eL.COMMENT_LESS_THAN_SIGN:this._stateCommentLessThanSign(t);break;case eL.COMMENT_LESS_THAN_SIGN_BANG:this._stateCommentLessThanSignBang(t);break;case eL.COMMENT_LESS_THAN_SIGN_BANG_DASH:this._stateCommentLessThanSignBangDash(t);break;case eL.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:this._stateCommentLessThanSignBangDashDash(t);break;case eL.COMMENT_END_DASH:this._stateCommentEndDash(t);break;case eL.COMMENT_END:this._stateCommentEnd(t);break;case eL.COMMENT_END_BANG:this._stateCommentEndBang(t);break;case eL.DOCTYPE:this._stateDoctype(t);break;case eL.BEFORE_DOCTYPE_NAME:this._stateBeforeDoctypeName(t);break;case eL.DOCTYPE_NAME:this._stateDoctypeName(t);break;case eL.AFTER_DOCTYPE_NAME:this._stateAfterDoctypeName(t);break;case eL.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._stateAfterDoctypePublicKeyword(t);break;case eL.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:this._stateBeforeDoctypePublicIdentifier(t);break;case eL.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypePublicIdentifierDoubleQuoted(t);break;case eL.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypePublicIdentifierSingleQuoted(t);break;case eL.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:this._stateAfterDoctypePublicIdentifier(t);break;case eL.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break;case eL.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._stateAfterDoctypeSystemKeyword(t);break;case eL.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:this._stateBeforeDoctypeSystemIdentifier(t);break;case eL.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypeSystemIdentifierDoubleQuoted(t);break;case eL.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypeSystemIdentifierSingleQuoted(t);break;case eL.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:this._stateAfterDoctypeSystemIdentifier(t);break;case eL.BOGUS_DOCTYPE:this._stateBogusDoctype(t);break;case eL.CDATA_SECTION:this._stateCdataSection(t);break;case eL.CDATA_SECTION_BRACKET:this._stateCdataSectionBracket(t);break;case eL.CDATA_SECTION_END:this._stateCdataSectionEnd(t);break;case eL.CHARACTER_REFERENCE:this._stateCharacterReference();break;case eL.AMBIGUOUS_AMPERSAND:this._stateAmbiguousAmpersand(t);break;default:throw new Error("Unknown state")}}_stateData(t){switch(t){case m_.LESS_THAN_SIGN:this.state=eL.TAG_OPEN;break;case m_.AMPERSAND:this._startCharacterReference();break;case m_.NULL:this._err(N_.unexpectedNullCharacter),this._emitCodePoint(t);break;case m_.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case m_.AMPERSAND:this._startCharacterReference();break;case m_.LESS_THAN_SIGN:this.state=eL.RCDATA_LESS_THAN_SIGN;break;case m_.NULL:this._err(N_.unexpectedNullCharacter),this._emitChars(E_);break;case m_.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case m_.LESS_THAN_SIGN:this.state=eL.RAWTEXT_LESS_THAN_SIGN;break;case m_.NULL:this._err(N_.unexpectedNullCharacter),this._emitChars(E_);break;case m_.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case m_.LESS_THAN_SIGN:this.state=eL.SCRIPT_DATA_LESS_THAN_SIGN;break;case m_.NULL:this._err(N_.unexpectedNullCharacter),this._emitChars(E_);break;case m_.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case m_.NULL:this._err(N_.unexpectedNullCharacter),this._emitChars(E_);break;case m_.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateTagOpen(t){if(iL(t))this._createStartTagToken(),this.state=eL.TAG_NAME,this._stateTagName(t);else switch(t){case m_.EXCLAMATION_MARK:this.state=eL.MARKUP_DECLARATION_OPEN;break;case m_.SOLIDUS:this.state=eL.END_TAG_OPEN;break;case m_.QUESTION_MARK:this._err(N_.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=eL.BOGUS_COMMENT,this._stateBogusComment(t);break;case m_.EOF:this._err(N_.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break;default:this._err(N_.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=eL.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(iL(t))this._createEndTagToken(),this.state=eL.TAG_NAME,this._stateTagName(t);else switch(t){case m_.GREATER_THAN_SIGN:this._err(N_.missingEndTagName),this.state=eL.DATA;break;case m_.EOF:this._err(N_.eofBeforeTagName),this._emitChars("</"),this._emitEOFToken();break;default:this._err(N_.invalidFirstCharacterOfTagName),this._createCommentToken(2),this.state=eL.BOGUS_COMMENT,this._stateBogusComment(t)}}_stateTagName(t){const e=this.currentToken;switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:this.state=eL.BEFORE_ATTRIBUTE_NAME;break;case m_.SOLIDUS:this.state=eL.SELF_CLOSING_START_TAG;break;case m_.GREATER_THAN_SIGN:this.state=eL.DATA,this.emitCurrentTagToken();break;case m_.NULL:this._err(N_.unexpectedNullCharacter),e.tagName+=E_;break;case m_.EOF:this._err(N_.eofInTag),this._emitEOFToken();break;default:e.tagName+=String.fromCodePoint(rL(t)?sL(t):t)}}_stateRcdataLessThanSign(t){t===m_.SOLIDUS?this.state=eL.RCDATA_END_TAG_OPEN:(this._emitChars("<"),this.state=eL.RCDATA,this._stateRcdata(t))}_stateRcdataEndTagOpen(t){iL(t)?(this.state=eL.RCDATA_END_TAG_NAME,this._stateRcdataEndTagName(t)):(this._emitChars("</"),this.state=eL.RCDATA,this._stateRcdata(t))}handleSpecialEndTag(t){if(!this.preprocessor.startsWith(this.lastStartTagName,!1))return!this._ensureHibernation();this._createEndTagToken();this.currentToken.tagName=this.lastStartTagName;switch(this.preprocessor.peek(this.lastStartTagName.length)){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:return this._advanceBy(this.lastStartTagName.length),this.state=eL.BEFORE_ATTRIBUTE_NAME,!1;case m_.SOLIDUS:return this._advanceBy(this.lastStartTagName.length),this.state=eL.SELF_CLOSING_START_TAG,!1;case m_.GREATER_THAN_SIGN:return this._advanceBy(this.lastStartTagName.length),this.emitCurrentTagToken(),this.state=eL.DATA,!1;default:return!this._ensureHibernation()}}_stateRcdataEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=eL.RCDATA,this._stateRcdata(t))}_stateRawtextLessThanSign(t){t===m_.SOLIDUS?this.state=eL.RAWTEXT_END_TAG_OPEN:(this._emitChars("<"),this.state=eL.RAWTEXT,this._stateRawtext(t))}_stateRawtextEndTagOpen(t){iL(t)?(this.state=eL.RAWTEXT_END_TAG_NAME,this._stateRawtextEndTagName(t)):(this._emitChars("</"),this.state=eL.RAWTEXT,this._stateRawtext(t))}_stateRawtextEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=eL.RAWTEXT,this._stateRawtext(t))}_stateScriptDataLessThanSign(t){switch(t){case m_.SOLIDUS:this.state=eL.SCRIPT_DATA_END_TAG_OPEN;break;case m_.EXCLAMATION_MARK:this.state=eL.SCRIPT_DATA_ESCAPE_START,this._emitChars("<!");break;default:this._emitChars("<"),this.state=eL.SCRIPT_DATA,this._stateScriptData(t)}}_stateScriptDataEndTagOpen(t){iL(t)?(this.state=eL.SCRIPT_DATA_END_TAG_NAME,this._stateScriptDataEndTagName(t)):(this._emitChars("</"),this.state=eL.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=eL.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscapeStart(t){t===m_.HYPHEN_MINUS?(this.state=eL.SCRIPT_DATA_ESCAPE_START_DASH,this._emitChars("-")):(this.state=eL.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscapeStartDash(t){t===m_.HYPHEN_MINUS?(this.state=eL.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-")):(this.state=eL.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscaped(t){switch(t){case m_.HYPHEN_MINUS:this.state=eL.SCRIPT_DATA_ESCAPED_DASH,this._emitChars("-");break;case m_.LESS_THAN_SIGN:this.state=eL.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case m_.NULL:this._err(N_.unexpectedNullCharacter),this._emitChars(E_);break;case m_.EOF:this._err(N_.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptDataEscapedDash(t){switch(t){case m_.HYPHEN_MINUS:this.state=eL.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-");break;case m_.LESS_THAN_SIGN:this.state=eL.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case m_.NULL:this._err(N_.unexpectedNullCharacter),this.state=eL.SCRIPT_DATA_ESCAPED,this._emitChars(E_);break;case m_.EOF:this._err(N_.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=eL.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedDashDash(t){switch(t){case m_.HYPHEN_MINUS:this._emitChars("-");break;case m_.LESS_THAN_SIGN:this.state=eL.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case m_.GREATER_THAN_SIGN:this.state=eL.SCRIPT_DATA,this._emitChars(">");break;case m_.NULL:this._err(N_.unexpectedNullCharacter),this.state=eL.SCRIPT_DATA_ESCAPED,this._emitChars(E_);break;case m_.EOF:this._err(N_.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=eL.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===m_.SOLIDUS?this.state=eL.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:iL(t)?(this._emitChars("<"),this.state=eL.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=eL.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){iL(t)?(this.state=eL.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("</"),this.state=eL.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=eL.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataDoubleEscapeStart(t){if(this.preprocessor.startsWith(C_,!1)&&cL(this.preprocessor.peek(C_.length))){this._emitCodePoint(t);for(let t=0;t<C_.length;t++)this._emitCodePoint(this._consume());this.state=eL.SCRIPT_DATA_DOUBLE_ESCAPED}else this._ensureHibernation()||(this.state=eL.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataDoubleEscaped(t){switch(t){case m_.HYPHEN_MINUS:this.state=eL.SCRIPT_DATA_DOUBLE_ESCAPED_DASH,this._emitChars("-");break;case m_.LESS_THAN_SIGN:this.state=eL.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case m_.NULL:this._err(N_.unexpectedNullCharacter),this._emitChars(E_);break;case m_.EOF:this._err(N_.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedDash(t){switch(t){case m_.HYPHEN_MINUS:this.state=eL.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH,this._emitChars("-");break;case m_.LESS_THAN_SIGN:this.state=eL.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case m_.NULL:this._err(N_.unexpectedNullCharacter),this.state=eL.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(E_);break;case m_.EOF:this._err(N_.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=eL.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedDashDash(t){switch(t){case m_.HYPHEN_MINUS:this._emitChars("-");break;case m_.LESS_THAN_SIGN:this.state=eL.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case m_.GREATER_THAN_SIGN:this.state=eL.SCRIPT_DATA,this._emitChars(">");break;case m_.NULL:this._err(N_.unexpectedNullCharacter),this.state=eL.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(E_);break;case m_.EOF:this._err(N_.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=eL.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===m_.SOLIDUS?(this.state=eL.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=eL.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith(C_,!1)&&cL(this.preprocessor.peek(C_.length))){this._emitCodePoint(t);for(let t=0;t<C_.length;t++)this._emitCodePoint(this._consume());this.state=eL.SCRIPT_DATA_ESCAPED}else this._ensureHibernation()||(this.state=eL.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateBeforeAttributeName(t){switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:break;case m_.SOLIDUS:case m_.GREATER_THAN_SIGN:case m_.EOF:this.state=eL.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(t);break;case m_.EQUALS_SIGN:this._err(N_.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=eL.ATTRIBUTE_NAME;break;default:this._createAttr(""),this.state=eL.ATTRIBUTE_NAME,this._stateAttributeName(t)}}_stateAttributeName(t){switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:case m_.SOLIDUS:case m_.GREATER_THAN_SIGN:case m_.EOF:this._leaveAttrName(),this.state=eL.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(t);break;case m_.EQUALS_SIGN:this._leaveAttrName(),this.state=eL.BEFORE_ATTRIBUTE_VALUE;break;case m_.QUOTATION_MARK:case m_.APOSTROPHE:case m_.LESS_THAN_SIGN:this._err(N_.unexpectedCharacterInAttributeName),this.currentAttr.name+=String.fromCodePoint(t);break;case m_.NULL:this._err(N_.unexpectedNullCharacter),this.currentAttr.name+=E_;break;default:this.currentAttr.name+=String.fromCodePoint(rL(t)?sL(t):t)}}_stateAfterAttributeName(t){switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:break;case m_.SOLIDUS:this.state=eL.SELF_CLOSING_START_TAG;break;case m_.EQUALS_SIGN:this.state=eL.BEFORE_ATTRIBUTE_VALUE;break;case m_.GREATER_THAN_SIGN:this.state=eL.DATA,this.emitCurrentTagToken();break;case m_.EOF:this._err(N_.eofInTag),this._emitEOFToken();break;default:this._createAttr(""),this.state=eL.ATTRIBUTE_NAME,this._stateAttributeName(t)}}_stateBeforeAttributeValue(t){switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:break;case m_.QUOTATION_MARK:this.state=eL.ATTRIBUTE_VALUE_DOUBLE_QUOTED;break;case m_.APOSTROPHE:this.state=eL.ATTRIBUTE_VALUE_SINGLE_QUOTED;break;case m_.GREATER_THAN_SIGN:this._err(N_.missingAttributeValue),this.state=eL.DATA,this.emitCurrentTagToken();break;default:this.state=eL.ATTRIBUTE_VALUE_UNQUOTED,this._stateAttributeValueUnquoted(t)}}_stateAttributeValueDoubleQuoted(t){switch(t){case m_.QUOTATION_MARK:this.state=eL.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case m_.AMPERSAND:this._startCharacterReference();break;case m_.NULL:this._err(N_.unexpectedNullCharacter),this.currentAttr.value+=E_;break;case m_.EOF:this._err(N_.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAttributeValueSingleQuoted(t){switch(t){case m_.APOSTROPHE:this.state=eL.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case m_.AMPERSAND:this._startCharacterReference();break;case m_.NULL:this._err(N_.unexpectedNullCharacter),this.currentAttr.value+=E_;break;case m_.EOF:this._err(N_.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAttributeValueUnquoted(t){switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:this._leaveAttrValue(),this.state=eL.BEFORE_ATTRIBUTE_NAME;break;case m_.AMPERSAND:this._startCharacterReference();break;case m_.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=eL.DATA,this.emitCurrentTagToken();break;case m_.NULL:this._err(N_.unexpectedNullCharacter),this.currentAttr.value+=E_;break;case m_.QUOTATION_MARK:case m_.APOSTROPHE:case m_.LESS_THAN_SIGN:case m_.EQUALS_SIGN:case m_.GRAVE_ACCENT:this._err(N_.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=String.fromCodePoint(t);break;case m_.EOF:this._err(N_.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAfterAttributeValueQuoted(t){switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:this._leaveAttrValue(),this.state=eL.BEFORE_ATTRIBUTE_NAME;break;case m_.SOLIDUS:this._leaveAttrValue(),this.state=eL.SELF_CLOSING_START_TAG;break;case m_.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=eL.DATA,this.emitCurrentTagToken();break;case m_.EOF:this._err(N_.eofInTag),this._emitEOFToken();break;default:this._err(N_.missingWhitespaceBetweenAttributes),this.state=eL.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(t)}}_stateSelfClosingStartTag(t){switch(t){case m_.GREATER_THAN_SIGN:this.currentToken.selfClosing=!0,this.state=eL.DATA,this.emitCurrentTagToken();break;case m_.EOF:this._err(N_.eofInTag),this._emitEOFToken();break;default:this._err(N_.unexpectedSolidusInTag),this.state=eL.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(t)}}_stateBogusComment(t){const e=this.currentToken;switch(t){case m_.GREATER_THAN_SIGN:this.state=eL.DATA,this.emitCurrentComment(e);break;case m_.EOF:this.emitCurrentComment(e),this._emitEOFToken();break;case m_.NULL:this._err(N_.unexpectedNullCharacter),e.data+=E_;break;default:e.data+=String.fromCodePoint(t)}}_stateMarkupDeclarationOpen(t){this._consumeSequenceIfMatch(w_,!0)?(this._createCommentToken(w_.length+1),this.state=eL.COMMENT_START):this._consumeSequenceIfMatch(I_,!1)?(this.currentLocation=this.getCurrentLocation(I_.length+1),this.state=eL.DOCTYPE):this._consumeSequenceIfMatch(y_,!0)?this.inForeignNode?this.state=eL.CDATA_SECTION:(this._err(N_.cdataInHtmlContent),this._createCommentToken(y_.length+1),this.currentToken.data="[CDATA[",this.state=eL.BOGUS_COMMENT):this._ensureHibernation()||(this._err(N_.incorrectlyOpenedComment),this._createCommentToken(2),this.state=eL.BOGUS_COMMENT,this._stateBogusComment(t))}_stateCommentStart(t){switch(t){case m_.HYPHEN_MINUS:this.state=eL.COMMENT_START_DASH;break;case m_.GREATER_THAN_SIGN:{this._err(N_.abruptClosingOfEmptyComment),this.state=eL.DATA;const t=this.currentToken;this.emitCurrentComment(t);break}default:this.state=eL.COMMENT,this._stateComment(t)}}_stateCommentStartDash(t){const e=this.currentToken;switch(t){case m_.HYPHEN_MINUS:this.state=eL.COMMENT_END;break;case m_.GREATER_THAN_SIGN:this._err(N_.abruptClosingOfEmptyComment),this.state=eL.DATA,this.emitCurrentComment(e);break;case m_.EOF:this._err(N_.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="-",this.state=eL.COMMENT,this._stateComment(t)}}_stateComment(t){const e=this.currentToken;switch(t){case m_.HYPHEN_MINUS:this.state=eL.COMMENT_END_DASH;break;case m_.LESS_THAN_SIGN:e.data+="<",this.state=eL.COMMENT_LESS_THAN_SIGN;break;case m_.NULL:this._err(N_.unexpectedNullCharacter),e.data+=E_;break;case m_.EOF:this._err(N_.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+=String.fromCodePoint(t)}}_stateCommentLessThanSign(t){const e=this.currentToken;switch(t){case m_.EXCLAMATION_MARK:e.data+="!",this.state=eL.COMMENT_LESS_THAN_SIGN_BANG;break;case m_.LESS_THAN_SIGN:e.data+="<";break;default:this.state=eL.COMMENT,this._stateComment(t)}}_stateCommentLessThanSignBang(t){t===m_.HYPHEN_MINUS?this.state=eL.COMMENT_LESS_THAN_SIGN_BANG_DASH:(this.state=eL.COMMENT,this._stateComment(t))}_stateCommentLessThanSignBangDash(t){t===m_.HYPHEN_MINUS?this.state=eL.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:(this.state=eL.COMMENT_END_DASH,this._stateCommentEndDash(t))}_stateCommentLessThanSignBangDashDash(t){t!==m_.GREATER_THAN_SIGN&&t!==m_.EOF&&this._err(N_.nestedComment),this.state=eL.COMMENT_END,this._stateCommentEnd(t)}_stateCommentEndDash(t){const e=this.currentToken;switch(t){case m_.HYPHEN_MINUS:this.state=eL.COMMENT_END;break;case m_.EOF:this._err(N_.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="-",this.state=eL.COMMENT,this._stateComment(t)}}_stateCommentEnd(t){const e=this.currentToken;switch(t){case m_.GREATER_THAN_SIGN:this.state=eL.DATA,this.emitCurrentComment(e);break;case m_.EXCLAMATION_MARK:this.state=eL.COMMENT_END_BANG;break;case m_.HYPHEN_MINUS:e.data+="-";break;case m_.EOF:this._err(N_.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="--",this.state=eL.COMMENT,this._stateComment(t)}}_stateCommentEndBang(t){const e=this.currentToken;switch(t){case m_.HYPHEN_MINUS:e.data+="--!",this.state=eL.COMMENT_END_DASH;break;case m_.GREATER_THAN_SIGN:this._err(N_.incorrectlyClosedComment),this.state=eL.DATA,this.emitCurrentComment(e);break;case m_.EOF:this._err(N_.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="--!",this.state=eL.COMMENT,this._stateComment(t)}}_stateDoctype(t){switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:this.state=eL.BEFORE_DOCTYPE_NAME;break;case m_.GREATER_THAN_SIGN:this.state=eL.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(t);break;case m_.EOF:{this._err(N_.eofInDoctype),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._err(N_.missingWhitespaceBeforeDoctypeName),this.state=eL.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(t)}}_stateBeforeDoctypeName(t){if(rL(t))this._createDoctypeToken(String.fromCharCode(sL(t))),this.state=eL.DOCTYPE_NAME;else switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:break;case m_.NULL:this._err(N_.unexpectedNullCharacter),this._createDoctypeToken(E_),this.state=eL.DOCTYPE_NAME;break;case m_.GREATER_THAN_SIGN:{this._err(N_.missingDoctypeName),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=eL.DATA;break}case m_.EOF:{this._err(N_.eofInDoctype),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._createDoctypeToken(String.fromCodePoint(t)),this.state=eL.DOCTYPE_NAME}}_stateDoctypeName(t){const e=this.currentToken;switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:this.state=eL.AFTER_DOCTYPE_NAME;break;case m_.GREATER_THAN_SIGN:this.state=eL.DATA,this.emitCurrentDoctype(e);break;case m_.NULL:this._err(N_.unexpectedNullCharacter),e.name+=E_;break;case m_.EOF:this._err(N_.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.name+=String.fromCodePoint(rL(t)?sL(t):t)}}_stateAfterDoctypeName(t){const e=this.currentToken;switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:break;case m_.GREATER_THAN_SIGN:this.state=eL.DATA,this.emitCurrentDoctype(e);break;case m_.EOF:this._err(N_.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._consumeSequenceIfMatch(B_,!1)?this.state=eL.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._consumeSequenceIfMatch(T_,!1)?this.state=eL.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._ensureHibernation()||(this._err(N_.invalidCharacterSequenceAfterDoctypeName),e.forceQuirks=!0,this.state=eL.BOGUS_DOCTYPE,this._stateBogusDoctype(t))}}_stateAfterDoctypePublicKeyword(t){const e=this.currentToken;switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:this.state=eL.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;break;case m_.QUOTATION_MARK:this._err(N_.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=eL.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case m_.APOSTROPHE:this._err(N_.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=eL.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case m_.GREATER_THAN_SIGN:this._err(N_.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=eL.DATA,this.emitCurrentDoctype(e);break;case m_.EOF:this._err(N_.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(N_.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=eL.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBeforeDoctypePublicIdentifier(t){const e=this.currentToken;switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:break;case m_.QUOTATION_MARK:e.publicId="",this.state=eL.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case m_.APOSTROPHE:e.publicId="",this.state=eL.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case m_.GREATER_THAN_SIGN:this._err(N_.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=eL.DATA,this.emitCurrentDoctype(e);break;case m_.EOF:this._err(N_.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(N_.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=eL.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateDoctypePublicIdentifierDoubleQuoted(t){const e=this.currentToken;switch(t){case m_.QUOTATION_MARK:this.state=eL.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case m_.NULL:this._err(N_.unexpectedNullCharacter),e.publicId+=E_;break;case m_.GREATER_THAN_SIGN:this._err(N_.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=eL.DATA;break;case m_.EOF:this._err(N_.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.publicId+=String.fromCodePoint(t)}}_stateDoctypePublicIdentifierSingleQuoted(t){const e=this.currentToken;switch(t){case m_.APOSTROPHE:this.state=eL.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case m_.NULL:this._err(N_.unexpectedNullCharacter),e.publicId+=E_;break;case m_.GREATER_THAN_SIGN:this._err(N_.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=eL.DATA;break;case m_.EOF:this._err(N_.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.publicId+=String.fromCodePoint(t)}}_stateAfterDoctypePublicIdentifier(t){const e=this.currentToken;switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:this.state=eL.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;break;case m_.GREATER_THAN_SIGN:this.state=eL.DATA,this.emitCurrentDoctype(e);break;case m_.QUOTATION_MARK:this._err(N_.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=eL.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case m_.APOSTROPHE:this._err(N_.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=eL.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case m_.EOF:this._err(N_.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(N_.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=eL.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBetweenDoctypePublicAndSystemIdentifiers(t){const e=this.currentToken;switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:break;case m_.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=eL.DATA;break;case m_.QUOTATION_MARK:e.systemId="",this.state=eL.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case m_.APOSTROPHE:e.systemId="",this.state=eL.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case m_.EOF:this._err(N_.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(N_.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=eL.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateAfterDoctypeSystemKeyword(t){const e=this.currentToken;switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:this.state=eL.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;break;case m_.QUOTATION_MARK:this._err(N_.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=eL.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case m_.APOSTROPHE:this._err(N_.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=eL.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case m_.GREATER_THAN_SIGN:this._err(N_.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=eL.DATA,this.emitCurrentDoctype(e);break;case m_.EOF:this._err(N_.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(N_.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=eL.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBeforeDoctypeSystemIdentifier(t){const e=this.currentToken;switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:break;case m_.QUOTATION_MARK:e.systemId="",this.state=eL.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case m_.APOSTROPHE:e.systemId="",this.state=eL.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case m_.GREATER_THAN_SIGN:this._err(N_.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=eL.DATA,this.emitCurrentDoctype(e);break;case m_.EOF:this._err(N_.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(N_.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=eL.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateDoctypeSystemIdentifierDoubleQuoted(t){const e=this.currentToken;switch(t){case m_.QUOTATION_MARK:this.state=eL.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case m_.NULL:this._err(N_.unexpectedNullCharacter),e.systemId+=E_;break;case m_.GREATER_THAN_SIGN:this._err(N_.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=eL.DATA;break;case m_.EOF:this._err(N_.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.systemId+=String.fromCodePoint(t)}}_stateDoctypeSystemIdentifierSingleQuoted(t){const e=this.currentToken;switch(t){case m_.APOSTROPHE:this.state=eL.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case m_.NULL:this._err(N_.unexpectedNullCharacter),e.systemId+=E_;break;case m_.GREATER_THAN_SIGN:this._err(N_.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=eL.DATA;break;case m_.EOF:this._err(N_.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.systemId+=String.fromCodePoint(t)}}_stateAfterDoctypeSystemIdentifier(t){const e=this.currentToken;switch(t){case m_.SPACE:case m_.LINE_FEED:case m_.TABULATION:case m_.FORM_FEED:break;case m_.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=eL.DATA;break;case m_.EOF:this._err(N_.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(N_.unexpectedCharacterAfterDoctypeSystemIdentifier),this.state=eL.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBogusDoctype(t){const e=this.currentToken;switch(t){case m_.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=eL.DATA;break;case m_.NULL:this._err(N_.unexpectedNullCharacter);break;case m_.EOF:this.emitCurrentDoctype(e),this._emitEOFToken()}}_stateCdataSection(t){switch(t){case m_.RIGHT_SQUARE_BRACKET:this.state=eL.CDATA_SECTION_BRACKET;break;case m_.EOF:this._err(N_.eofInCdata),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateCdataSectionBracket(t){t===m_.RIGHT_SQUARE_BRACKET?this.state=eL.CDATA_SECTION_END:(this._emitChars("]"),this.state=eL.CDATA_SECTION,this._stateCdataSection(t))}_stateCdataSectionEnd(t){switch(t){case m_.GREATER_THAN_SIGN:this.state=eL.DATA;break;case m_.RIGHT_SQUARE_BRACKET:this._emitChars("]");break;default:this._emitChars("]]"),this.state=eL.CDATA_SECTION,this._stateCdataSection(t)}}_stateCharacterReference(){let t=this.entityDecoder.write(this.preprocessor.html,this.preprocessor.pos);if(t<0){if(!this.preprocessor.lastChunkWritten)return this.active=!1,this.preprocessor.pos=this.preprocessor.html.length-1,this.consumedAfterSnapshot=0,void(this.preprocessor.endOfChunkHit=!0);t=this.entityDecoder.end()}0===t?(this.preprocessor.pos=this.entityStartPos,this._flushCodePointConsumedAsCharacterReference(m_.AMPERSAND),this.state=!this._isCharacterReferenceInAttribute()&&oL(this.preprocessor.peek(1))?eL.AMBIGUOUS_AMPERSAND:this.returnState):this.state=this.returnState}_stateAmbiguousAmpersand(t){oL(t)?this._flushCodePointConsumedAsCharacterReference(t):(t===m_.SEMICOLON&&this._err(N_.unknownNamedCharacterReference),this.state=this.returnState,this._callState(t))}}const uL=new Set([q_.DD,q_.DT,q_.LI,q_.OPTGROUP,q_.OPTION,q_.P,q_.RB,q_.RP,q_.RT,q_.RTC]),hL=new Set([...uL,q_.CAPTION,q_.COLGROUP,q_.TBODY,q_.TD,q_.TFOOT,q_.TH,q_.THEAD,q_.TR]),dL=new Set([q_.APPLET,q_.CAPTION,q_.HTML,q_.MARQUEE,q_.OBJECT,q_.TABLE,q_.TD,q_.TEMPLATE,q_.TH]),pL=new Set([...dL,q_.OL,q_.UL]),fL=new Set([...dL,q_.BUTTON]),AL=new Set([q_.ANNOTATION_XML,q_.MI,q_.MN,q_.MO,q_.MS,q_.MTEXT]),gL=new Set([q_.DESC,q_.FOREIGN_OBJECT,q_.TITLE]),EL=new Set([q_.TR,q_.TEMPLATE,q_.HTML]),mL=new Set([q_.TBODY,q_.TFOOT,q_.THEAD,q_.TEMPLATE,q_.HTML]),wL=new Set([q_.TABLE,q_.TEMPLATE,q_.HTML]),yL=new Set([q_.TD,q_.TH]);class IL{get currentTmplContentOrNode(){return this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):this.current}constructor(t,e,n){this.treeAdapter=e,this.handler=n,this.items=[],this.tagIDs=[],this.stackTop=-1,this.tmplCount=0,this.currentTagId=q_.UNKNOWN,this.current=t}_indexOf(t){return this.items.lastIndexOf(t,this.stackTop)}_isInTemplate(){return this.currentTagId===q_.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===Y_.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop],this.currentTagId=this.tagIDs[this.stackTop]}push(t,e){this.stackTop++,this.items[this.stackTop]=t,this.current=t,this.tagIDs[this.stackTop]=e,this.currentTagId=e,this._isInTemplate()&&this.tmplCount++,this.handler.onItemPush(t,e,!0)}pop(){const t=this.current;this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,!0)}replace(t,e){const n=this._indexOf(t);this.items[n]=e,n===this.stackTop&&(this.current=e)}insertAfter(t,e,n){const r=this._indexOf(t)+1;this.items.splice(r,0,e),this.tagIDs.splice(r,0,n),this.stackTop++,r===this.stackTop&&this._updateCurrentElement(),this.current&&void 0!==this.currentTagId&&this.handler.onItemPush(this.current,this.currentTagId,r===this.stackTop)}popUntilTagNamePopped(t){let e=this.stackTop+1;do{e=this.tagIDs.lastIndexOf(t,e-1)}while(e>0&&this.treeAdapter.getNamespaceURI(this.items[e])!==Y_.HTML);this.shortenToLength(Math.max(e,0))}shortenToLength(t){for(;this.stackTop>=t;){const e=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,this.stackTop<t)}}popUntilElementPopped(t){const e=this._indexOf(t);this.shortenToLength(Math.max(e,0))}popUntilPopped(t,e){const n=this._indexOfTagNames(t,e);this.shortenToLength(Math.max(n,0))}popUntilNumberedHeaderPopped(){this.popUntilPopped(tL,Y_.HTML)}popUntilTableCellPopped(){this.popUntilPopped(yL,Y_.HTML)}popAllUpToHtmlElement(){this.tmplCount=0,this.shortenToLength(1)}_indexOfTagNames(t,e){for(let n=this.stackTop;n>=0;n--)if(t.has(this.tagIDs[n])&&this.treeAdapter.getNamespaceURI(this.items[n])===e)return n;return-1}clearBackTo(t,e){const n=this._indexOfTagNames(t,e);this.shortenToLength(n+1)}clearBackToTableContext(){this.clearBackTo(wL,Y_.HTML)}clearBackToTableBodyContext(){this.clearBackTo(mL,Y_.HTML)}clearBackToTableRowContext(){this.clearBackTo(EL,Y_.HTML)}remove(t){const e=this._indexOf(t);e>=0&&(e===this.stackTop?this.pop():(this.items.splice(e,1),this.tagIDs.splice(e,1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,!1)))}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===q_.BODY?this.items[1]:null}contains(t){return this._indexOf(t)>-1}getCommonAncestor(t){const e=this._indexOf(t)-1;return e>=0?this.items[e]:null}isRootHtmlElementCurrent(){return 0===this.stackTop&&this.tagIDs[0]===q_.HTML}hasInDynamicScope(t,e){for(let n=this.stackTop;n>=0;n--){const r=this.tagIDs[n];switch(this.treeAdapter.getNamespaceURI(this.items[n])){case Y_.HTML:if(r===t)return!0;if(e.has(r))return!1;break;case Y_.SVG:if(gL.has(r))return!1;break;case Y_.MATHML:if(AL.has(r))return!1}}return!0}hasInScope(t){return this.hasInDynamicScope(t,dL)}hasInListItemScope(t){return this.hasInDynamicScope(t,pL)}hasInButtonScope(t){return this.hasInDynamicScope(t,fL)}hasNumberedHeaderInScope(){for(let t=this.stackTop;t>=0;t--){const e=this.tagIDs[t];switch(this.treeAdapter.getNamespaceURI(this.items[t])){case Y_.HTML:if(tL.has(e))return!0;if(dL.has(e))return!1;break;case Y_.SVG:if(gL.has(e))return!1;break;case Y_.MATHML:if(AL.has(e))return!1}}return!0}hasInTableScope(t){for(let e=this.stackTop;e>=0;e--)if(this.treeAdapter.getNamespaceURI(this.items[e])===Y_.HTML)switch(this.tagIDs[e]){case t:return!0;case q_.TABLE:case q_.HTML:return!1}return!0}hasTableBodyContextInTableScope(){for(let t=this.stackTop;t>=0;t--)if(this.treeAdapter.getNamespaceURI(this.items[t])===Y_.HTML)switch(this.tagIDs[t]){case q_.TBODY:case q_.THEAD:case q_.TFOOT:return!0;case q_.TABLE:case q_.HTML:return!1}return!0}hasInSelectScope(t){for(let e=this.stackTop;e>=0;e--)if(this.treeAdapter.getNamespaceURI(this.items[e])===Y_.HTML)switch(this.tagIDs[e]){case t:return!0;case q_.OPTION:case q_.OPTGROUP:break;default:return!1}return!0}generateImpliedEndTags(){for(;void 0!==this.currentTagId&&uL.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;void 0!==this.currentTagId&&hL.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(t){for(;void 0!==this.currentTagId&&this.currentTagId!==t&&hL.has(this.currentTagId);)this.pop()}}var CL;!function(t){t[t.Marker=0]="Marker",t[t.Element=1]="Element"}(CL||(CL={}));const BL={type:CL.Marker};class TL{constructor(t){this.treeAdapter=t,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(t,e){const n=[],r=e.length,i=this.treeAdapter.getTagName(t),o=this.treeAdapter.getNamespaceURI(t);for(let t=0;t<this.entries.length;t++){const e=this.entries[t];if(e.type===CL.Marker)break;const{element:s}=e;if(this.treeAdapter.getTagName(s)===i&&this.treeAdapter.getNamespaceURI(s)===o){const e=this.treeAdapter.getAttrList(s);e.length===r&&n.push({idx:t,attrs:e})}}return n}_ensureNoahArkCondition(t){if(this.entries.length<3)return;const e=this.treeAdapter.getAttrList(t),n=this._getNoahArkConditionCandidates(t,e);if(n.length<3)return;const r=new Map(e.map(t=>[t.name,t.value]));let i=0;for(let t=0;t<n.length;t++){const e=n[t];e.attrs.every(t=>r.get(t.name)===t.value)&&(i+=1,i>=3&&this.entries.splice(e.idx,1))}}insertMarker(){this.entries.unshift(BL)}pushElement(t,e){this._ensureNoahArkCondition(t),this.entries.unshift({type:CL.Element,element:t,token:e})}insertElementAfterBookmark(t,e){const n=this.entries.indexOf(this.bookmark);this.entries.splice(n,0,{type:CL.Element,element:t,token:e})}removeEntry(t){const e=this.entries.indexOf(t);-1!==e&&this.entries.splice(e,1)}clearToLastMarker(){const t=this.entries.indexOf(BL);-1===t?this.entries.length=0:this.entries.splice(0,t+1)}getElementEntryInScopeWithTagName(t){const e=this.entries.find(e=>e.type===CL.Marker||this.treeAdapter.getTagName(e.element)===t);return e&&e.type===CL.Element?e:null}getElementEntry(t){return this.entries.find(e=>e.type===CL.Element&&e.element===t)}}const DL={createDocument:()=>({nodeName:"#document",mode:J_.NO_QUIRKS,childNodes:[]}),createDocumentFragment:()=>({nodeName:"#document-fragment",childNodes:[]}),createElement:(t,e,n)=>({nodeName:t,tagName:t,attrs:n,namespaceURI:e,childNodes:[],parentNode:null}),createCommentNode:t=>({nodeName:"#comment",data:t,parentNode:null}),createTextNode:t=>({nodeName:"#text",value:t,parentNode:null}),appendChild(t,e){t.childNodes.push(e),e.parentNode=t},insertBefore(t,e,n){const r=t.childNodes.indexOf(n);t.childNodes.splice(r,0,e),e.parentNode=t},setTemplateContent(t,e){t.content=e},getTemplateContent:t=>t.content,setDocumentType(t,e,n,r){const i=t.childNodes.find(t=>"#documentType"===t.nodeName);if(i)i.name=e,i.publicId=n,i.systemId=r;else{const i={nodeName:"#documentType",name:e,publicId:n,systemId:r,parentNode:null};DL.appendChild(t,i)}},setDocumentMode(t,e){t.mode=e},getDocumentMode:t=>t.mode,detachNode(t){if(t.parentNode){const e=t.parentNode.childNodes.indexOf(t);t.parentNode.childNodes.splice(e,1),t.parentNode=null}},insertText(t,e){if(t.childNodes.length>0){const n=t.childNodes[t.childNodes.length-1];if(DL.isTextNode(n))return void(n.value+=e)}DL.appendChild(t,DL.createTextNode(e))},insertTextBefore(t,e,n){const r=t.childNodes[t.childNodes.indexOf(n)-1];r&&DL.isTextNode(r)?r.value+=e:DL.insertBefore(t,DL.createTextNode(e),n)},adoptAttributes(t,e){const n=new Set(t.attrs.map(t=>t.name));for(let r=0;r<e.length;r++)n.has(e[r].name)||t.attrs.push(e[r])},getFirstChild:t=>t.childNodes[0],getChildNodes:t=>t.childNodes,getParentNode:t=>t.parentNode,getAttrList:t=>t.attrs,getTagName:t=>t.tagName,getNamespaceURI:t=>t.namespaceURI,getTextNodeContent:t=>t.value,getCommentNodeContent:t=>t.data,getDocumentTypeNodeName:t=>t.name,getDocumentTypeNodePublicId:t=>t.publicId,getDocumentTypeNodeSystemId:t=>t.systemId,isTextNode:t=>"#text"===t.nodeName,isCommentNode:t=>"#comment"===t.nodeName,isDocumentTypeNode:t=>"#documentType"===t.nodeName,isElementNode:t=>Object.prototype.hasOwnProperty.call(t,"tagName"),setNodeSourceCodeLocation(t,e){t.sourceCodeLocation=e},getNodeSourceCodeLocation:t=>t.sourceCodeLocation,updateNodeSourceCodeLocation(t,e){t.sourceCodeLocation={...t.sourceCodeLocation,...e}}},bL="html",ML=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],NL=[...ML,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"],vL=new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]),SL=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],_L=[...SL,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"];function LL(t,e){return e.some(e=>t.startsWith(e))}const xL="text/html",RL="application/xhtml+xml",FL=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(t=>[t.toLowerCase(),t])),OL=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:Y_.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:Y_.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:Y_.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:Y_.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:Y_.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:Y_.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:Y_.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:Y_.XML}],["xml:space",{prefix:"xml",name:"space",namespace:Y_.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:Y_.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:Y_.XMLNS}]]),QL=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(t=>[t.toLowerCase(),t])),kL=new Set([q_.B,q_.BIG,q_.BLOCKQUOTE,q_.BODY,q_.BR,q_.CENTER,q_.CODE,q_.DD,q_.DIV,q_.DL,q_.DT,q_.EM,q_.EMBED,q_.H1,q_.H2,q_.H3,q_.H4,q_.H5,q_.H6,q_.HEAD,q_.HR,q_.I,q_.IMG,q_.LI,q_.LISTING,q_.MENU,q_.META,q_.NOBR,q_.OL,q_.P,q_.PRE,q_.RUBY,q_.S,q_.SMALL,q_.SPAN,q_.STRONG,q_.STRIKE,q_.SUB,q_.SUP,q_.TABLE,q_.TT,q_.U,q_.UL,q_.VAR]);function UL(t){for(let e=0;e<t.attrs.length;e++)if("definitionurl"===t.attrs[e].name){t.attrs[e].name="definitionURL";break}}function PL(t){for(let e=0;e<t.attrs.length;e++){const n=FL.get(t.attrs[e].name);null!=n&&(t.attrs[e].name=n)}}function GL(t){for(let e=0;e<t.attrs.length;e++){const n=OL.get(t.attrs[e].name);n&&(t.attrs[e].prefix=n.prefix,t.attrs[e].name=n.name,t.attrs[e].namespace=n.namespace)}}function VL(t,e,n,r){return(!r||r===Y_.HTML)&&function(t,e,n){if(e===Y_.MATHML&&t===q_.ANNOTATION_XML)for(let t=0;t<n.length;t++)if(n[t].name===z_.ENCODING){const e=n[t].value.toLowerCase();return e===xL||e===RL}return e===Y_.SVG&&(t===q_.FOREIGN_OBJECT||t===q_.DESC||t===q_.TITLE)}(t,e,n)||(!r||r===Y_.MATHML)&&function(t,e){return e===Y_.MATHML&&(t===q_.MI||t===q_.MO||t===q_.MN||t===q_.MS||t===q_.MTEXT)}(t,e)}var HL;!function(t){t[t.INITIAL=0]="INITIAL",t[t.BEFORE_HTML=1]="BEFORE_HTML",t[t.BEFORE_HEAD=2]="BEFORE_HEAD",t[t.IN_HEAD=3]="IN_HEAD",t[t.IN_HEAD_NO_SCRIPT=4]="IN_HEAD_NO_SCRIPT",t[t.AFTER_HEAD=5]="AFTER_HEAD",t[t.IN_BODY=6]="IN_BODY",t[t.TEXT=7]="TEXT",t[t.IN_TABLE=8]="IN_TABLE",t[t.IN_TABLE_TEXT=9]="IN_TABLE_TEXT",t[t.IN_CAPTION=10]="IN_CAPTION",t[t.IN_COLUMN_GROUP=11]="IN_COLUMN_GROUP",t[t.IN_TABLE_BODY=12]="IN_TABLE_BODY",t[t.IN_ROW=13]="IN_ROW",t[t.IN_CELL=14]="IN_CELL",t[t.IN_SELECT=15]="IN_SELECT",t[t.IN_SELECT_IN_TABLE=16]="IN_SELECT_IN_TABLE",t[t.IN_TEMPLATE=17]="IN_TEMPLATE",t[t.AFTER_BODY=18]="AFTER_BODY",t[t.IN_FRAMESET=19]="IN_FRAMESET",t[t.AFTER_FRAMESET=20]="AFTER_FRAMESET",t[t.AFTER_AFTER_BODY=21]="AFTER_AFTER_BODY",t[t.AFTER_AFTER_FRAMESET=22]="AFTER_AFTER_FRAMESET"}(HL||(HL={}));const jL={startLine:-1,startCol:-1,startOffset:-1,endLine:-1,endCol:-1,endOffset:-1},YL=new Set([q_.TABLE,q_.TBODY,q_.TFOOT,q_.THEAD,q_.TR]),zL={scriptingEnabled:!0,sourceCodeLocationInfo:!1,treeAdapter:DL,onParseError:null};class JL{constructor(t,e,n=null,r=null){this.fragmentContext=n,this.scriptHandler=r,this.currentToken=null,this.stopped=!1,this.insertionMode=HL.INITIAL,this.originalInsertionMode=HL.INITIAL,this.headElement=null,this.formElement=null,this.currentNotInHTML=!1,this.tmplInsertionModeStack=[],this.pendingCharacterTokens=[],this.hasNonWhitespacePendingCharacterToken=!1,this.framesetOk=!0,this.skipNextNewLine=!1,this.fosterParentingEnabled=!1,this.options={...zL,...t},this.treeAdapter=this.options.treeAdapter,this.onParseError=this.options.onParseError,this.onParseError&&(this.options.sourceCodeLocationInfo=!0),this.document=null!=e?e:this.treeAdapter.createDocument(),this.tokenizer=new lL(this.options,this),this.activeFormattingElements=new TL(this.treeAdapter),this.fragmentContextID=n?X_(this.treeAdapter.getTagName(n)):q_.UNKNOWN,this._setContextModes(null!=n?n:this.document,this.fragmentContextID),this.openElements=new IL(this.document,this.treeAdapter,this)}static parse(t,e){const n=new this(e);return n.tokenizer.write(t,!0),n.document}static getFragmentParser(t,e){const n={...zL,...e};null!=t||(t=n.treeAdapter.createElement(W_.TEMPLATE,Y_.HTML,[]));const r=n.treeAdapter.createElement("documentmock",Y_.HTML,[]),i=new this(n,r,t);return i.fragmentContextID===q_.TEMPLATE&&i.tmplInsertionModeStack.unshift(HL.IN_TEMPLATE),i._initTokenizerForFragmentParsing(),i._insertFakeRootElement(),i._resetInsertionMode(),i._findFormInFragmentContext(),i}getFragment(){const t=this.treeAdapter.getFirstChild(this.document),e=this.treeAdapter.createDocumentFragment();return this._adoptNodes(t,e),e}_err(t,e,n){var r;if(!this.onParseError)return;const i=null!==(r=t.location)&&void 0!==r?r:jL,o={code:e,startLine:i.startLine,startCol:i.startCol,startOffset:i.startOffset,endLine:n?i.startLine:i.endLine,endCol:n?i.startCol:i.endCol,endOffset:n?i.startOffset:i.endOffset};this.onParseError(o)}onItemPush(t,e,n){var r,i;null===(i=(r=this.treeAdapter).onItemPush)||void 0===i||i.call(r,t),n&&this.openElements.stackTop>0&&this._setContextModes(t,e)}onItemPop(t,e){var n,r;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(t,this.currentToken),null===(r=(n=this.treeAdapter).onItemPop)||void 0===r||r.call(n,t,this.openElements.current),e){let t,e;0===this.openElements.stackTop&&this.fragmentContext?(t=this.fragmentContext,e=this.fragmentContextID):({current:t,currentTagId:e}=this.openElements),this._setContextModes(t,e)}}_setContextModes(t,e){const n=t===this.document||t&&this.treeAdapter.getNamespaceURI(t)===Y_.HTML;this.currentNotInHTML=!n,this.tokenizer.inForeignNode=!n&&void 0!==t&&void 0!==e&&!this._isIntegrationPoint(e,t)}_switchToTextParsing(t,e){this._insertElement(t,Y_.HTML),this.tokenizer.state=e,this.originalInsertionMode=this.insertionMode,this.insertionMode=HL.TEXT}switchToPlaintextParsing(){this.insertionMode=HL.TEXT,this.originalInsertionMode=HL.IN_BODY,this.tokenizer.state=nL.PLAINTEXT}_getAdjustedCurrentElement(){return 0===this.openElements.stackTop&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let t=this.fragmentContext;for(;t;){if(this.treeAdapter.getTagName(t)===W_.FORM){this.formElement=t;break}t=this.treeAdapter.getParentNode(t)}}_initTokenizerForFragmentParsing(){if(this.fragmentContext&&this.treeAdapter.getNamespaceURI(this.fragmentContext)===Y_.HTML)switch(this.fragmentContextID){case q_.TITLE:case q_.TEXTAREA:this.tokenizer.state=nL.RCDATA;break;case q_.STYLE:case q_.XMP:case q_.IFRAME:case q_.NOEMBED:case q_.NOFRAMES:case q_.NOSCRIPT:this.tokenizer.state=nL.RAWTEXT;break;case q_.SCRIPT:this.tokenizer.state=nL.SCRIPT_DATA;break;case q_.PLAINTEXT:this.tokenizer.state=nL.PLAINTEXT}}_setDocumentType(t){const e=t.name||"",n=t.publicId||"",r=t.systemId||"";if(this.treeAdapter.setDocumentType(this.document,e,n,r),t.location){const e=this.treeAdapter.getChildNodes(this.document).find(t=>this.treeAdapter.isDocumentTypeNode(t));e&&this.treeAdapter.setNodeSourceCodeLocation(e,t.location)}}_attachElementToTree(t,e){if(this.options.sourceCodeLocationInfo){const n=e&&{...e,startTag:e};this.treeAdapter.setNodeSourceCodeLocation(t,n)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(t);else{const e=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(null!=e?e:this.document,t)}}_appendElement(t,e){const n=this.treeAdapter.createElement(t.tagName,e,t.attrs);this._attachElementToTree(n,t.location)}_insertElement(t,e){const n=this.treeAdapter.createElement(t.tagName,e,t.attrs);this._attachElementToTree(n,t.location),this.openElements.push(n,t.tagID)}_insertFakeElement(t,e){const n=this.treeAdapter.createElement(t,Y_.HTML,[]);this._attachElementToTree(n,null),this.openElements.push(n,e)}_insertTemplate(t){const e=this.treeAdapter.createElement(t.tagName,Y_.HTML,t.attrs),n=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(e,n),this._attachElementToTree(e,t.location),this.openElements.push(e,t.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,null)}_insertFakeRootElement(){const t=this.treeAdapter.createElement(W_.HTML,Y_.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(t,null),this.treeAdapter.appendChild(this.openElements.current,t),this.openElements.push(t,q_.HTML)}_appendCommentNode(t,e){const n=this.treeAdapter.createCommentNode(t.data);this.treeAdapter.appendChild(e,n),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,t.location)}_insertCharacters(t){let e,n;if(this._shouldFosterParentOnInsertion()?(({parent:e,beforeElement:n}=this._findFosterParentingLocation()),n?this.treeAdapter.insertTextBefore(e,t.chars,n):this.treeAdapter.insertText(e,t.chars)):(e=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(e,t.chars)),!t.location)return;const r=this.treeAdapter.getChildNodes(e),i=n?r.lastIndexOf(n):r.length,o=r[i-1];if(this.treeAdapter.getNodeSourceCodeLocation(o)){const{endLine:e,endCol:n,endOffset:r}=t.location;this.treeAdapter.updateNodeSourceCodeLocation(o,{endLine:e,endCol:n,endOffset:r})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(o,t.location)}_adoptNodes(t,e){for(let n=this.treeAdapter.getFirstChild(t);n;n=this.treeAdapter.getFirstChild(t))this.treeAdapter.detachNode(n),this.treeAdapter.appendChild(e,n)}_setEndLocation(t,e){if(this.treeAdapter.getNodeSourceCodeLocation(t)&&e.location){const n=e.location,r=this.treeAdapter.getTagName(t),i=e.type===S_.END_TAG&&r===e.tagName?{endTag:{...n},endLine:n.endLine,endCol:n.endCol,endOffset:n.endOffset}:{endLine:n.startLine,endCol:n.startCol,endOffset:n.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(t,i)}}shouldProcessStartTagTokenInForeignContent(t){if(!this.currentNotInHTML)return!1;let e,n;return 0===this.openElements.stackTop&&this.fragmentContext?(e=this.fragmentContext,n=this.fragmentContextID):({current:e,currentTagId:n}=this.openElements),(t.tagID!==q_.SVG||this.treeAdapter.getTagName(e)!==W_.ANNOTATION_XML||this.treeAdapter.getNamespaceURI(e)!==Y_.MATHML)&&(this.tokenizer.inForeignNode||(t.tagID===q_.MGLYPH||t.tagID===q_.MALIGNMARK)&&void 0!==n&&!this._isIntegrationPoint(n,e,Y_.HTML))}_processToken(t){switch(t.type){case S_.CHARACTER:this.onCharacter(t);break;case S_.NULL_CHARACTER:this.onNullCharacter(t);break;case S_.COMMENT:this.onComment(t);break;case S_.DOCTYPE:this.onDoctype(t);break;case S_.START_TAG:this._processStartTag(t);break;case S_.END_TAG:this.onEndTag(t);break;case S_.EOF:this.onEof(t);break;case S_.WHITESPACE_CHARACTER:this.onWhitespaceCharacter(t)}}_isIntegrationPoint(t,e,n){return VL(t,this.treeAdapter.getNamespaceURI(e),this.treeAdapter.getAttrList(e),n)}_reconstructActiveFormattingElements(){const t=this.activeFormattingElements.entries.length;if(t){const e=this.activeFormattingElements.entries.findIndex(t=>t.type===CL.Marker||this.openElements.contains(t.element));for(let n=-1===e?t-1:e-1;n>=0;n--){const t=this.activeFormattingElements.entries[n];this._insertElement(t.token,this.treeAdapter.getNamespaceURI(t.element)),t.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=HL.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(q_.P),this.openElements.popUntilTagNamePopped(q_.P)}_resetInsertionMode(){for(let t=this.openElements.stackTop;t>=0;t--)switch(0===t&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[t]){case q_.TR:return void(this.insertionMode=HL.IN_ROW);case q_.TBODY:case q_.THEAD:case q_.TFOOT:return void(this.insertionMode=HL.IN_TABLE_BODY);case q_.CAPTION:return void(this.insertionMode=HL.IN_CAPTION);case q_.COLGROUP:return void(this.insertionMode=HL.IN_COLUMN_GROUP);case q_.TABLE:return void(this.insertionMode=HL.IN_TABLE);case q_.BODY:return void(this.insertionMode=HL.IN_BODY);case q_.FRAMESET:return void(this.insertionMode=HL.IN_FRAMESET);case q_.SELECT:return void this._resetInsertionModeForSelect(t);case q_.TEMPLATE:return void(this.insertionMode=this.tmplInsertionModeStack[0]);case q_.HTML:return void(this.insertionMode=this.headElement?HL.AFTER_HEAD:HL.BEFORE_HEAD);case q_.TD:case q_.TH:if(t>0)return void(this.insertionMode=HL.IN_CELL);break;case q_.HEAD:if(t>0)return void(this.insertionMode=HL.IN_HEAD)}this.insertionMode=HL.IN_BODY}_resetInsertionModeForSelect(t){if(t>0)for(let e=t-1;e>0;e--){const t=this.openElements.tagIDs[e];if(t===q_.TEMPLATE)break;if(t===q_.TABLE)return void(this.insertionMode=HL.IN_SELECT_IN_TABLE)}this.insertionMode=HL.IN_SELECT}_isElementCausesFosterParenting(t){return YL.has(t)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&void 0!==this.openElements.currentTagId&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let t=this.openElements.stackTop;t>=0;t--){const e=this.openElements.items[t];switch(this.openElements.tagIDs[t]){case q_.TEMPLATE:if(this.treeAdapter.getNamespaceURI(e)===Y_.HTML)return{parent:this.treeAdapter.getTemplateContent(e),beforeElement:null};break;case q_.TABLE:{const n=this.treeAdapter.getParentNode(e);return n?{parent:n,beforeElement:e}:{parent:this.openElements.items[t-1],beforeElement:null}}}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(t){const e=this._findFosterParentingLocation();e.beforeElement?this.treeAdapter.insertBefore(e.parent,t,e.beforeElement):this.treeAdapter.appendChild(e.parent,t)}_isSpecialElement(t,e){const n=this.treeAdapter.getNamespaceURI(t);return $_[n].has(e)}onCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode)!function(t,e){t._insertCharacters(e),t.framesetOk=!1}(this,t);else switch(this.insertionMode){case HL.INITIAL:rx(this,t);break;case HL.BEFORE_HTML:ix(this,t);break;case HL.BEFORE_HEAD:ox(this,t);break;case HL.IN_HEAD:cx(this,t);break;case HL.IN_HEAD_NO_SCRIPT:lx(this,t);break;case HL.AFTER_HEAD:ux(this,t);break;case HL.IN_BODY:case HL.IN_CAPTION:case HL.IN_CELL:case HL.IN_TEMPLATE:px(this,t);break;case HL.TEXT:case HL.IN_SELECT:case HL.IN_SELECT_IN_TABLE:this._insertCharacters(t);break;case HL.IN_TABLE:case HL.IN_TABLE_BODY:case HL.IN_ROW:Cx(this,t);break;case HL.IN_TABLE_TEXT:Mx(this,t);break;case HL.IN_COLUMN_GROUP:_x(this,t);break;case HL.AFTER_BODY:Px(this,t);break;case HL.AFTER_AFTER_BODY:Gx(this,t)}}onNullCharacter(t){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode)!function(t,e){e.chars=E_,t._insertCharacters(e)}(this,t);else switch(this.insertionMode){case HL.INITIAL:rx(this,t);break;case HL.BEFORE_HTML:ix(this,t);break;case HL.BEFORE_HEAD:ox(this,t);break;case HL.IN_HEAD:cx(this,t);break;case HL.IN_HEAD_NO_SCRIPT:lx(this,t);break;case HL.AFTER_HEAD:ux(this,t);break;case HL.TEXT:this._insertCharacters(t);break;case HL.IN_TABLE:case HL.IN_TABLE_BODY:case HL.IN_ROW:Cx(this,t);break;case HL.IN_COLUMN_GROUP:_x(this,t);break;case HL.AFTER_BODY:Px(this,t);break;case HL.AFTER_AFTER_BODY:Gx(this,t)}}onComment(t){if(this.skipNextNewLine=!1,this.currentNotInHTML)ex(this,t);else switch(this.insertionMode){case HL.INITIAL:case HL.BEFORE_HTML:case HL.BEFORE_HEAD:case HL.IN_HEAD:case HL.IN_HEAD_NO_SCRIPT:case HL.AFTER_HEAD:case HL.IN_BODY:case HL.IN_TABLE:case HL.IN_CAPTION:case HL.IN_COLUMN_GROUP:case HL.IN_TABLE_BODY:case HL.IN_ROW:case HL.IN_CELL:case HL.IN_SELECT:case HL.IN_SELECT_IN_TABLE:case HL.IN_TEMPLATE:case HL.IN_FRAMESET:case HL.AFTER_FRAMESET:ex(this,t);break;case HL.IN_TABLE_TEXT:Nx(this,t);break;case HL.AFTER_BODY:!function(t,e){t._appendCommentNode(e,t.openElements.items[0])}(this,t);break;case HL.AFTER_AFTER_BODY:case HL.AFTER_AFTER_FRAMESET:!function(t,e){t._appendCommentNode(e,t.document)}(this,t)}}onDoctype(t){switch(this.skipNextNewLine=!1,this.insertionMode){case HL.INITIAL:!function(t,e){t._setDocumentType(e);const n=e.forceQuirks?J_.QUIRKS:function(t){if(t.name!==bL)return J_.QUIRKS;const{systemId:e}=t;if(e&&"http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"===e.toLowerCase())return J_.QUIRKS;let{publicId:n}=t;if(null!==n){if(n=n.toLowerCase(),vL.has(n))return J_.QUIRKS;let t=null===e?NL:ML;if(LL(n,t))return J_.QUIRKS;if(t=null===e?SL:_L,LL(n,t))return J_.LIMITED_QUIRKS}return J_.NO_QUIRKS}(e);(function(t){return t.name===bL&&null===t.publicId&&(null===t.systemId||"about:legacy-compat"===t.systemId)})(e)||t._err(e,N_.nonConformingDoctype);t.treeAdapter.setDocumentMode(t.document,n),t.insertionMode=HL.BEFORE_HTML}(this,t);break;case HL.BEFORE_HEAD:case HL.IN_HEAD:case HL.IN_HEAD_NO_SCRIPT:case HL.AFTER_HEAD:this._err(t,N_.misplacedDoctype);break;case HL.IN_TABLE_TEXT:Nx(this,t)}}onStartTag(t){this.skipNextNewLine=!1,this.currentToken=t,this._processStartTag(t),t.selfClosing&&!t.ackSelfClosing&&this._err(t,N_.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(t){this.shouldProcessStartTagTokenInForeignContent(t)?function(t,e){if(function(t){const e=t.tagID;return e===q_.FONT&&t.attrs.some(({name:t})=>t===z_.COLOR||t===z_.SIZE||t===z_.FACE)||kL.has(e)}(e))Vx(t),t._startTagOutsideForeignContent(e);else{const n=t._getAdjustedCurrentElement(),r=t.treeAdapter.getNamespaceURI(n);r===Y_.MATHML?UL(e):r===Y_.SVG&&(!function(t){const e=QL.get(t.tagName);null!=e&&(t.tagName=e,t.tagID=X_(t.tagName))}(e),PL(e)),GL(e),e.selfClosing?t._appendElement(e,r):t._insertElement(e,r),e.ackSelfClosing=!0}}(this,t):this._startTagOutsideForeignContent(t)}_startTagOutsideForeignContent(t){switch(this.insertionMode){case HL.INITIAL:rx(this,t);break;case HL.BEFORE_HTML:!function(t,e){e.tagID===q_.HTML?(t._insertElement(e,Y_.HTML),t.insertionMode=HL.BEFORE_HEAD):ix(t,e)}(this,t);break;case HL.BEFORE_HEAD:!function(t,e){switch(e.tagID){case q_.HTML:mx(t,e);break;case q_.HEAD:t._insertElement(e,Y_.HTML),t.headElement=t.openElements.current,t.insertionMode=HL.IN_HEAD;break;default:ox(t,e)}}(this,t);break;case HL.IN_HEAD:sx(this,t);break;case HL.IN_HEAD_NO_SCRIPT:!function(t,e){switch(e.tagID){case q_.HTML:mx(t,e);break;case q_.BASEFONT:case q_.BGSOUND:case q_.HEAD:case q_.LINK:case q_.META:case q_.NOFRAMES:case q_.STYLE:sx(t,e);break;case q_.NOSCRIPT:t._err(e,N_.nestedNoscriptInHead);break;default:lx(t,e)}}(this,t);break;case HL.AFTER_HEAD:!function(t,e){switch(e.tagID){case q_.HTML:mx(t,e);break;case q_.BODY:t._insertElement(e,Y_.HTML),t.framesetOk=!1,t.insertionMode=HL.IN_BODY;break;case q_.FRAMESET:t._insertElement(e,Y_.HTML),t.insertionMode=HL.IN_FRAMESET;break;case q_.BASE:case q_.BASEFONT:case q_.BGSOUND:case q_.LINK:case q_.META:case q_.NOFRAMES:case q_.SCRIPT:case q_.STYLE:case q_.TEMPLATE:case q_.TITLE:t._err(e,N_.abandonedHeadElementChild),t.openElements.push(t.headElement,q_.HEAD),sx(t,e),t.openElements.remove(t.headElement);break;case q_.HEAD:t._err(e,N_.misplacedStartTagForHeadElement);break;default:ux(t,e)}}(this,t);break;case HL.IN_BODY:mx(this,t);break;case HL.IN_TABLE:Bx(this,t);break;case HL.IN_TABLE_TEXT:Nx(this,t);break;case HL.IN_CAPTION:!function(t,e){const n=e.tagID;vx.has(n)?t.openElements.hasInTableScope(q_.CAPTION)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(q_.CAPTION),t.activeFormattingElements.clearToLastMarker(),t.insertionMode=HL.IN_TABLE,Bx(t,e)):mx(t,e)}(this,t);break;case HL.IN_COLUMN_GROUP:Sx(this,t);break;case HL.IN_TABLE_BODY:Lx(this,t);break;case HL.IN_ROW:Rx(this,t);break;case HL.IN_CELL:!function(t,e){const n=e.tagID;vx.has(n)?(t.openElements.hasInTableScope(q_.TD)||t.openElements.hasInTableScope(q_.TH))&&(t._closeTableCell(),Rx(t,e)):mx(t,e)}(this,t);break;case HL.IN_SELECT:Ox(this,t);break;case HL.IN_SELECT_IN_TABLE:!function(t,e){const n=e.tagID;n===q_.CAPTION||n===q_.TABLE||n===q_.TBODY||n===q_.TFOOT||n===q_.THEAD||n===q_.TR||n===q_.TD||n===q_.TH?(t.openElements.popUntilTagNamePopped(q_.SELECT),t._resetInsertionMode(),t._processStartTag(e)):Ox(t,e)}(this,t);break;case HL.IN_TEMPLATE:!function(t,e){switch(e.tagID){case q_.BASE:case q_.BASEFONT:case q_.BGSOUND:case q_.LINK:case q_.META:case q_.NOFRAMES:case q_.SCRIPT:case q_.STYLE:case q_.TEMPLATE:case q_.TITLE:sx(t,e);break;case q_.CAPTION:case q_.COLGROUP:case q_.TBODY:case q_.TFOOT:case q_.THEAD:t.tmplInsertionModeStack[0]=HL.IN_TABLE,t.insertionMode=HL.IN_TABLE,Bx(t,e);break;case q_.COL:t.tmplInsertionModeStack[0]=HL.IN_COLUMN_GROUP,t.insertionMode=HL.IN_COLUMN_GROUP,Sx(t,e);break;case q_.TR:t.tmplInsertionModeStack[0]=HL.IN_TABLE_BODY,t.insertionMode=HL.IN_TABLE_BODY,Lx(t,e);break;case q_.TD:case q_.TH:t.tmplInsertionModeStack[0]=HL.IN_ROW,t.insertionMode=HL.IN_ROW,Rx(t,e);break;default:t.tmplInsertionModeStack[0]=HL.IN_BODY,t.insertionMode=HL.IN_BODY,mx(t,e)}}(this,t);break;case HL.AFTER_BODY:!function(t,e){e.tagID===q_.HTML?mx(t,e):Px(t,e)}(this,t);break;case HL.IN_FRAMESET:!function(t,e){switch(e.tagID){case q_.HTML:mx(t,e);break;case q_.FRAMESET:t._insertElement(e,Y_.HTML);break;case q_.FRAME:t._appendElement(e,Y_.HTML),e.ackSelfClosing=!0;break;case q_.NOFRAMES:sx(t,e)}}(this,t);break;case HL.AFTER_FRAMESET:!function(t,e){switch(e.tagID){case q_.HTML:mx(t,e);break;case q_.NOFRAMES:sx(t,e)}}(this,t);break;case HL.AFTER_AFTER_BODY:!function(t,e){e.tagID===q_.HTML?mx(t,e):Gx(t,e)}(this,t);break;case HL.AFTER_AFTER_FRAMESET:!function(t,e){switch(e.tagID){case q_.HTML:mx(t,e);break;case q_.NOFRAMES:sx(t,e)}}(this,t)}}onEndTag(t){this.skipNextNewLine=!1,this.currentToken=t,this.currentNotInHTML?function(t,e){if(e.tagID===q_.P||e.tagID===q_.BR)return Vx(t),void t._endTagOutsideForeignContent(e);for(let n=t.openElements.stackTop;n>0;n--){const r=t.openElements.items[n];if(t.treeAdapter.getNamespaceURI(r)===Y_.HTML){t._endTagOutsideForeignContent(e);break}const i=t.treeAdapter.getTagName(r);if(i.toLowerCase()===e.tagName){e.tagName=i,t.openElements.shortenToLength(n);break}}}(this,t):this._endTagOutsideForeignContent(t)}_endTagOutsideForeignContent(t){switch(this.insertionMode){case HL.INITIAL:rx(this,t);break;case HL.BEFORE_HTML:!function(t,e){const n=e.tagID;n!==q_.HTML&&n!==q_.HEAD&&n!==q_.BODY&&n!==q_.BR||ix(t,e)}(this,t);break;case HL.BEFORE_HEAD:!function(t,e){const n=e.tagID;n===q_.HEAD||n===q_.BODY||n===q_.HTML||n===q_.BR?ox(t,e):t._err(e,N_.endTagWithoutMatchingOpenElement)}(this,t);break;case HL.IN_HEAD:!function(t,e){switch(e.tagID){case q_.HEAD:t.openElements.pop(),t.insertionMode=HL.AFTER_HEAD;break;case q_.BODY:case q_.BR:case q_.HTML:cx(t,e);break;case q_.TEMPLATE:ax(t,e);break;default:t._err(e,N_.endTagWithoutMatchingOpenElement)}}(this,t);break;case HL.IN_HEAD_NO_SCRIPT:!function(t,e){switch(e.tagID){case q_.NOSCRIPT:t.openElements.pop(),t.insertionMode=HL.IN_HEAD;break;case q_.BR:lx(t,e);break;default:t._err(e,N_.endTagWithoutMatchingOpenElement)}}(this,t);break;case HL.AFTER_HEAD:!function(t,e){switch(e.tagID){case q_.BODY:case q_.HTML:case q_.BR:ux(t,e);break;case q_.TEMPLATE:ax(t,e);break;default:t._err(e,N_.endTagWithoutMatchingOpenElement)}}(this,t);break;case HL.IN_BODY:yx(this,t);break;case HL.TEXT:!function(t,e){var n;e.tagID===q_.SCRIPT&&(null===(n=t.scriptHandler)||void 0===n||n.call(t,t.openElements.current));t.openElements.pop(),t.insertionMode=t.originalInsertionMode}(this,t);break;case HL.IN_TABLE:Tx(this,t);break;case HL.IN_TABLE_TEXT:Nx(this,t);break;case HL.IN_CAPTION:!function(t,e){const n=e.tagID;switch(n){case q_.CAPTION:case q_.TABLE:t.openElements.hasInTableScope(q_.CAPTION)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(q_.CAPTION),t.activeFormattingElements.clearToLastMarker(),t.insertionMode=HL.IN_TABLE,n===q_.TABLE&&Tx(t,e));break;case q_.BODY:case q_.COL:case q_.COLGROUP:case q_.HTML:case q_.TBODY:case q_.TD:case q_.TFOOT:case q_.TH:case q_.THEAD:case q_.TR:break;default:yx(t,e)}}(this,t);break;case HL.IN_COLUMN_GROUP:!function(t,e){switch(e.tagID){case q_.COLGROUP:t.openElements.currentTagId===q_.COLGROUP&&(t.openElements.pop(),t.insertionMode=HL.IN_TABLE);break;case q_.TEMPLATE:ax(t,e);break;case q_.COL:break;default:_x(t,e)}}(this,t);break;case HL.IN_TABLE_BODY:xx(this,t);break;case HL.IN_ROW:Fx(this,t);break;case HL.IN_CELL:!function(t,e){const n=e.tagID;switch(n){case q_.TD:case q_.TH:t.openElements.hasInTableScope(n)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(n),t.activeFormattingElements.clearToLastMarker(),t.insertionMode=HL.IN_ROW);break;case q_.TABLE:case q_.TBODY:case q_.TFOOT:case q_.THEAD:case q_.TR:t.openElements.hasInTableScope(n)&&(t._closeTableCell(),Fx(t,e));break;case q_.BODY:case q_.CAPTION:case q_.COL:case q_.COLGROUP:case q_.HTML:break;default:yx(t,e)}}(this,t);break;case HL.IN_SELECT:Qx(this,t);break;case HL.IN_SELECT_IN_TABLE:!function(t,e){const n=e.tagID;n===q_.CAPTION||n===q_.TABLE||n===q_.TBODY||n===q_.TFOOT||n===q_.THEAD||n===q_.TR||n===q_.TD||n===q_.TH?t.openElements.hasInTableScope(n)&&(t.openElements.popUntilTagNamePopped(q_.SELECT),t._resetInsertionMode(),t.onEndTag(e)):Qx(t,e)}(this,t);break;case HL.IN_TEMPLATE:!function(t,e){e.tagID===q_.TEMPLATE&&ax(t,e)}(this,t);break;case HL.AFTER_BODY:Ux(this,t);break;case HL.IN_FRAMESET:!function(t,e){e.tagID!==q_.FRAMESET||t.openElements.isRootHtmlElementCurrent()||(t.openElements.pop(),t.fragmentContext||t.openElements.currentTagId===q_.FRAMESET||(t.insertionMode=HL.AFTER_FRAMESET))}(this,t);break;case HL.AFTER_FRAMESET:!function(t,e){e.tagID===q_.HTML&&(t.insertionMode=HL.AFTER_AFTER_FRAMESET)}(this,t);break;case HL.AFTER_AFTER_BODY:Gx(this,t)}}onEof(t){switch(this.insertionMode){case HL.INITIAL:rx(this,t);break;case HL.BEFORE_HTML:ix(this,t);break;case HL.BEFORE_HEAD:ox(this,t);break;case HL.IN_HEAD:cx(this,t);break;case HL.IN_HEAD_NO_SCRIPT:lx(this,t);break;case HL.AFTER_HEAD:ux(this,t);break;case HL.IN_BODY:case HL.IN_TABLE:case HL.IN_CAPTION:case HL.IN_COLUMN_GROUP:case HL.IN_TABLE_BODY:case HL.IN_ROW:case HL.IN_CELL:case HL.IN_SELECT:case HL.IN_SELECT_IN_TABLE:Ix(this,t);break;case HL.TEXT:!function(t,e){t._err(e,N_.eofInElementThatCanContainOnlyText),t.openElements.pop(),t.insertionMode=t.originalInsertionMode,t.onEof(e)}(this,t);break;case HL.IN_TABLE_TEXT:Nx(this,t);break;case HL.IN_TEMPLATE:kx(this,t);break;case HL.AFTER_BODY:case HL.IN_FRAMESET:case HL.AFTER_FRAMESET:case HL.AFTER_AFTER_BODY:case HL.AFTER_AFTER_FRAMESET:nx(this,t)}}onWhitespaceCharacter(t){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,t.chars.charCodeAt(0)===m_.LINE_FEED)){if(1===t.chars.length)return;t.chars=t.chars.substr(1)}if(this.tokenizer.inForeignNode)this._insertCharacters(t);else switch(this.insertionMode){case HL.IN_HEAD:case HL.IN_HEAD_NO_SCRIPT:case HL.AFTER_HEAD:case HL.TEXT:case HL.IN_COLUMN_GROUP:case HL.IN_SELECT:case HL.IN_SELECT_IN_TABLE:case HL.IN_FRAMESET:case HL.AFTER_FRAMESET:this._insertCharacters(t);break;case HL.IN_BODY:case HL.IN_CAPTION:case HL.IN_CELL:case HL.IN_TEMPLATE:case HL.AFTER_BODY:case HL.AFTER_AFTER_BODY:case HL.AFTER_AFTER_FRAMESET:dx(this,t);break;case HL.IN_TABLE:case HL.IN_TABLE_BODY:case HL.IN_ROW:Cx(this,t);break;case HL.IN_TABLE_TEXT:bx(this,t)}}}function WL(t,e){let n=t.activeFormattingElements.getElementEntryInScopeWithTagName(e.tagName);return n?t.openElements.contains(n.element)?t.openElements.hasInScope(e.tagID)||(n=null):(t.activeFormattingElements.removeEntry(n),n=null):wx(t,e),n}function qL(t,e){let n=null,r=t.openElements.stackTop;for(;r>=0;r--){const i=t.openElements.items[r];if(i===e.element)break;t._isSpecialElement(i,t.openElements.tagIDs[r])&&(n=i)}return n||(t.openElements.shortenToLength(Math.max(r,0)),t.activeFormattingElements.removeEntry(e)),n}function KL(t,e,n){let r=e,i=t.openElements.getCommonAncestor(e);for(let o=0,s=i;s!==n;o++,s=i){i=t.openElements.getCommonAncestor(s);const n=t.activeFormattingElements.getElementEntry(s),a=n&&o>=3;!n||a?(a&&t.activeFormattingElements.removeEntry(n),t.openElements.remove(s)):(s=XL(t,n),r===e&&(t.activeFormattingElements.bookmark=n),t.treeAdapter.detachNode(r),t.treeAdapter.appendChild(s,r),r=s)}return r}function XL(t,e){const n=t.treeAdapter.getNamespaceURI(e.element),r=t.treeAdapter.createElement(e.token.tagName,n,e.token.attrs);return t.openElements.replace(e.element,r),e.element=r,r}function ZL(t,e,n){const r=X_(t.treeAdapter.getTagName(e));if(t._isElementCausesFosterParenting(r))t._fosterParentElement(n);else{const i=t.treeAdapter.getNamespaceURI(e);r===q_.TEMPLATE&&i===Y_.HTML&&(e=t.treeAdapter.getTemplateContent(e)),t.treeAdapter.appendChild(e,n)}}function $L(t,e,n){const r=t.treeAdapter.getNamespaceURI(n.element),{token:i}=n,o=t.treeAdapter.createElement(i.tagName,r,i.attrs);t._adoptNodes(e,o),t.treeAdapter.appendChild(e,o),t.activeFormattingElements.insertElementAfterBookmark(o,i),t.activeFormattingElements.removeEntry(n),t.openElements.remove(n.element),t.openElements.insertAfter(e,o,i.tagID)}function tx(t,e){for(let n=0;n<8;n++){const n=WL(t,e);if(!n)break;const r=qL(t,n);if(!r)break;t.activeFormattingElements.bookmark=n;const i=KL(t,r,n.element),o=t.openElements.getCommonAncestor(n.element);t.treeAdapter.detachNode(i),o&&ZL(t,o,i),$L(t,r,n)}}function ex(t,e){t._appendCommentNode(e,t.openElements.currentTmplContentOrNode)}function nx(t,e){if(t.stopped=!0,e.location){const n=t.fragmentContext?0:2;for(let r=t.openElements.stackTop;r>=n;r--)t._setEndLocation(t.openElements.items[r],e);if(!t.fragmentContext&&t.openElements.stackTop>=0){const n=t.openElements.items[0],r=t.treeAdapter.getNodeSourceCodeLocation(n);if(r&&!r.endTag&&(t._setEndLocation(n,e),t.openElements.stackTop>=1)){const n=t.openElements.items[1],r=t.treeAdapter.getNodeSourceCodeLocation(n);r&&!r.endTag&&t._setEndLocation(n,e)}}}}function rx(t,e){t._err(e,N_.missingDoctype,!0),t.treeAdapter.setDocumentMode(t.document,J_.QUIRKS),t.insertionMode=HL.BEFORE_HTML,t._processToken(e)}function ix(t,e){t._insertFakeRootElement(),t.insertionMode=HL.BEFORE_HEAD,t._processToken(e)}function ox(t,e){t._insertFakeElement(W_.HEAD,q_.HEAD),t.headElement=t.openElements.current,t.insertionMode=HL.IN_HEAD,t._processToken(e)}function sx(t,e){switch(e.tagID){case q_.HTML:mx(t,e);break;case q_.BASE:case q_.BASEFONT:case q_.BGSOUND:case q_.LINK:case q_.META:t._appendElement(e,Y_.HTML),e.ackSelfClosing=!0;break;case q_.TITLE:t._switchToTextParsing(e,nL.RCDATA);break;case q_.NOSCRIPT:t.options.scriptingEnabled?t._switchToTextParsing(e,nL.RAWTEXT):(t._insertElement(e,Y_.HTML),t.insertionMode=HL.IN_HEAD_NO_SCRIPT);break;case q_.NOFRAMES:case q_.STYLE:t._switchToTextParsing(e,nL.RAWTEXT);break;case q_.SCRIPT:t._switchToTextParsing(e,nL.SCRIPT_DATA);break;case q_.TEMPLATE:t._insertTemplate(e),t.activeFormattingElements.insertMarker(),t.framesetOk=!1,t.insertionMode=HL.IN_TEMPLATE,t.tmplInsertionModeStack.unshift(HL.IN_TEMPLATE);break;case q_.HEAD:t._err(e,N_.misplacedStartTagForHeadElement);break;default:cx(t,e)}}function ax(t,e){t.openElements.tmplCount>0?(t.openElements.generateImpliedEndTagsThoroughly(),t.openElements.currentTagId!==q_.TEMPLATE&&t._err(e,N_.closingOfElementWithOpenChildElements),t.openElements.popUntilTagNamePopped(q_.TEMPLATE),t.activeFormattingElements.clearToLastMarker(),t.tmplInsertionModeStack.shift(),t._resetInsertionMode()):t._err(e,N_.endTagWithoutMatchingOpenElement)}function cx(t,e){t.openElements.pop(),t.insertionMode=HL.AFTER_HEAD,t._processToken(e)}function lx(t,e){const n=e.type===S_.EOF?N_.openElementsLeftAfterEof:N_.disallowedContentInNoscriptInHead;t._err(e,n),t.openElements.pop(),t.insertionMode=HL.IN_HEAD,t._processToken(e)}function ux(t,e){t._insertFakeElement(W_.BODY,q_.BODY),t.insertionMode=HL.IN_BODY,hx(t,e)}function hx(t,e){switch(e.type){case S_.CHARACTER:px(t,e);break;case S_.WHITESPACE_CHARACTER:dx(t,e);break;case S_.COMMENT:ex(t,e);break;case S_.START_TAG:mx(t,e);break;case S_.END_TAG:yx(t,e);break;case S_.EOF:Ix(t,e)}}function dx(t,e){t._reconstructActiveFormattingElements(),t._insertCharacters(e)}function px(t,e){t._reconstructActiveFormattingElements(),t._insertCharacters(e),t.framesetOk=!1}function fx(t,e){t._reconstructActiveFormattingElements(),t._appendElement(e,Y_.HTML),t.framesetOk=!1,e.ackSelfClosing=!0}function Ax(t){const e=__(t,z_.TYPE);return null!=e&&"hidden"===e.toLowerCase()}function gx(t,e){t._switchToTextParsing(e,nL.RAWTEXT)}function Ex(t,e){t._reconstructActiveFormattingElements(),t._insertElement(e,Y_.HTML)}function mx(t,e){switch(e.tagID){case q_.I:case q_.S:case q_.B:case q_.U:case q_.EM:case q_.TT:case q_.BIG:case q_.CODE:case q_.FONT:case q_.SMALL:case q_.STRIKE:case q_.STRONG:!function(t,e){t._reconstructActiveFormattingElements(),t._insertElement(e,Y_.HTML),t.activeFormattingElements.pushElement(t.openElements.current,e)}(t,e);break;case q_.A:!function(t,e){const n=t.activeFormattingElements.getElementEntryInScopeWithTagName(W_.A);n&&(tx(t,e),t.openElements.remove(n.element),t.activeFormattingElements.removeEntry(n)),t._reconstructActiveFormattingElements(),t._insertElement(e,Y_.HTML),t.activeFormattingElements.pushElement(t.openElements.current,e)}(t,e);break;case q_.H1:case q_.H2:case q_.H3:case q_.H4:case q_.H5:case q_.H6:!function(t,e){t.openElements.hasInButtonScope(q_.P)&&t._closePElement(),void 0!==t.openElements.currentTagId&&tL.has(t.openElements.currentTagId)&&t.openElements.pop(),t._insertElement(e,Y_.HTML)}(t,e);break;case q_.P:case q_.DL:case q_.OL:case q_.UL:case q_.DIV:case q_.DIR:case q_.NAV:case q_.MAIN:case q_.MENU:case q_.ASIDE:case q_.CENTER:case q_.FIGURE:case q_.FOOTER:case q_.HEADER:case q_.HGROUP:case q_.DIALOG:case q_.DETAILS:case q_.ADDRESS:case q_.ARTICLE:case q_.SEARCH:case q_.SECTION:case q_.SUMMARY:case q_.FIELDSET:case q_.BLOCKQUOTE:case q_.FIGCAPTION:!function(t,e){t.openElements.hasInButtonScope(q_.P)&&t._closePElement(),t._insertElement(e,Y_.HTML)}(t,e);break;case q_.LI:case q_.DD:case q_.DT:!function(t,e){t.framesetOk=!1;const n=e.tagID;for(let e=t.openElements.stackTop;e>=0;e--){const r=t.openElements.tagIDs[e];if(n===q_.LI&&r===q_.LI||(n===q_.DD||n===q_.DT)&&(r===q_.DD||r===q_.DT)){t.openElements.generateImpliedEndTagsWithExclusion(r),t.openElements.popUntilTagNamePopped(r);break}if(r!==q_.ADDRESS&&r!==q_.DIV&&r!==q_.P&&t._isSpecialElement(t.openElements.items[e],r))break}t.openElements.hasInButtonScope(q_.P)&&t._closePElement(),t._insertElement(e,Y_.HTML)}(t,e);break;case q_.BR:case q_.IMG:case q_.WBR:case q_.AREA:case q_.EMBED:case q_.KEYGEN:fx(t,e);break;case q_.HR:!function(t,e){t.openElements.hasInButtonScope(q_.P)&&t._closePElement(),t._appendElement(e,Y_.HTML),t.framesetOk=!1,e.ackSelfClosing=!0}(t,e);break;case q_.RB:case q_.RTC:!function(t,e){t.openElements.hasInScope(q_.RUBY)&&t.openElements.generateImpliedEndTags(),t._insertElement(e,Y_.HTML)}(t,e);break;case q_.RT:case q_.RP:!function(t,e){t.openElements.hasInScope(q_.RUBY)&&t.openElements.generateImpliedEndTagsWithExclusion(q_.RTC),t._insertElement(e,Y_.HTML)}(t,e);break;case q_.PRE:case q_.LISTING:!function(t,e){t.openElements.hasInButtonScope(q_.P)&&t._closePElement(),t._insertElement(e,Y_.HTML),t.skipNextNewLine=!0,t.framesetOk=!1}(t,e);break;case q_.XMP:!function(t,e){t.openElements.hasInButtonScope(q_.P)&&t._closePElement(),t._reconstructActiveFormattingElements(),t.framesetOk=!1,t._switchToTextParsing(e,nL.RAWTEXT)}(t,e);break;case q_.SVG:!function(t,e){t._reconstructActiveFormattingElements(),PL(e),GL(e),e.selfClosing?t._appendElement(e,Y_.SVG):t._insertElement(e,Y_.SVG),e.ackSelfClosing=!0}(t,e);break;case q_.HTML:!function(t,e){0===t.openElements.tmplCount&&t.treeAdapter.adoptAttributes(t.openElements.items[0],e.attrs)}(t,e);break;case q_.BASE:case q_.LINK:case q_.META:case q_.STYLE:case q_.TITLE:case q_.SCRIPT:case q_.BGSOUND:case q_.BASEFONT:case q_.TEMPLATE:sx(t,e);break;case q_.BODY:!function(t,e){const n=t.openElements.tryPeekProperlyNestedBodyElement();n&&0===t.openElements.tmplCount&&(t.framesetOk=!1,t.treeAdapter.adoptAttributes(n,e.attrs))}(t,e);break;case q_.FORM:!function(t,e){const n=t.openElements.tmplCount>0;t.formElement&&!n||(t.openElements.hasInButtonScope(q_.P)&&t._closePElement(),t._insertElement(e,Y_.HTML),n||(t.formElement=t.openElements.current))}(t,e);break;case q_.NOBR:!function(t,e){t._reconstructActiveFormattingElements(),t.openElements.hasInScope(q_.NOBR)&&(tx(t,e),t._reconstructActiveFormattingElements()),t._insertElement(e,Y_.HTML),t.activeFormattingElements.pushElement(t.openElements.current,e)}(t,e);break;case q_.MATH:!function(t,e){t._reconstructActiveFormattingElements(),UL(e),GL(e),e.selfClosing?t._appendElement(e,Y_.MATHML):t._insertElement(e,Y_.MATHML),e.ackSelfClosing=!0}(t,e);break;case q_.TABLE:!function(t,e){t.treeAdapter.getDocumentMode(t.document)!==J_.QUIRKS&&t.openElements.hasInButtonScope(q_.P)&&t._closePElement(),t._insertElement(e,Y_.HTML),t.framesetOk=!1,t.insertionMode=HL.IN_TABLE}(t,e);break;case q_.INPUT:!function(t,e){t._reconstructActiveFormattingElements(),t._appendElement(e,Y_.HTML),Ax(e)||(t.framesetOk=!1),e.ackSelfClosing=!0}(t,e);break;case q_.PARAM:case q_.TRACK:case q_.SOURCE:!function(t,e){t._appendElement(e,Y_.HTML),e.ackSelfClosing=!0}(t,e);break;case q_.IMAGE:!function(t,e){e.tagName=W_.IMG,e.tagID=q_.IMG,fx(t,e)}(t,e);break;case q_.BUTTON:!function(t,e){t.openElements.hasInScope(q_.BUTTON)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(q_.BUTTON)),t._reconstructActiveFormattingElements(),t._insertElement(e,Y_.HTML),t.framesetOk=!1}(t,e);break;case q_.APPLET:case q_.OBJECT:case q_.MARQUEE:!function(t,e){t._reconstructActiveFormattingElements(),t._insertElement(e,Y_.HTML),t.activeFormattingElements.insertMarker(),t.framesetOk=!1}(t,e);break;case q_.IFRAME:!function(t,e){t.framesetOk=!1,t._switchToTextParsing(e,nL.RAWTEXT)}(t,e);break;case q_.SELECT:!function(t,e){t._reconstructActiveFormattingElements(),t._insertElement(e,Y_.HTML),t.framesetOk=!1,t.insertionMode=t.insertionMode===HL.IN_TABLE||t.insertionMode===HL.IN_CAPTION||t.insertionMode===HL.IN_TABLE_BODY||t.insertionMode===HL.IN_ROW||t.insertionMode===HL.IN_CELL?HL.IN_SELECT_IN_TABLE:HL.IN_SELECT}(t,e);break;case q_.OPTION:case q_.OPTGROUP:!function(t,e){t.openElements.currentTagId===q_.OPTION&&t.openElements.pop(),t._reconstructActiveFormattingElements(),t._insertElement(e,Y_.HTML)}(t,e);break;case q_.NOEMBED:case q_.NOFRAMES:gx(t,e);break;case q_.FRAMESET:!function(t,e){const n=t.openElements.tryPeekProperlyNestedBodyElement();t.framesetOk&&n&&(t.treeAdapter.detachNode(n),t.openElements.popAllUpToHtmlElement(),t._insertElement(e,Y_.HTML),t.insertionMode=HL.IN_FRAMESET)}(t,e);break;case q_.TEXTAREA:!function(t,e){t._insertElement(e,Y_.HTML),t.skipNextNewLine=!0,t.tokenizer.state=nL.RCDATA,t.originalInsertionMode=t.insertionMode,t.framesetOk=!1,t.insertionMode=HL.TEXT}(t,e);break;case q_.NOSCRIPT:t.options.scriptingEnabled?gx(t,e):Ex(t,e);break;case q_.PLAINTEXT:!function(t,e){t.openElements.hasInButtonScope(q_.P)&&t._closePElement(),t._insertElement(e,Y_.HTML),t.tokenizer.state=nL.PLAINTEXT}(t,e);break;case q_.COL:case q_.TH:case q_.TD:case q_.TR:case q_.HEAD:case q_.FRAME:case q_.TBODY:case q_.TFOOT:case q_.THEAD:case q_.CAPTION:case q_.COLGROUP:break;default:Ex(t,e)}}function wx(t,e){const n=e.tagName,r=e.tagID;for(let e=t.openElements.stackTop;e>0;e--){const i=t.openElements.items[e],o=t.openElements.tagIDs[e];if(r===o&&(r!==q_.UNKNOWN||t.treeAdapter.getTagName(i)===n)){t.openElements.generateImpliedEndTagsWithExclusion(r),t.openElements.stackTop>=e&&t.openElements.shortenToLength(e);break}if(t._isSpecialElement(i,o))break}}function yx(t,e){switch(e.tagID){case q_.A:case q_.B:case q_.I:case q_.S:case q_.U:case q_.EM:case q_.TT:case q_.BIG:case q_.CODE:case q_.FONT:case q_.NOBR:case q_.SMALL:case q_.STRIKE:case q_.STRONG:tx(t,e);break;case q_.P:!function(t){t.openElements.hasInButtonScope(q_.P)||t._insertFakeElement(W_.P,q_.P),t._closePElement()}(t);break;case q_.DL:case q_.UL:case q_.OL:case q_.DIR:case q_.DIV:case q_.NAV:case q_.PRE:case q_.MAIN:case q_.MENU:case q_.ASIDE:case q_.BUTTON:case q_.CENTER:case q_.FIGURE:case q_.FOOTER:case q_.HEADER:case q_.HGROUP:case q_.DIALOG:case q_.ADDRESS:case q_.ARTICLE:case q_.DETAILS:case q_.SEARCH:case q_.SECTION:case q_.SUMMARY:case q_.LISTING:case q_.FIELDSET:case q_.BLOCKQUOTE:case q_.FIGCAPTION:!function(t,e){const n=e.tagID;t.openElements.hasInScope(n)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(n))}(t,e);break;case q_.LI:!function(t){t.openElements.hasInListItemScope(q_.LI)&&(t.openElements.generateImpliedEndTagsWithExclusion(q_.LI),t.openElements.popUntilTagNamePopped(q_.LI))}(t);break;case q_.DD:case q_.DT:!function(t,e){const n=e.tagID;t.openElements.hasInScope(n)&&(t.openElements.generateImpliedEndTagsWithExclusion(n),t.openElements.popUntilTagNamePopped(n))}(t,e);break;case q_.H1:case q_.H2:case q_.H3:case q_.H4:case q_.H5:case q_.H6:!function(t){t.openElements.hasNumberedHeaderInScope()&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilNumberedHeaderPopped())}(t);break;case q_.BR:!function(t){t._reconstructActiveFormattingElements(),t._insertFakeElement(W_.BR,q_.BR),t.openElements.pop(),t.framesetOk=!1}(t);break;case q_.BODY:!function(t,e){if(t.openElements.hasInScope(q_.BODY)&&(t.insertionMode=HL.AFTER_BODY,t.options.sourceCodeLocationInfo)){const n=t.openElements.tryPeekProperlyNestedBodyElement();n&&t._setEndLocation(n,e)}}(t,e);break;case q_.HTML:!function(t,e){t.openElements.hasInScope(q_.BODY)&&(t.insertionMode=HL.AFTER_BODY,Ux(t,e))}(t,e);break;case q_.FORM:!function(t){const e=t.openElements.tmplCount>0,{formElement:n}=t;e||(t.formElement=null),(n||e)&&t.openElements.hasInScope(q_.FORM)&&(t.openElements.generateImpliedEndTags(),e?t.openElements.popUntilTagNamePopped(q_.FORM):n&&t.openElements.remove(n))}(t);break;case q_.APPLET:case q_.OBJECT:case q_.MARQUEE:!function(t,e){const n=e.tagID;t.openElements.hasInScope(n)&&(t.openElements.generateImpliedEndTags(),t.openElements.popUntilTagNamePopped(n),t.activeFormattingElements.clearToLastMarker())}(t,e);break;case q_.TEMPLATE:ax(t,e);break;default:wx(t,e)}}function Ix(t,e){t.tmplInsertionModeStack.length>0?kx(t,e):nx(t,e)}function Cx(t,e){if(void 0!==t.openElements.currentTagId&&YL.has(t.openElements.currentTagId))switch(t.pendingCharacterTokens.length=0,t.hasNonWhitespacePendingCharacterToken=!1,t.originalInsertionMode=t.insertionMode,t.insertionMode=HL.IN_TABLE_TEXT,e.type){case S_.CHARACTER:Mx(t,e);break;case S_.WHITESPACE_CHARACTER:bx(t,e)}else Dx(t,e)}function Bx(t,e){switch(e.tagID){case q_.TD:case q_.TH:case q_.TR:!function(t,e){t.openElements.clearBackToTableContext(),t._insertFakeElement(W_.TBODY,q_.TBODY),t.insertionMode=HL.IN_TABLE_BODY,Lx(t,e)}(t,e);break;case q_.STYLE:case q_.SCRIPT:case q_.TEMPLATE:sx(t,e);break;case q_.COL:!function(t,e){t.openElements.clearBackToTableContext(),t._insertFakeElement(W_.COLGROUP,q_.COLGROUP),t.insertionMode=HL.IN_COLUMN_GROUP,Sx(t,e)}(t,e);break;case q_.FORM:!function(t,e){t.formElement||0!==t.openElements.tmplCount||(t._insertElement(e,Y_.HTML),t.formElement=t.openElements.current,t.openElements.pop())}(t,e);break;case q_.TABLE:!function(t,e){t.openElements.hasInTableScope(q_.TABLE)&&(t.openElements.popUntilTagNamePopped(q_.TABLE),t._resetInsertionMode(),t._processStartTag(e))}(t,e);break;case q_.TBODY:case q_.TFOOT:case q_.THEAD:!function(t,e){t.openElements.clearBackToTableContext(),t._insertElement(e,Y_.HTML),t.insertionMode=HL.IN_TABLE_BODY}(t,e);break;case q_.INPUT:!function(t,e){Ax(e)?t._appendElement(e,Y_.HTML):Dx(t,e),e.ackSelfClosing=!0}(t,e);break;case q_.CAPTION:!function(t,e){t.openElements.clearBackToTableContext(),t.activeFormattingElements.insertMarker(),t._insertElement(e,Y_.HTML),t.insertionMode=HL.IN_CAPTION}(t,e);break;case q_.COLGROUP:!function(t,e){t.openElements.clearBackToTableContext(),t._insertElement(e,Y_.HTML),t.insertionMode=HL.IN_COLUMN_GROUP}(t,e);break;default:Dx(t,e)}}function Tx(t,e){switch(e.tagID){case q_.TABLE:t.openElements.hasInTableScope(q_.TABLE)&&(t.openElements.popUntilTagNamePopped(q_.TABLE),t._resetInsertionMode());break;case q_.TEMPLATE:ax(t,e);break;case q_.BODY:case q_.CAPTION:case q_.COL:case q_.COLGROUP:case q_.HTML:case q_.TBODY:case q_.TD:case q_.TFOOT:case q_.TH:case q_.THEAD:case q_.TR:break;default:Dx(t,e)}}function Dx(t,e){const n=t.fosterParentingEnabled;t.fosterParentingEnabled=!0,hx(t,e),t.fosterParentingEnabled=n}function bx(t,e){t.pendingCharacterTokens.push(e)}function Mx(t,e){t.pendingCharacterTokens.push(e),t.hasNonWhitespacePendingCharacterToken=!0}function Nx(t,e){let n=0;if(t.hasNonWhitespacePendingCharacterToken)for(;n<t.pendingCharacterTokens.length;n++)Dx(t,t.pendingCharacterTokens[n]);else for(;n<t.pendingCharacterTokens.length;n++)t._insertCharacters(t.pendingCharacterTokens[n]);t.insertionMode=t.originalInsertionMode,t._processToken(e)}const vx=new Set([q_.CAPTION,q_.COL,q_.COLGROUP,q_.TBODY,q_.TD,q_.TFOOT,q_.TH,q_.THEAD,q_.TR]);function Sx(t,e){switch(e.tagID){case q_.HTML:mx(t,e);break;case q_.COL:t._appendElement(e,Y_.HTML),e.ackSelfClosing=!0;break;case q_.TEMPLATE:sx(t,e);break;default:_x(t,e)}}function _x(t,e){t.openElements.currentTagId===q_.COLGROUP&&(t.openElements.pop(),t.insertionMode=HL.IN_TABLE,t._processToken(e))}function Lx(t,e){switch(e.tagID){case q_.TR:t.openElements.clearBackToTableBodyContext(),t._insertElement(e,Y_.HTML),t.insertionMode=HL.IN_ROW;break;case q_.TH:case q_.TD:t.openElements.clearBackToTableBodyContext(),t._insertFakeElement(W_.TR,q_.TR),t.insertionMode=HL.IN_ROW,Rx(t,e);break;case q_.CAPTION:case q_.COL:case q_.COLGROUP:case q_.TBODY:case q_.TFOOT:case q_.THEAD:t.openElements.hasTableBodyContextInTableScope()&&(t.openElements.clearBackToTableBodyContext(),t.openElements.pop(),t.insertionMode=HL.IN_TABLE,Bx(t,e));break;default:Bx(t,e)}}function xx(t,e){const n=e.tagID;switch(e.tagID){case q_.TBODY:case q_.TFOOT:case q_.THEAD:t.openElements.hasInTableScope(n)&&(t.openElements.clearBackToTableBodyContext(),t.openElements.pop(),t.insertionMode=HL.IN_TABLE);break;case q_.TABLE:t.openElements.hasTableBodyContextInTableScope()&&(t.openElements.clearBackToTableBodyContext(),t.openElements.pop(),t.insertionMode=HL.IN_TABLE,Tx(t,e));break;case q_.BODY:case q_.CAPTION:case q_.COL:case q_.COLGROUP:case q_.HTML:case q_.TD:case q_.TH:case q_.TR:break;default:Tx(t,e)}}function Rx(t,e){switch(e.tagID){case q_.TH:case q_.TD:t.openElements.clearBackToTableRowContext(),t._insertElement(e,Y_.HTML),t.insertionMode=HL.IN_CELL,t.activeFormattingElements.insertMarker();break;case q_.CAPTION:case q_.COL:case q_.COLGROUP:case q_.TBODY:case q_.TFOOT:case q_.THEAD:case q_.TR:t.openElements.hasInTableScope(q_.TR)&&(t.openElements.clearBackToTableRowContext(),t.openElements.pop(),t.insertionMode=HL.IN_TABLE_BODY,Lx(t,e));break;default:Bx(t,e)}}function Fx(t,e){switch(e.tagID){case q_.TR:t.openElements.hasInTableScope(q_.TR)&&(t.openElements.clearBackToTableRowContext(),t.openElements.pop(),t.insertionMode=HL.IN_TABLE_BODY);break;case q_.TABLE:t.openElements.hasInTableScope(q_.TR)&&(t.openElements.clearBackToTableRowContext(),t.openElements.pop(),t.insertionMode=HL.IN_TABLE_BODY,xx(t,e));break;case q_.TBODY:case q_.TFOOT:case q_.THEAD:(t.openElements.hasInTableScope(e.tagID)||t.openElements.hasInTableScope(q_.TR))&&(t.openElements.clearBackToTableRowContext(),t.openElements.pop(),t.insertionMode=HL.IN_TABLE_BODY,xx(t,e));break;case q_.BODY:case q_.CAPTION:case q_.COL:case q_.COLGROUP:case q_.HTML:case q_.TD:case q_.TH:break;default:Tx(t,e)}}function Ox(t,e){switch(e.tagID){case q_.HTML:mx(t,e);break;case q_.OPTION:t.openElements.currentTagId===q_.OPTION&&t.openElements.pop(),t._insertElement(e,Y_.HTML);break;case q_.OPTGROUP:t.openElements.currentTagId===q_.OPTION&&t.openElements.pop(),t.openElements.currentTagId===q_.OPTGROUP&&t.openElements.pop(),t._insertElement(e,Y_.HTML);break;case q_.HR:t.openElements.currentTagId===q_.OPTION&&t.openElements.pop(),t.openElements.currentTagId===q_.OPTGROUP&&t.openElements.pop(),t._appendElement(e,Y_.HTML),e.ackSelfClosing=!0;break;case q_.INPUT:case q_.KEYGEN:case q_.TEXTAREA:case q_.SELECT:t.openElements.hasInSelectScope(q_.SELECT)&&(t.openElements.popUntilTagNamePopped(q_.SELECT),t._resetInsertionMode(),e.tagID!==q_.SELECT&&t._processStartTag(e));break;case q_.SCRIPT:case q_.TEMPLATE:sx(t,e)}}function Qx(t,e){switch(e.tagID){case q_.OPTGROUP:t.openElements.stackTop>0&&t.openElements.currentTagId===q_.OPTION&&t.openElements.tagIDs[t.openElements.stackTop-1]===q_.OPTGROUP&&t.openElements.pop(),t.openElements.currentTagId===q_.OPTGROUP&&t.openElements.pop();break;case q_.OPTION:t.openElements.currentTagId===q_.OPTION&&t.openElements.pop();break;case q_.SELECT:t.openElements.hasInSelectScope(q_.SELECT)&&(t.openElements.popUntilTagNamePopped(q_.SELECT),t._resetInsertionMode());break;case q_.TEMPLATE:ax(t,e)}}function kx(t,e){t.openElements.tmplCount>0?(t.openElements.popUntilTagNamePopped(q_.TEMPLATE),t.activeFormattingElements.clearToLastMarker(),t.tmplInsertionModeStack.shift(),t._resetInsertionMode(),t.onEof(e)):nx(t,e)}function Ux(t,e){var n;if(e.tagID===q_.HTML){if(t.fragmentContext||(t.insertionMode=HL.AFTER_AFTER_BODY),t.options.sourceCodeLocationInfo&&t.openElements.tagIDs[0]===q_.HTML){t._setEndLocation(t.openElements.items[0],e);const r=t.openElements.items[1];r&&!(null===(n=t.treeAdapter.getNodeSourceCodeLocation(r))||void 0===n?void 0:n.endTag)&&t._setEndLocation(r,e)}}else Px(t,e)}function Px(t,e){t.insertionMode=HL.IN_BODY,hx(t,e)}function Gx(t,e){t.insertionMode=HL.IN_BODY,hx(t,e)}function Vx(t){for(;t.treeAdapter.getNamespaceURI(t.openElements.current)!==Y_.HTML&&void 0!==t.openElements.currentTagId&&!t._isIntegrationPoint(t.openElements.currentTagId,t.openElements.current);)t.openElements.pop()}new Map([[34,"&quot;"],[38,"&amp;"],[39,"&apos;"],[60,"&lt;"],[62,"&gt;"]]),String.prototype.codePointAt;function Hx(t,e){return function(n){let r,i=0,o="";for(;t.exec(n);)i!==r.index&&n.substring(i,r.index),e.get(r[0].charCodeAt(0)),r.index+1;return o+n.substring(i)}}new Map([[34,"&quot;"],[38,"&amp;"],[160,"&nbsp;"]]),new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[160,"&nbsp;"]]),new Set([W_.AREA,W_.BASE,W_.BASEFONT,W_.BGSOUND,W_.BR,W_.COL,W_.EMBED,W_.FRAME,W_.HR,W_.IMG,W_.INPUT,W_.KEYGEN,W_.LINK,W_.META,W_.PARAM,W_.SOURCE,W_.TRACK,W_.WBR]);new Set([65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]);var jx;!function(t){t[t.EOF=-1]="EOF",t[t.NULL=0]="NULL",t[t.TABULATION=9]="TABULATION",t[t.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",t[t.LINE_FEED=10]="LINE_FEED",t[t.FORM_FEED=12]="FORM_FEED",t[t.SPACE=32]="SPACE",t[t.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",t[t.QUOTATION_MARK=34]="QUOTATION_MARK",t[t.AMPERSAND=38]="AMPERSAND",t[t.APOSTROPHE=39]="APOSTROPHE",t[t.HYPHEN_MINUS=45]="HYPHEN_MINUS",t[t.SOLIDUS=47]="SOLIDUS",t[t.DIGIT_0=48]="DIGIT_0",t[t.DIGIT_9=57]="DIGIT_9",t[t.SEMICOLON=59]="SEMICOLON",t[t.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",t[t.EQUALS_SIGN=61]="EQUALS_SIGN",t[t.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",t[t.QUESTION_MARK=63]="QUESTION_MARK",t[t.LATIN_CAPITAL_A=65]="LATIN_CAPITAL_A",t[t.LATIN_CAPITAL_Z=90]="LATIN_CAPITAL_Z",t[t.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",t[t.GRAVE_ACCENT=96]="GRAVE_ACCENT",t[t.LATIN_SMALL_A=97]="LATIN_SMALL_A",t[t.LATIN_SMALL_Z=122]="LATIN_SMALL_Z"}(jx||(jx={}));var Yx;!function(t){t.controlCharacterInInputStream="control-character-in-input-stream",t.noncharacterInInputStream="noncharacter-in-input-stream",t.surrogateInInputStream="surrogate-in-input-stream",t.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",t.endTagWithAttributes="end-tag-with-attributes",t.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",t.unexpectedSolidusInTag="unexpected-solidus-in-tag",t.unexpectedNullCharacter="unexpected-null-character",t.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",t.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",t.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",t.missingEndTagName="missing-end-tag-name",t.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",t.unknownNamedCharacterReference="unknown-named-character-reference",t.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",t.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",t.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",t.eofBeforeTagName="eof-before-tag-name",t.eofInTag="eof-in-tag",t.missingAttributeValue="missing-attribute-value",t.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",t.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",t.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",t.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",t.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",t.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",t.missingDoctypePublicIdentifier="missing-doctype-public-identifier",t.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",t.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",t.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",t.cdataInHtmlContent="cdata-in-html-content",t.incorrectlyOpenedComment="incorrectly-opened-comment",t.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",t.eofInDoctype="eof-in-doctype",t.nestedComment="nested-comment",t.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",t.eofInComment="eof-in-comment",t.incorrectlyClosedComment="incorrectly-closed-comment",t.eofInCdata="eof-in-cdata",t.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",t.nullCharacterReference="null-character-reference",t.surrogateCharacterReference="surrogate-character-reference",t.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",t.controlCharacterReference="control-character-reference",t.noncharacterCharacterReference="noncharacter-character-reference",t.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",t.missingDoctypeName="missing-doctype-name",t.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",t.duplicateAttribute="duplicate-attribute",t.nonConformingDoctype="non-conforming-doctype",t.missingDoctype="missing-doctype",t.misplacedDoctype="misplaced-doctype",t.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",t.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",t.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",t.openElementsLeftAfterEof="open-elements-left-after-eof",t.abandonedHeadElementChild="abandoned-head-element-child",t.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",t.nestedNoscriptInHead="nested-noscript-in-head",t.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"}(Yx||(Yx={}));var zx;!function(t){t[t.CHARACTER=0]="CHARACTER",t[t.NULL_CHARACTER=1]="NULL_CHARACTER",t[t.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",t[t.START_TAG=3]="START_TAG",t[t.END_TAG=4]="END_TAG",t[t.COMMENT=5]="COMMENT",t[t.DOCTYPE=6]="DOCTYPE",t[t.EOF=7]="EOF",t[t.HIBERNATION=8]="HIBERNATION"}(zx||(zx={}));var Jx;new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),Jx=String.fromCodePoint;var Wx;!function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.EQUALS=61]="EQUALS",t[t.ZERO=48]="ZERO",t[t.NINE=57]="NINE",t[t.LOWER_A=97]="LOWER_A",t[t.LOWER_F=102]="LOWER_F",t[t.LOWER_X=120]="LOWER_X",t[t.LOWER_Z=122]="LOWER_Z",t[t.UPPER_A=65]="UPPER_A",t[t.UPPER_F=70]="UPPER_F",t[t.UPPER_Z=90]="UPPER_Z"}(Wx||(Wx={}));var qx,Kx,Xx;!function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"}(qx||(qx={})),function(t){t[t.EntityStart=0]="EntityStart",t[t.NumericStart=1]="NumericStart",t[t.NumericDecimal=2]="NumericDecimal",t[t.NumericHex=3]="NumericHex",t[t.NamedEntity=4]="NamedEntity"}(Kx||(Kx={})),function(t){t[t.Legacy=0]="Legacy",t[t.Strict=1]="Strict",t[t.Attribute=2]="Attribute"}(Xx||(Xx={}));var Zx,$x,tR,eR,nR;!function(t){t.HTML="http://www.w3.org/1999/xhtml",t.MATHML="http://www.w3.org/1998/Math/MathML",t.SVG="http://www.w3.org/2000/svg",t.XLINK="http://www.w3.org/1999/xlink",t.XML="http://www.w3.org/XML/1998/namespace",t.XMLNS="http://www.w3.org/2000/xmlns/"}(Zx||(Zx={})),function(t){t.TYPE="type",t.ACTION="action",t.ENCODING="encoding",t.PROMPT="prompt",t.NAME="name",t.COLOR="color",t.FACE="face",t.SIZE="size"}($x||($x={})),function(t){t.NO_QUIRKS="no-quirks",t.QUIRKS="quirks",t.LIMITED_QUIRKS="limited-quirks"}(tR||(tR={})),function(t){t.A="a",t.ADDRESS="address",t.ANNOTATION_XML="annotation-xml",t.APPLET="applet",t.AREA="area",t.ARTICLE="article",t.ASIDE="aside",t.B="b",t.BASE="base",t.BASEFONT="basefont",t.BGSOUND="bgsound",t.BIG="big",t.BLOCKQUOTE="blockquote",t.BODY="body",t.BR="br",t.BUTTON="button",t.CAPTION="caption",t.CENTER="center",t.CODE="code",t.COL="col",t.COLGROUP="colgroup",t.DD="dd",t.DESC="desc",t.DETAILS="details",t.DIALOG="dialog",t.DIR="dir",t.DIV="div",t.DL="dl",t.DT="dt",t.EM="em",t.EMBED="embed",t.FIELDSET="fieldset",t.FIGCAPTION="figcaption",t.FIGURE="figure",t.FONT="font",t.FOOTER="footer",t.FOREIGN_OBJECT="foreignObject",t.FORM="form",t.FRAME="frame",t.FRAMESET="frameset",t.H1="h1",t.H2="h2",t.H3="h3",t.H4="h4",t.H5="h5",t.H6="h6",t.HEAD="head",t.HEADER="header",t.HGROUP="hgroup",t.HR="hr",t.HTML="html",t.I="i",t.IMG="img",t.IMAGE="image",t.INPUT="input",t.IFRAME="iframe",t.KEYGEN="keygen",t.LABEL="label",t.LI="li",t.LINK="link",t.LISTING="listing",t.MAIN="main",t.MALIGNMARK="malignmark",t.MARQUEE="marquee",t.MATH="math",t.MENU="menu",t.META="meta",t.MGLYPH="mglyph",t.MI="mi",t.MO="mo",t.MN="mn",t.MS="ms",t.MTEXT="mtext",t.NAV="nav",t.NOBR="nobr",t.NOFRAMES="noframes",t.NOEMBED="noembed",t.NOSCRIPT="noscript",t.OBJECT="object",t.OL="ol",t.OPTGROUP="optgroup",t.OPTION="option",t.P="p",t.PARAM="param",t.PLAINTEXT="plaintext",t.PRE="pre",t.RB="rb",t.RP="rp",t.RT="rt",t.RTC="rtc",t.RUBY="ruby",t.S="s",t.SCRIPT="script",t.SEARCH="search",t.SECTION="section",t.SELECT="select",t.SOURCE="source",t.SMALL="small",t.SPAN="span",t.STRIKE="strike",t.STRONG="strong",t.STYLE="style",t.SUB="sub",t.SUMMARY="summary",t.SUP="sup",t.TABLE="table",t.TBODY="tbody",t.TEMPLATE="template",t.TEXTAREA="textarea",t.TFOOT="tfoot",t.TD="td",t.TH="th",t.THEAD="thead",t.TITLE="title",t.TR="tr",t.TRACK="track",t.TT="tt",t.U="u",t.UL="ul",t.SVG="svg",t.VAR="var",t.WBR="wbr",t.XMP="xmp"}(eR||(eR={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.A=1]="A",t[t.ADDRESS=2]="ADDRESS",t[t.ANNOTATION_XML=3]="ANNOTATION_XML",t[t.APPLET=4]="APPLET",t[t.AREA=5]="AREA",t[t.ARTICLE=6]="ARTICLE",t[t.ASIDE=7]="ASIDE",t[t.B=8]="B",t[t.BASE=9]="BASE",t[t.BASEFONT=10]="BASEFONT",t[t.BGSOUND=11]="BGSOUND",t[t.BIG=12]="BIG",t[t.BLOCKQUOTE=13]="BLOCKQUOTE",t[t.BODY=14]="BODY",t[t.BR=15]="BR",t[t.BUTTON=16]="BUTTON",t[t.CAPTION=17]="CAPTION",t[t.CENTER=18]="CENTER",t[t.CODE=19]="CODE",t[t.COL=20]="COL",t[t.COLGROUP=21]="COLGROUP",t[t.DD=22]="DD",t[t.DESC=23]="DESC",t[t.DETAILS=24]="DETAILS",t[t.DIALOG=25]="DIALOG",t[t.DIR=26]="DIR",t[t.DIV=27]="DIV",t[t.DL=28]="DL",t[t.DT=29]="DT",t[t.EM=30]="EM",t[t.EMBED=31]="EMBED",t[t.FIELDSET=32]="FIELDSET",t[t.FIGCAPTION=33]="FIGCAPTION",t[t.FIGURE=34]="FIGURE",t[t.FONT=35]="FONT",t[t.FOOTER=36]="FOOTER",t[t.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",t[t.FORM=38]="FORM",t[t.FRAME=39]="FRAME",t[t.FRAMESET=40]="FRAMESET",t[t.H1=41]="H1",t[t.H2=42]="H2",t[t.H3=43]="H3",t[t.H4=44]="H4",t[t.H5=45]="H5",t[t.H6=46]="H6",t[t.HEAD=47]="HEAD",t[t.HEADER=48]="HEADER",t[t.HGROUP=49]="HGROUP",t[t.HR=50]="HR",t[t.HTML=51]="HTML",t[t.I=52]="I",t[t.IMG=53]="IMG",t[t.IMAGE=54]="IMAGE",t[t.INPUT=55]="INPUT",t[t.IFRAME=56]="IFRAME",t[t.KEYGEN=57]="KEYGEN",t[t.LABEL=58]="LABEL",t[t.LI=59]="LI",t[t.LINK=60]="LINK",t[t.LISTING=61]="LISTING",t[t.MAIN=62]="MAIN",t[t.MALIGNMARK=63]="MALIGNMARK",t[t.MARQUEE=64]="MARQUEE",t[t.MATH=65]="MATH",t[t.MENU=66]="MENU",t[t.META=67]="META",t[t.MGLYPH=68]="MGLYPH",t[t.MI=69]="MI",t[t.MO=70]="MO",t[t.MN=71]="MN",t[t.MS=72]="MS",t[t.MTEXT=73]="MTEXT",t[t.NAV=74]="NAV",t[t.NOBR=75]="NOBR",t[t.NOFRAMES=76]="NOFRAMES",t[t.NOEMBED=77]="NOEMBED",t[t.NOSCRIPT=78]="NOSCRIPT",t[t.OBJECT=79]="OBJECT",t[t.OL=80]="OL",t[t.OPTGROUP=81]="OPTGROUP",t[t.OPTION=82]="OPTION",t[t.P=83]="P",t[t.PARAM=84]="PARAM",t[t.PLAINTEXT=85]="PLAINTEXT",t[t.PRE=86]="PRE",t[t.RB=87]="RB",t[t.RP=88]="RP",t[t.RT=89]="RT",t[t.RTC=90]="RTC",t[t.RUBY=91]="RUBY",t[t.S=92]="S",t[t.SCRIPT=93]="SCRIPT",t[t.SEARCH=94]="SEARCH",t[t.SECTION=95]="SECTION",t[t.SELECT=96]="SELECT",t[t.SOURCE=97]="SOURCE",t[t.SMALL=98]="SMALL",t[t.SPAN=99]="SPAN",t[t.STRIKE=100]="STRIKE",t[t.STRONG=101]="STRONG",t[t.STYLE=102]="STYLE",t[t.SUB=103]="SUB",t[t.SUMMARY=104]="SUMMARY",t[t.SUP=105]="SUP",t[t.TABLE=106]="TABLE",t[t.TBODY=107]="TBODY",t[t.TEMPLATE=108]="TEMPLATE",t[t.TEXTAREA=109]="TEXTAREA",t[t.TFOOT=110]="TFOOT",t[t.TD=111]="TD",t[t.TH=112]="TH",t[t.THEAD=113]="THEAD",t[t.TITLE=114]="TITLE",t[t.TR=115]="TR",t[t.TRACK=116]="TRACK",t[t.TT=117]="TT",t[t.U=118]="U",t[t.UL=119]="UL",t[t.SVG=120]="SVG",t[t.VAR=121]="VAR",t[t.WBR=122]="WBR",t[t.XMP=123]="XMP"}(nR||(nR={}));new Map([[eR.A,nR.A],[eR.ADDRESS,nR.ADDRESS],[eR.ANNOTATION_XML,nR.ANNOTATION_XML],[eR.APPLET,nR.APPLET],[eR.AREA,nR.AREA],[eR.ARTICLE,nR.ARTICLE],[eR.ASIDE,nR.ASIDE],[eR.B,nR.B],[eR.BASE,nR.BASE],[eR.BASEFONT,nR.BASEFONT],[eR.BGSOUND,nR.BGSOUND],[eR.BIG,nR.BIG],[eR.BLOCKQUOTE,nR.BLOCKQUOTE],[eR.BODY,nR.BODY],[eR.BR,nR.BR],[eR.BUTTON,nR.BUTTON],[eR.CAPTION,nR.CAPTION],[eR.CENTER,nR.CENTER],[eR.CODE,nR.CODE],[eR.COL,nR.COL],[eR.COLGROUP,nR.COLGROUP],[eR.DD,nR.DD],[eR.DESC,nR.DESC],[eR.DETAILS,nR.DETAILS],[eR.DIALOG,nR.DIALOG],[eR.DIR,nR.DIR],[eR.DIV,nR.DIV],[eR.DL,nR.DL],[eR.DT,nR.DT],[eR.EM,nR.EM],[eR.EMBED,nR.EMBED],[eR.FIELDSET,nR.FIELDSET],[eR.FIGCAPTION,nR.FIGCAPTION],[eR.FIGURE,nR.FIGURE],[eR.FONT,nR.FONT],[eR.FOOTER,nR.FOOTER],[eR.FOREIGN_OBJECT,nR.FOREIGN_OBJECT],[eR.FORM,nR.FORM],[eR.FRAME,nR.FRAME],[eR.FRAMESET,nR.FRAMESET],[eR.H1,nR.H1],[eR.H2,nR.H2],[eR.H3,nR.H3],[eR.H4,nR.H4],[eR.H5,nR.H5],[eR.H6,nR.H6],[eR.HEAD,nR.HEAD],[eR.HEADER,nR.HEADER],[eR.HGROUP,nR.HGROUP],[eR.HR,nR.HR],[eR.HTML,nR.HTML],[eR.I,nR.I],[eR.IMG,nR.IMG],[eR.IMAGE,nR.IMAGE],[eR.INPUT,nR.INPUT],[eR.IFRAME,nR.IFRAME],[eR.KEYGEN,nR.KEYGEN],[eR.LABEL,nR.LABEL],[eR.LI,nR.LI],[eR.LINK,nR.LINK],[eR.LISTING,nR.LISTING],[eR.MAIN,nR.MAIN],[eR.MALIGNMARK,nR.MALIGNMARK],[eR.MARQUEE,nR.MARQUEE],[eR.MATH,nR.MATH],[eR.MENU,nR.MENU],[eR.META,nR.META],[eR.MGLYPH,nR.MGLYPH],[eR.MI,nR.MI],[eR.MO,nR.MO],[eR.MN,nR.MN],[eR.MS,nR.MS],[eR.MTEXT,nR.MTEXT],[eR.NAV,nR.NAV],[eR.NOBR,nR.NOBR],[eR.NOFRAMES,nR.NOFRAMES],[eR.NOEMBED,nR.NOEMBED],[eR.NOSCRIPT,nR.NOSCRIPT],[eR.OBJECT,nR.OBJECT],[eR.OL,nR.OL],[eR.OPTGROUP,nR.OPTGROUP],[eR.OPTION,nR.OPTION],[eR.P,nR.P],[eR.PARAM,nR.PARAM],[eR.PLAINTEXT,nR.PLAINTEXT],[eR.PRE,nR.PRE],[eR.RB,nR.RB],[eR.RP,nR.RP],[eR.RT,nR.RT],[eR.RTC,nR.RTC],[eR.RUBY,nR.RUBY],[eR.S,nR.S],[eR.SCRIPT,nR.SCRIPT],[eR.SEARCH,nR.SEARCH],[eR.SECTION,nR.SECTION],[eR.SELECT,nR.SELECT],[eR.SOURCE,nR.SOURCE],[eR.SMALL,nR.SMALL],[eR.SPAN,nR.SPAN],[eR.STRIKE,nR.STRIKE],[eR.STRONG,nR.STRONG],[eR.STYLE,nR.STYLE],[eR.SUB,nR.SUB],[eR.SUMMARY,nR.SUMMARY],[eR.SUP,nR.SUP],[eR.TABLE,nR.TABLE],[eR.TBODY,nR.TBODY],[eR.TEMPLATE,nR.TEMPLATE],[eR.TEXTAREA,nR.TEXTAREA],[eR.TFOOT,nR.TFOOT],[eR.TD,nR.TD],[eR.TH,nR.TH],[eR.THEAD,nR.THEAD],[eR.TITLE,nR.TITLE],[eR.TR,nR.TR],[eR.TRACK,nR.TRACK],[eR.TT,nR.TT],[eR.U,nR.U],[eR.UL,nR.UL],[eR.SVG,nR.SVG],[eR.VAR,nR.VAR],[eR.WBR,nR.WBR],[eR.XMP,nR.XMP]]);const rR=nR;Zx.HTML,new Set([rR.ADDRESS,rR.APPLET,rR.AREA,rR.ARTICLE,rR.ASIDE,rR.BASE,rR.BASEFONT,rR.BGSOUND,rR.BLOCKQUOTE,rR.BODY,rR.BR,rR.BUTTON,rR.CAPTION,rR.CENTER,rR.COL,rR.COLGROUP,rR.DD,rR.DETAILS,rR.DIR,rR.DIV,rR.DL,rR.DT,rR.EMBED,rR.FIELDSET,rR.FIGCAPTION,rR.FIGURE,rR.FOOTER,rR.FORM,rR.FRAME,rR.FRAMESET,rR.H1,rR.H2,rR.H3,rR.H4,rR.H5,rR.H6,rR.HEAD,rR.HEADER,rR.HGROUP,rR.HR,rR.HTML,rR.IFRAME,rR.IMG,rR.INPUT,rR.LI,rR.LINK,rR.LISTING,rR.MAIN,rR.MARQUEE,rR.MENU,rR.META,rR.NAV,rR.NOEMBED,rR.NOFRAMES,rR.NOSCRIPT,rR.OBJECT,rR.OL,rR.P,rR.PARAM,rR.PLAINTEXT,rR.PRE,rR.SCRIPT,rR.SECTION,rR.SELECT,rR.SOURCE,rR.STYLE,rR.SUMMARY,rR.TABLE,rR.TBODY,rR.TD,rR.TEMPLATE,rR.TEXTAREA,rR.TFOOT,rR.TH,rR.THEAD,rR.TITLE,rR.TR,rR.TRACK,rR.UL,rR.WBR,rR.XMP]),Zx.MATHML,new Set([rR.MI,rR.MO,rR.MN,rR.MS,rR.MTEXT,rR.ANNOTATION_XML]),Zx.SVG,new Set([rR.TITLE,rR.FOREIGN_OBJECT,rR.DESC]),Zx.XLINK,new Set,Zx.XML,new Set,Zx.XMLNS,new Set,new Set([rR.H1,rR.H2,rR.H3,rR.H4,rR.H5,rR.H6]),new Set([eR.STYLE,eR.SCRIPT,eR.XMP,eR.IFRAME,eR.NOEMBED,eR.NOFRAMES,eR.PLAINTEXT]);var iR;!function(t){t[t.DATA=0]="DATA",t[t.RCDATA=1]="RCDATA",t[t.RAWTEXT=2]="RAWTEXT",t[t.SCRIPT_DATA=3]="SCRIPT_DATA",t[t.PLAINTEXT=4]="PLAINTEXT",t[t.TAG_OPEN=5]="TAG_OPEN",t[t.END_TAG_OPEN=6]="END_TAG_OPEN",t[t.TAG_NAME=7]="TAG_NAME",t[t.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",t[t.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",t[t.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",t[t.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",t[t.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",t[t.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",t[t.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",t[t.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",t[t.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",t[t.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",t[t.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",t[t.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",t[t.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",t[t.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",t[t.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",t[t.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",t[t.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",t[t.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",t[t.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",t[t.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",t[t.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",t[t.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",t[t.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",t[t.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",t[t.BOGUS_COMMENT=40]="BOGUS_COMMENT",t[t.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",t[t.COMMENT_START=42]="COMMENT_START",t[t.COMMENT_START_DASH=43]="COMMENT_START_DASH",t[t.COMMENT=44]="COMMENT",t[t.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",t[t.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",t[t.COMMENT_END_DASH=49]="COMMENT_END_DASH",t[t.COMMENT_END=50]="COMMENT_END",t[t.COMMENT_END_BANG=51]="COMMENT_END_BANG",t[t.DOCTYPE=52]="DOCTYPE",t[t.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",t[t.DOCTYPE_NAME=54]="DOCTYPE_NAME",t[t.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",t[t.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",t[t.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",t[t.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",t[t.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",t[t.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",t[t.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",t[t.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",t[t.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",t[t.CDATA_SECTION=68]="CDATA_SECTION",t[t.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",t[t.CDATA_SECTION_END=70]="CDATA_SECTION_END",t[t.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",t[t.AMBIGUOUS_AMPERSAND=72]="AMBIGUOUS_AMPERSAND"}(iR||(iR={}));iR.DATA,iR.RCDATA,iR.RAWTEXT,iR.SCRIPT_DATA,iR.PLAINTEXT,iR.CDATA_SECTION;const oR=new Set([nR.DD,nR.DT,nR.LI,nR.OPTGROUP,nR.OPTION,nR.P,nR.RB,nR.RP,nR.RT,nR.RTC]),sR=(new Set([...oR,nR.CAPTION,nR.COLGROUP,nR.TBODY,nR.TD,nR.TFOOT,nR.TH,nR.THEAD,nR.TR]),new Set([nR.APPLET,nR.CAPTION,nR.HTML,nR.MARQUEE,nR.OBJECT,nR.TABLE,nR.TD,nR.TEMPLATE,nR.TH]));new Set([...sR,nR.OL,nR.UL]),new Set([...sR,nR.BUTTON]),new Set([nR.ANNOTATION_XML,nR.MI,nR.MN,nR.MO,nR.MS,nR.MTEXT]),new Set([nR.DESC,nR.FOREIGN_OBJECT,nR.TITLE]),new Set([nR.TR,nR.TEMPLATE,nR.HTML]),new Set([nR.TBODY,nR.TFOOT,nR.THEAD,nR.TEMPLATE,nR.HTML]),new Set([nR.TABLE,nR.TEMPLATE,nR.HTML]),new Set([nR.TD,nR.TH]);var aR;!function(t){t[t.Marker=0]="Marker",t[t.Element=1]="Element"}(aR||(aR={}));aR.Marker;const cR=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],lR=(new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]),["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"]);new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(t=>[t.toLowerCase(),t])),new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:Zx.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:Zx.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:Zx.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:Zx.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:Zx.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:Zx.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:Zx.XLINK}],["xml:lang",{prefix:"xml",name:"lang",namespace:Zx.XML}],["xml:space",{prefix:"xml",name:"space",namespace:Zx.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:Zx.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:Zx.XMLNS}]]),new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(t=>[t.toLowerCase(),t])),new Set([nR.B,nR.BIG,nR.BLOCKQUOTE,nR.BODY,nR.BR,nR.CENTER,nR.CODE,nR.DD,nR.DIV,nR.DL,nR.DT,nR.EM,nR.EMBED,nR.H1,nR.H2,nR.H3,nR.H4,nR.H5,nR.H6,nR.HEAD,nR.HR,nR.I,nR.IMG,nR.LI,nR.LISTING,nR.MENU,nR.META,nR.NOBR,nR.OL,nR.P,nR.PRE,nR.RUBY,nR.S,nR.SMALL,nR.SPAN,nR.STRONG,nR.STRIKE,nR.SUB,nR.SUP,nR.TABLE,nR.TT,nR.U,nR.UL,nR.VAR]);var uR;!function(t){t[t.INITIAL=0]="INITIAL",t[t.BEFORE_HTML=1]="BEFORE_HTML",t[t.BEFORE_HEAD=2]="BEFORE_HEAD",t[t.IN_HEAD=3]="IN_HEAD",t[t.IN_HEAD_NO_SCRIPT=4]="IN_HEAD_NO_SCRIPT",t[t.AFTER_HEAD=5]="AFTER_HEAD",t[t.IN_BODY=6]="IN_BODY",t[t.TEXT=7]="TEXT",t[t.IN_TABLE=8]="IN_TABLE",t[t.IN_TABLE_TEXT=9]="IN_TABLE_TEXT",t[t.IN_CAPTION=10]="IN_CAPTION",t[t.IN_COLUMN_GROUP=11]="IN_COLUMN_GROUP",t[t.IN_TABLE_BODY=12]="IN_TABLE_BODY",t[t.IN_ROW=13]="IN_ROW",t[t.IN_CELL=14]="IN_CELL",t[t.IN_SELECT=15]="IN_SELECT",t[t.IN_SELECT_IN_TABLE=16]="IN_SELECT_IN_TABLE",t[t.IN_TEMPLATE=17]="IN_TEMPLATE",t[t.AFTER_BODY=18]="AFTER_BODY",t[t.IN_FRAMESET=19]="IN_FRAMESET",t[t.AFTER_FRAMESET=20]="AFTER_FRAMESET",t[t.AFTER_AFTER_BODY=21]="AFTER_AFTER_BODY",t[t.AFTER_AFTER_FRAMESET=22]="AFTER_AFTER_FRAMESET"}(uR||(uR={}));new Set([nR.TABLE,nR.TBODY,nR.TFOOT,nR.THEAD,nR.TR]);new Set([nR.CAPTION,nR.COL,nR.COLGROUP,nR.TBODY,nR.TD,nR.TFOOT,nR.TH,nR.THEAD,nR.TR]);new Map([[34,"&quot;"],[38,"&amp;"],[39,"&apos;"],[60,"&lt;"],[62,"&gt;"]]),String.prototype.codePointAt;function hR(t,e){return function(n){let r,i=0,o="";for(;t.exec(n);)i!==r.index&&n.substring(i,r.index),e.get(r[0].charCodeAt(0)),r.index+1;return o+n.substring(i)}}new Map([[34,"&quot;"],[38,"&amp;"],[160,"&nbsp;"]]),new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[160,"&nbsp;"]]),new Set([eR.AREA,eR.BASE,eR.BASEFONT,eR.BGSOUND,eR.BR,eR.COL,eR.EMBED,eR.FRAME,eR.HR,eR.IMG,eR.INPUT,eR.KEYGEN,eR.LINK,eR.META,eR.PARAM,eR.SOURCE,eR.TRACK,eR.WBR]);var dR;!function(t){t.Root="root",t.Text="text",t.Directive="directive",t.Comment="comment",t.Script="script",t.Style="style",t.Tag="tag",t.CDATA="cdata",t.Doctype="doctype"}(dR||(dR={}));dR.Root,dR.Text,dR.Directive,dR.Comment,dR.Script,dR.Style,dR.Tag,dR.CDATA,dR.Doctype;class pR{constructor(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}get parentNode(){return this.parent}set parentNode(t){this.parent=t}get previousSibling(){return this.prev}set previousSibling(t){this.prev=t}get nextSibling(){return this.next}set nextSibling(t){this.next=t}cloneNode(t=!1){return bR(this,t)}}class fR extends pR{constructor(t){super(),this.data=t}get nodeValue(){return this.data}set nodeValue(t){this.data=t}}class AR extends fR{constructor(){super(...arguments),this.type=dR.Text}get nodeType(){return 3}}class gR extends fR{constructor(){super(...arguments),this.type=dR.Comment}get nodeType(){return 8}}class ER extends fR{constructor(t,e){super(e),this.name=t,this.type=dR.Directive}get nodeType(){return 1}}class mR extends pR{constructor(t){super(),this.children=t}get firstChild(){var t;return null!==(t=this.children[0])&&void 0!==t?t:null}get lastChild(){return this.children.length>0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(t){this.children=t}}class wR extends mR{constructor(){super(...arguments),this.type=dR.CDATA}get nodeType(){return 4}}class yR extends mR{constructor(){super(...arguments),this.type=dR.Root}get nodeType(){return 9}}class IR extends mR{constructor(t,e,n=[],r=("script"===t?dR.Script:"style"===t?dR.Style:dR.Tag)){super(n),this.name=t,this.attribs=e,this.type=r}get nodeType(){return 1}get tagName(){return this.name}set tagName(t){this.name=t}get attributes(){return Object.keys(this.attribs).map(t=>{var e,n;return{name:t,value:this.attribs[t],namespace:null===(e=this["x-attribsNamespace"])||void 0===e?void 0:e[t],prefix:null===(n=this["x-attribsPrefix"])||void 0===n?void 0:n[t]}})}}function CR(t){return(e=t).type===dR.Tag||e.type===dR.Script||e.type===dR.Style;var e}function BR(t){return t.type===dR.Text}function TR(t){return t.type===dR.Comment}function DR(t){return t.type===dR.Directive}function bR(t,e=!1){let n;if(BR(t))n=new AR(t.data);else if(TR(t))n=new gR(t.data);else if(CR(t)){const r=e?MR(t.children):[],i=new IR(t.name,{...t.attribs},r);r.forEach(t=>t.parent=i),null!=t.namespace&&(i.namespace=t.namespace),t["x-attribsNamespace"]&&(i["x-attribsNamespace"]={...t["x-attribsNamespace"]}),t["x-attribsPrefix"]&&(i["x-attribsPrefix"]={...t["x-attribsPrefix"]}),n=i}else if(function(t){return t.type===dR.CDATA}(t)){const r=e?MR(t.children):[],i=new wR(r);r.forEach(t=>t.parent=i),n=i}else if(function(t){return t.type===dR.Root}(t)){const r=e?MR(t.children):[],i=new yR(r);r.forEach(t=>t.parent=i),t["x-mode"]&&(i["x-mode"]=t["x-mode"]),n=i}else{if(!DR(t))throw new Error(`Not implemented yet: ${t.type}`);{const e=new ER(t.name,t.data);null!=t["x-name"]&&(e["x-name"]=t["x-name"],e["x-publicId"]=t["x-publicId"],e["x-systemId"]=t["x-systemId"]),n=e}}return n.startIndex=t.startIndex,n.endIndex=t.endIndex,null!=t.sourceCodeLocation&&(n.sourceCodeLocation=t.sourceCodeLocation),n}function MR(t){const e=t.map(t=>bR(t,!0));for(let t=1;t<e.length;t++)e[t].prev=e[t-1],e[t-1].next=e[t];return e}function NR(t){const e=t.includes('"')?"'":'"';return e+t+e}const vR={isCommentNode:TR,isElementNode:CR,isTextNode:BR,createDocument(){const t=new yR([]);return t["x-mode"]=tR.NO_QUIRKS,t},createDocumentFragment:()=>new yR([]),createElement(t,e,n){const r=Object.create(null),i=Object.create(null),o=Object.create(null);for(let t=0;t<n.length;t++){const e=n[t].name;r[e]=n[t].value,i[e]=n[t].namespace,o[e]=n[t].prefix}const s=new IR(t,r,[]);return s.namespace=e,s["x-attribsNamespace"]=i,s["x-attribsPrefix"]=o,s},createCommentNode:t=>new gR(t),createTextNode:t=>new AR(t),appendChild(t,e){const n=t.children[t.children.length-1];n&&(n.next=e,e.prev=n),t.children.push(e),e.parent=t},insertBefore(t,e,n){const r=t.children.indexOf(n),{prev:i}=n;i&&(i.next=e,e.prev=i),n.prev=e,e.next=n,t.children.splice(r,0,e),e.parent=t},setTemplateContent(t,e){vR.appendChild(t,e)},getTemplateContent:t=>t.children[0],setDocumentType(t,e,n,r){const i=function(t,e,n){let r="!DOCTYPE ";return t&&(r+=t),e?r+=` PUBLIC ${NR(e)}`:n&&(r+=" SYSTEM"),n&&(r+=` ${NR(n)}`),r}(e,n,r);let o=t.children.find(t=>DR(t)&&"!doctype"===t.name);o?o.data=null!=i?i:null:(o=new ER("!doctype",i),vR.appendChild(t,o)),o["x-name"]=e,o["x-publicId"]=n,o["x-systemId"]=r},setDocumentMode(t,e){t["x-mode"]=e},getDocumentMode:t=>t["x-mode"],detachNode(t){if(t.parent){const e=t.parent.children.indexOf(t),{prev:n,next:r}=t;t.prev=null,t.next=null,n&&(n.next=r),r&&(r.prev=n),t.parent.children.splice(e,1),t.parent=null}},insertText(t,e){const n=t.children[t.children.length-1];n&&BR(n)?n.data+=e:vR.appendChild(t,vR.createTextNode(e))},insertTextBefore(t,e,n){const r=t.children[t.children.indexOf(n)-1];r&&BR(r)?r.data+=e:vR.insertBefore(t,vR.createTextNode(e),n)},adoptAttributes(t,e){for(let n=0;n<e.length;n++){const r=e[n].name;void 0===t.attribs[r]&&(t.attribs[r]=e[n].value,t["x-attribsNamespace"][r]=e[n].namespace,t["x-attribsPrefix"][r]=e[n].prefix)}},getFirstChild:t=>t.children[0],getChildNodes:t=>t.children,getParentNode:t=>t.parent,getAttrList:t=>t.attributes,getTagName:t=>t.name,getNamespaceURI:t=>t.namespace,getTextNodeContent:t=>t.data,getCommentNodeContent:t=>t.data,getDocumentTypeNodeName(t){var e;return null!==(e=t["x-name"])&&void 0!==e?e:""},getDocumentTypeNodePublicId(t){var e;return null!==(e=t["x-publicId"])&&void 0!==e?e:""},getDocumentTypeNodeSystemId(t){var e;return null!==(e=t["x-systemId"])&&void 0!==e?e:""},isDocumentTypeNode:t=>DR(t)&&"!doctype"===t.name,setNodeSourceCodeLocation(t,e){e&&(t.startIndex=e.startOffset,t.endIndex=e.endOffset),t.sourceCodeLocation=e},getNodeSourceCodeLocation:t=>t.sourceCodeLocation,updateNodeSourceCodeLocation(t,e){null!=e.endOffset&&(t.endIndex=e.endOffset),t.sourceCodeLocation={...t.sourceCodeLocation,...e}}};var SR=s(8141),_R=s.n(SR),LR=s(3631),xR=s.n(LR),RR=s(1141);RR.Element.prototype.toString=function(){throw new Error("Element.toString() is not supported")},Object.defineProperty(RR.Node.prototype,"nodeName",{get:function(){return this.name}}),Object.defineProperty(RR.Node.prototype,"localName",{get:function(){return this.name}});const FR=Object.getOwnPropertyDescriptor(RR.Element.prototype,"attributes")?.get;function OR(t,e,n){return function(t,e,n){const r=function(t,e){return JL.parse(t,e)}(t,{treeAdapter:vR,sourceCodeLocationInfo:!0});r.name="root";const i=xR().parse(e),o=i.select({node:r,allowAnyNamespaceForNoPrefix:!0});if(!o.length)throw new Error(`Failed to find XPath: "${e}"`);return o.map(t=>function(t,e){if(!e)return{start:t.startIndex,end:t.endIndex};if(!("firstChild"in t)||!t.firstChild)throw new Error(`Node "${t.name}" has no children`);return{start:t.firstChild.startIndex,end:t.lastChild.endIndex}}(t,n))}(t,e,n)}function QR(t,e){const n=A_({path:e,json:JSON.parse(t),wrap:!1,resultType:"pointer",eval:"safe",ignoreEvalErrors:!0});if(!n)throw new Error("jsonPath not found");const r=n_("("+t+")",{range:!0});if(r.body[0]instanceof SN&&(r.body[0].expression instanceof ZN||r.body[0].expression instanceof nN)){const t=Array.isArray(n)?n:[n],e=[];for(const n of t){const t=kR(r.body[0].expression,"",[n]);t&&e.push({start:t.start-1,end:t.end-1})}return e}throw new Error("jsonPath not found")}function kR(t,e,n){if(t instanceof ZN)for(const r of t.properties){if(!(r instanceof ev))continue;const t=r.key.type===kM.Literal?e+"/"+r.key.value:e;if(n.includes(t)&&"range"in r&&Array.isArray(r.range))return{start:r.range[0],end:r.range[1]};if(r.value instanceof ZN||r.value instanceof nN){const e=kR(r.value,t,n);if(e)return e}}if(t instanceof nN)for(let r=0;r<t.elements.length;r++){const i=t.elements[r];if(!i)continue;const o=e+"/"+r;if(n.includes(o)&&"range"in i&&Array.isArray(i.range))return{start:i.range[0],end:i.range[1]};if(i instanceof ZN){const t=kR(i,o,n);if(t)return t}if(i instanceof nN){const t=kR(i,o,n);if(t)return t}}return null}function UR(t){const e=[];for(const[n,r]of Object.entries(t||{}))e.push(`${n}: ${r}`);return e}function PR(t,e,n){if(n?.length){let e=0;for(const r of n){const n=r.toIndex-r.fromIndex;if(t>=e&&t<=e+n)return t-e+r.fromIndex;e+=n}throw new Error("position out of range")}return e+t}function GR(t,e,n){const r=[];if(!n?.length)return r;for(let i=1;i<n?.length;i++){const o=n[i];o.fromIndex>t&&o.fromIndex<e&&r.push({fromIndex:n[i-1].toIndex,toIndex:o.fromIndex})}return r}function VR(t){const e=Cm();return e.onChunk(t),e.streamEnded(),e.res}function HR(t){return _R()(t,"sgiu")}FR?Object.defineProperty(RR.Element.prototype,"attributes",{get:function(...t){const e=FR.call(this,...t);return e.item=t=>{const n=e[t];return{...n,nodeType:2,localName:n.name}},e}}):console.warn("[WARN] Unable to patch DOM: Element.attributes property descriptor not found");const jR="{".charCodeAt(0),YR="}".charCodeAt(0);function zR(t,e){if(0===t.length&&0===e?.length)return!0;if(!e)return!1;let n=-1,r=-1;for(;n<t.length&&r<e.length;){let t=i(),e=o();if(t!==e){if(t!==jR||e!==Em)return!1;if(i()!==jR)return!1;for(;(t=i())!==YR&&-1!==t;);for(;(t=i())!==YR&&-1!==t;);if(-1===t)return!1;for(;(e=o())===Em&&-1!==e;);if(-1===e)return-1===i();r--}}function i(){return n++,n<t.length?t[n]:-1}function o(){return e?(r++,r<e.length?e[r]:-1):-1}return n===t.length&&r===e.length}const{K3:JR}=n,WR={hostPort:function(t,e){const{host:n}=new URL(function(t,e){let n=t?.url;const r=new Set;let i=null;for(;i=XR.exec(n);)r.add(i[1]);for(const i of r)if(t.paramValues&&i in t.paramValues)n=n?.replaceAll(`{{${i}}}`,t.paramValues[i].toString());else{if(!e?.paramValues||!(i in e.paramValues))throw new Error(`parameter "${i}" value not found in templateParams`);n=n?.replaceAll(`{{${i}}}`,e.paramValues[i].toString())}return n}(t,e));if(!n)throw new Error("url is incorrect");return n},writeRedactionMode:t=>"writeRedactionMode"in t?t.writeRedactionMode:void 0,geoLocation:(t,e)=>"geoLocation"in t?function(t,e){if(t?.geoLocation){const n=new Set;let r=t.geoLocation,i=null;for(;i=XR.exec(r);)n.add(i[1]);for(const i of n)if(t.paramValues&&i in t.paramValues)r=r?.replaceAll(`{{${i}}}`,t.paramValues[i].toString());else{if(!e?.paramValues||!(i in e.paramValues))throw new Error(`parameter "${i}" value not found in templateParams`);r=r?.replaceAll(`{{${i}}}`,e.paramValues[i].toString())}if(!/^[A-Za-z]{2}$/gisu.test(r))throw new Error(`Geolocation ${r} is invalid`);return r}return}(t,e):void 0,proxySessionId:(t,e)=>"proxySessionId"in t?function(t,e){if(t?.proxySessionId){const r=new Set;let i=t.proxySessionId,o=null;for(;o=XR.exec(i);)r.add(o[1]);for(const n of r)if(t.paramValues&&n in t.paramValues)i=i?.replaceAll(`{{${n}}}`,t.paramValues[n].toString());else{if(!e?.paramValues||!(n in e.paramValues))throw new Error(`parameter "${n}" value not found in templateParams`);i=i?.replaceAll(`{{${n}}}`,e.paramValues[n].toString())}if(!("string"==typeof(n=i)&&n.length>=8&&n.length<15&&/^[a-z0-9]+$/.test(n)))throw new Error(`proxySessionId ${i} is invalid`);return i}var n;return}(t,e):void 0,additionalClientOptions(t){let e={applicationLayerProtocols:["http/1.1"]};return"additionalClientOptions"in t&&(e={...e,...t.additionalClientOptions}),e},createRequest(t,e,n){if(!t.cookieStr&&!t.authorisationHeader&&!t.headers)throw new Error("auth parameters are not set");const r=e.headers||{},i={...t.headers};t.cookieStr&&(i.Cookie=t.cookieStr),t.authorisationHeader&&(i.Authorization=t.authorisationHeader);Object.keys(r).some(t=>"user-agent"===t.toLowerCase())||Object.keys(i).some(t=>"user-agent"===t.toLowerCase())||(r["User-Agent"]="joclaim/0.0.1");const o=$R(e,t);e=o.newParams;const s=new URL(e.url),{pathname:a}=s,c=e.url.includes("?")?e.url.split("?")[1]:"";n.info({url:e.url,path:a,query:c.toString()});const l=e.body instanceof Uint8Array?e.body:WE(e.body||""),u=l.length,h=`${e.method} ${a}${c?.length?"?"+c:""} HTTP/1.1`,d=UR(i);n.info({requestLine:h});const p=WE([h,`Host: ${KR(s)}`,`Content-Length: ${u}`,"Connection: close","Accept-Encoding: identity",...UR(r),...d,"\r\n"].join("\r\n")),f=ct([p,l]),A=d.join("\r\n"),g=KE(f,WE(A)),E=[{fromIndex:g,toIndex:g+A.length}];if(o.hiddenBodyParts?.length>0)for(const t of o.hiddenBodyParts)t.length&&E.push({fromIndex:p.length+t.index,toIndex:p.length+t.index+t.length});if(o.hiddenURLParts?.length>0)for(const t of o.hiddenURLParts)t.length&&E.push({fromIndex:t.index,toIndex:t.index+t.length});return E.sort((t,e)=>t.toIndex-e.toIndex),{data:f,redactions:E}},getResponseRedactions({response:t,params:e,logger:n,ctx:r}){n.debug({response:JR.encode(t),params:e});const i=VR(t);if(!e.responseRedactions?.length)return[];if(2!=(i.statusCode/100|0))throw n.error({response:JR.encode(t),params:e}),new Error(`Expected status 2xx, got ${i.statusCode} (${i.statusMessage})`);const o=$R(e,void 0,!0).newParams,s=i.statusLineEndIndex,a=i.bodyStartIndex??0;if(a<4)throw n.error({response:JR.encode(t)}),new Error("Failed to find response body");const c=[{fromIndex:0,toIndex:s}];if(qR(r)){if(!lt(t.slice(i.headerEndIdx,i.headerEndIdx+4),WE("\r\n\r\n")))throw n.error({response:JR.encode(t)}),new Error(`Failed to find header/body separator at index ${i.headerEndIdx}`)}c.push({fromIndex:i.headerEndIdx,toIndex:i.headerEndIdx+4}),i.headerIndices.date&&c.push(i.headerIndices.date);const l=dt(i.body),u=[];for(const t of o.responseRedactions||[]){const e=ZR(l,t,a,i.chunks);for(const{reveal:t,redactions:n}of e)c.push(t),u.push(...n)}if(c.sort((t,e)=>t.toIndex-e.toIndex),c.length>1){let e=0;for(const t of c)e<t.fromIndex&&u.push({fromIndex:e,toIndex:t.fromIndex}),e=t.toIndex;u.push({fromIndex:e,toIndex:t.length})}for(const t of c)t.hash&&u.push(t);return u.sort((t,e)=>t.toIndex-e.toIndex),u},assertValidProviderReceipt({receipt:t,params:e,logger:n,ctx:r}){!function(){const r=t.filter(t=>"client"===t.sender).map(t=>t.message),i=t.filter(t=>"server"===t.sender).map(t=>t.message),o=JR.encode(ct(r)),s=JR.encode(ct(i));n.debug({request:o,response:s,params:e})}();let i={};const o="secretParams"in e?e.secretParams:void 0,s=$R(e,o,!o),a=s.newParams;i={...i,...s.extractedValues};const c=function(t){const e=t.filter(t=>"client"===t.sender);if(e[0].message[0]===Em)throw new Error("First client message request is redacted. Cannot parse");const n={method:"",url:"",protocol:"",headers:{}};let r=ct(e.map(t=>t.message));for(let t=i();void 0!==t&&""!==t;t=i())if(n.method){let e=t.indexOf(":");-1===e&&(e=t.length-1);const r=t.slice(0,e).toLowerCase().trim(),i=t.slice(e+1).trim(),o=n.headers[r];"string"==typeof o?n.headers[r]=[o,i]:Array.isArray(o)?o.push(i):n.headers[r]=i}else{const[,e,r,i]=t.match(/(\w+) (.*) (.*)/)||[];n.method=e.toLowerCase(),n.url=r,n.protocol=i}if(r.length&&(n.body=r),!n.method)throw new Error("Client request is incomplete");return n;function i(){const t=KE(r,Im);if(-1===t)return;const e=JE(r.slice(0,t));return r=r.slice(t+Im.length),e}}(t);if(c.method!==a.method.toLowerCase())throw new Error(`Invalid method: ${c.method}`);const l=new URL(a.url),{protocol:u,pathname:h}=l;if("https:"!==u)throw n.error("params URL: %s",a.url),new Error(`Expected protocol: https, found: ${u}`);const d=a.url.includes("?")?a.url.split("?")[1]:"",p=h.replaceAll("%7B","{").replaceAll("%7D","}")+(d?.length?"?"+d:"");if(!zR(WE(p),WE(c.url)))throw n.error("params URL: %s",a.url),new Error(`Expected path: ${p}, found: ${c.url}`);const f=KR(l);if(c.headers.host!==f)throw new Error(`Expected host: ${f}, found: ${c.headers.host}`);const A=c.headers.connection;if("close"!==A)throw new Error(`Connection header must be "close", got "${A}"`);const g=function(...t){const e=t.reduce((t,e)=>t+e.length,0),n=new Uint8Array(e);let r=0;for(const e of t)n.set(e,r),r+=e.length;return n}(...t.filter(t=>"server"===t.sender).map(t=>t.message).filter(t=>!t.every(t=>t===Em)));let E;E=JE(g);if(!HR("^HTTP\\/1.1 2\\d{2}").exec(E)){const t=HR("^HTTP\\/1.1 (\\d{3})").exec(E);if(t&&t.length>1)throw new Error(`Provider returned error ${t[1]}`);let e=E.indexOf("*");throw-1===e&&(e=E.indexOf("\n")),-1===e&&(e=12),new Error(`Response did not start with "HTTP/1.1 2XX" got "${E.slice(0,e)}"`)}let m;if(qR(r)){if(m=E.indexOf("\r\n\r\n",12)+4,m<4)throw new Error("Response body start not found")}else m=12;const w=HR("[dD]ate: ((?:Mon|Tue|Wed|Thu|Fri|Sat|Sun), (?:[0-3][0-9]) (?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (?:[0-9]{4}) (?:[01][0-9]|2[0-3])(?::[0-5][0-9]){2} GMT)").exec(E);if(w&&w.length>1){const t=new Date(w[1]);Date.now()-t.getTime()>6e5&&n.info({dateHeader:w[0],current:Date.now()},"date header is off")}const y=a.body instanceof Uint8Array?a.body:WE(a.body||"");if(y.length>0&&!zR(y,c.body))throw new Error("request body mismatch");o||(E=E.slice(m).replace(/(\*){3,}/g,""));for(const{type:t,value:e,invert:n}of a.responseMatches||[]){const r=Boolean(n);switch(t){case"regex":const o=HR(e).exec(E),s=null!==o;if(s===r)throw new Error(`Invalid receipt. Regex "${e}" ${n?"matched":"didn't match"}`);if(!s)continue;const a=o?.groups;for(const t in a||[]){if(t in i)throw new Error(`Duplicate parameter ${t}`);const e=a?.[t];"string"==typeof e&&(i[t]=e)}break;case"contains":if(E.includes(e)===r)throw new Error(`Invalid receipt. Response ${n?"contains":"does not contain"} "${e}"`);break;default:throw new Error(`Invalid response match type ${t}`)}}return{extractedParameters:i}}};function qR({version:t}){return t>=ig}function KR(t){const e=t.hostname,n=t.port;return n&&443!==+n?`${e}:${n}`:e}const XR=/{{([^{}]+)}}/gis;function*ZR(t,e,n,r){let i=t,o=0,s=-1;if(e.xPath){const n=OR(t,e.xPath,!!e.jsonPath);for(const{start:r,end:u}of n)i=t.slice(r,u),o=r,s=u-r,e.jsonPath?yield*a():e.regex?yield*c():yield*l()}else if(e.jsonPath)yield*a();else{if(!e.regex)throw new Error("Expected either xPath, jsonPath or regex for redaction");yield*c()}function*a(){const n=QR(i,e.jsonPath),r=o;for(const a of n){const n=a.start,u=a.end;i=t.slice(r+n,r+u),o=r+n,s=u-n,e.regex?yield*c():yield*l()}}function*c(){pm.debug({element:JR.encode(WE(i)),body:JR.encode(WE(t))});const n=HR(e.regex),a=i||t,c=n.exec(a);if(!c?.[0])throw new Error(`regexp ${e.regex} does not match found element '${JR.encode(WE(a))}'`);if(o+=c.index,s=n.lastIndex-c.index,i=c[0],e.hash&&(!c.groups||Object.keys(c.groups).length>1))throw new Error("Exactly one named capture group is needed per hashed redaction");if(!e.hash||!c.groups)return void(yield*l());const h=c[0],d=Object.values(c.groups)[0],p=h.indexOf(d);s=p,i=h.slice(0,p),yield*l(null),o+=p,i=d,s=d.length;const f=u(o,s,e.hash),A=GR(f.fromIndex,f.toIndex,r);if(A.length)throw new Error("Hash redactions cannot be performed if the redacted string is split between 2 or more HTTP chunks");yield{reveal:f,redactions:A},o+=d.length,i=h.slice(p+d.length),s=i.length,yield*l(null)}function*l(t=e.hash,n=r){if(o<0||!s)return;const i=u(o,s,t||void 0);yield{reveal:i,redactions:GR(i.fromIndex,i.toIndex,n)}}function u(t,e,i){return{fromIndex:PR(t,n,r),toIndex:PR(t+e,n,r),hash:i}}}function $R(t,e,n){const r=JSON.parse(JSON.stringify(t));let i={};const o=[],s=h(r.url,n);if(s&&(r.url=s.newParam,i={...s.extractedValues},s.hiddenParts.length)){const e=`https://${KR(new URL(r.url))}`.length-t.method.length-1;for(const t of s.hiddenParts)o.push({index:t.index-e,length:t.length})}let a,c=[];if(r.body){a=h("string"==typeof r.body?r.body:JE(r.body),n),a&&(r.body=a.newParam,i={...i,...a.extractedValues},c=a.hiddenParts)}const l=h(r.geoLocation);l&&(r.geoLocation=l.newParam,i={...i,...l.extractedValues});const u=h(r.proxySessionId);if(u&&(r.proxySessionId=u.newParam,i={...i,...u.extractedValues}),r.responseRedactions)for(const t of r.responseRedactions){if(t.regex){const e=h(t.regex);t.regex=e?.newParam}if(t.xPath){const e=h(t.xPath);t.xPath=e?.newParam}if(t.jsonPath){const e=h(t.jsonPath);t.jsonPath=e?.newParam}}if(r.responseMatches)for(const t of r.responseMatches)if(""!==t.value){const e=h(t.value);t.value=e?.newParam,i={...i,...e?.extractedValues}}return{newParams:r,extractedValues:i,hiddenBodyParts:c,hiddenURLParts:o};function h(t,n){if(!t)return null;const i={},o=[];let s=0;return{newParam:t=t.replace(XR,(t,a,c)=>{if(r.paramValues&&a in r.paramValues)return i[a]=r.paramValues[a],s+=r.paramValues[a].length-t.length,r.paramValues[a];if(e){if(e?.paramValues&&a in e?.paramValues)return o.push({index:c+s,length:e.paramValues[a].length}),s+=e.paramValues[a].length-t.length,e.paramValues[a];throw new Error(`parameter's "${a}" value not found in paramValues and secret parameter's paramValues`)}if(n)return t;throw new Error(`parameter's "${a}" value not found in paramValues`)}),extractedValues:i,hiddenParts:o}}}const tF={http:WR},eF=async({onMessage:t,onClose:e,tlsOpts:n,request:r,connect:i,logger:o})=>{const s=[],a=r.id||tm();let c,l,u,h;const d=new Promise((t,e)=>{u=t,h=e}),p=ip({host:r.host,...n,logger:o,onHandshake(){u?.()},onApplicationData:e=>t?.(e),onTlsEnd:f,async write(t,e){const n=ct([t.header,t.content]);if(s.push({sender:"client",message:{...e,data:n}}),!c){const t=$E();l=i([{id:t,createTunnelRequest:{host:r.host||"",port:r.port||443,geoLocation:r.geoLocation||"",proxySessionId:r.proxySessionId||"",id:a}},{tunnelMessage:{tunnelId:a,message:n}}]);try{await async function(){return c=await(({tunnelId:t,client:e,onClose:n,onMessage:r})=>{let i=!1;return e.addEventListener("tunnel-message",o),e.addEventListener("tunnel-disconnect-event",s),e.addEventListener("connection-terminated",a),{async write(n){await e.sendMessage({tunnelMessage:{tunnelId:t,message:n}})},async close(n){i||(c(n),await e.rpc("disconnectTunnel",{id:t}))}};function o({data:e}){e.tunnelId===t&&r?.(e.message)}function s({data:e}){e.tunnelId===t&&c(e.error?.code?DD.fromProto(e.error):void 0)}function a({data:t}){c(t)}function c(r){e.logger?.debug({tunnelId:t,err:r},"TCP tunnel closed"),e.removeEventListener("tunnel-message",o),e.removeEventListener("tunnel-disconnect-event",s),e.removeEventListener("connection-terminated",a),n?.(r),n=void 0,i=!0}})({tunnelId:a,client:l,onMessage(t){p.handleReceivedBytes(t)},onClose(t){p.end(t)}}),o?.debug("plaintext tunnel created"),c}(),await l.waitForResponse(t)}catch(t){f(t)}return}return c.write(n)},onRead(t,e){s.push({sender:"server",message:{...e,data:ct([t.header,"ciphertext"===e.type?e.ciphertext:t.content])}})}});return await p.startHandshake(),await d,u=h=void 0,{transcript:s,tls:p,write:t=>p.write(t),async close(t){f(t);try{await c.close(t)}catch(t){o?.error({err:t},"err in close tunnel")}}};function f(t){e?.(t),e=void 0,h?.(t||new Error("TLS connection closed"))}},nF={};function rF({logger:t,maxRetries:e=3,...n}){const r=t||("logger"in n.client?n.client.logger:pm);return async function(t,{maxRetries:e=3,shouldRetry:n,logger:r}){let i=0;for(;i<e;)try{return await t(i)}catch(t){if(i+=1,i>=e)throw t;if(!n(t))throw t;r.info({err:t,retries:i},"retrying failed operation")}throw new Error("retries exhausted")}(t=>async function({name:t,params:e,secretParams:n,context:r,onStep:i,ownerPrivateKey:o,client:s,logger:a=pm,timestampS:c,updateProviderParams:l,updateParametersFromOprfData:u=!0,...h}){const d=tF[t],p=ZE(e,d.hostPort,n),f=ZE(e,d.geoLocation,n),A=ZE(e,d.proxySessionId,n),g=ZE(e,d.additionalClientOptions),E={..._M(),fetchCertificateBytes:J,...g},{zkEngine:m="snarkjs"}=h;let w=ZE(e,d.writeRedactionMode);const[y,I]=p.split(":"),C=Cm();let B,T=!1;const D=new Map;let b;i?.({name:"connecting"});const M={host:y,port:I?+I:BE,geoLocation:f,proxySessionId:A,id:tm()};a=a.child({tunnelId:M.id});const N="authRequest"in s?"function"==typeof s.authRequest?await s.authRequest():s.authRequest:void 0,v=await eF({tlsOpts:E,connect:t=>{let e=!1;return B="metadata"in s?s:function(t,e=()=>({})){const n=t.toString();let r,i=nF[n];if(i?.isClosed?r="closed":i||(r="non-existent"),r){const o=e();o?.logger?.info({key:n,createReason:r},"creating new client"),i=nF[n]=new QM({...o,url:t})}return i}(s.url,()=>(e=!0,{authRequest:N,initMessages:t,logger:a})),e||B.waitForInit().then(()=>B.sendMessage(...t)).catch(t=>{a.error({err:t},"error in sending init msgs")}),B},logger:a,request:M,onMessage(t){a.debug({bytes:t.length},"recv data from server"),C.onChunk(t),C.res.complete&&(a?.debug("got complete HTTP response from server"),setTimeout(()=>{b?.()},100))},onClose(t){const e=t?"error":"debug";a?.[e]({err:t},"tls session ended"),b?.(t);try{C.streamEnded()}catch{}}}),{version:S,cipherSuite:_}=v.tls.getMetadata();"TLS1_2"===S&&"zk"!==w&&(w="zk",a.info("TLS1.2 detected, defaulting to zk redaction mode"));const{redactions:L,data:x}=d.createRequest(n,e,a),R="string"==typeof x?ht(x):x;a.debug({redactions:L.length},"generated request");const O=new Promise((t,e)=>{b=n=>n?e(n):t()});i?.({name:"sending-request-data"});try{"zk"===w?await q():await W(),a.info("wrote request to server")}catch(t){a.error({err:t},"session errored during write, waiting for stream end")}if(i?.({name:"waiting-for-response"}),await O,await v.close(),a.info("session closed, processing response"),l){const{params:t,secretParams:r}=await l(v.transcript,S??"TLS1_2");e={...e,...t},n={...n,...r}}const Q=NM[B.metadata.signatureType];let k,U;const[P]=Z("server",1);P&&"ciphertext"===P.message.type&&(k=P.message.fixedIv);const[G]=Z("client",1);G&&"ciphertext"===G.message.type&&(U=G.message.fixedIv);const V=await $(),H=zg.create({request:M,data:{provider:t,parameters:VD(e),context:VD(r),timestampS:c??qE(),owner:rt()},transcript:V,zkEngine:"gnark"===m?hg:ug,fixedServerIV:k,fixedClientIV:U});i?.({name:"waiting-for-verification"});const j=zg.encode(H).finish(),Y=await Q.sign(j,o);H.signatures={requestSignature:Y};const z=await B.rpc("claimTunnel",H);return a.info({success:!!z.claim},"recv claim response"),z;async function J(t){if(!B)throw new Error("attestor client not initialized");return(await B.rpc("fetchCertificateBytes",{url:t})).bytes}async function W(){let t=0;for(const e of L){const n=R.slice(t,e.fromIndex);n.length&&await K(n,!0);const r=R.slice(e.fromIndex,e.toIndex);await K(r,!1),t=e.toIndex}const e=L?.[L.length-1]?.toIndex||0,n=R.slice(e);n.length&&await K(n,!0)}async function q(){let t=v.transcript.length;await v.tls.write(R),t=v.transcript.length-t,X({type:"zk",redactedPlaintext:wm(R,L)},t)}async function K(t,e){e!==T&&await v.tls.updateTrafficKeys();let n=v.transcript.length;await v.write(t),n=v.transcript.length-n,X(e?{type:"complete"}:void 0,n),T=e}function X(t,e=1){const n=Z("client",e);if(n.length)for(const e of n)nt(e.message,t)}function Z(t,e){const n=[];for(let r=v.transcript.length-1;r>=0;r--){const i=v.transcript[r];if(i.sender===t&&(n.push(i),n.length===e))break}return n}async function $(){await tt();const t=Date.now(),e=await async function(t,e,{onZkProgress:n,...r}){const i=[],o=await MD(r);let s=0;await Promise.all(t.map(async({message:n,sender:r},s)=>{const a={sender:"client"===r?zA:JA,message:n.data,reveal:void 0};i.push(a);const c=e.get(n);if(c&&"plaintext"!==n.type)switch(c?.type){case"complete":a.reveal={directReveal:{key:await F.exportKey(n.encKey),iv:n.fixedIv,recordNumber:n.recordNumber}};break;case"zk":c.redactedPlaintext=ct([c.redactedPlaintext,n.plaintext.slice(c.redactedPlaintext.length)]),await o.addPacketToProve(n,c,(t,e)=>a.reveal={zkReveal:{proofs:t,toprfs:e}},()=>{const e=t.slice(s+1).find(t=>t.sender===r);return e?.message})}}));const a=o.getTotalChunksToProve();return n?.(s,a),await o.generateProofs(()=>{s+=1,n?.(s,a)}),i}(v.transcript,D,{logger:a,cipherSuite:_,onZkProgress(e,n){const r=(Date.now()-t)/e*(n-e);i?.({name:"generating-zk-proofs",proofsDone:e,proofsTotal:n,approxTimeLeftS:Math.round(r/1e3)})},...h});return e}async function tt(){const t=v.transcript;let r="all";const i=[],o=[];for(const e of t){if("ciphertext"!==e.message.type||!rm(e.message,S))continue;const t="TLS1_3"===S?e.message.plaintext.slice(0,-1):e.message.plaintext;i.push({message:t,sender:e.sender}),"server"===e.sender&&o.push({plaintext:t,message:e.message})}d.getResponseRedactions&&(r=await async function(t,e,n){const r=t.map(t=>({block:t,redactedPlaintext:new Uint8Array(t.plaintext)})),i=ct(t.map(t=>t.plaintext)),o=e(i);if(!o.length)return"all";let s=0,a=0,c=0;for(const t of o)await l(t);return r.filter(t=>!mm(t.redactedPlaintext));async function l(t){for(;c<t.fromIndex;)u();if(t.hash){const e=i.slice(t.fromIndex,t.toIndex),{nullifier:o,responses:l,mask:h}=await n(e),d={nullifier:o,responses:l,dataLocation:{fromIndex:a,length:t.toIndex-t.fromIndex},mask:h,plaintext:e},p=s,f=r[s];f.toprfs||(f.toprfs=[]),f.toprfs.push(d);const A=ym(o,d.dataLocation.length);let g=0,E=0;for(;c<t.toIndex;)s!==p&&(E+=1),r[s].redactedPlaintext[a]=A.charCodeAt(g),u(),g+=1;E&&(r[s].overshotToprfFromPrevBlock={length:E})}for(;c<t.toIndex;)r[s].redactedPlaintext[a]=Em,u()}function u(){c+=1,a+=1,a>=t[s].plaintext.length&&(s+=1,a=0)}}(o,t=>d.getResponseRedactions({response:t,params:e,logger:a,ctx:bE}),et));const s=i.filter(t=>"client"===t.sender);if("all"===r){for(const{message:e,sender:n}of t)"server"===n&&nt(e,{type:"complete"});s.push(...i.filter(t=>"server"===t.sender))}else for(const{block:t,redactedPlaintext:n,overshotToprfFromPrevBlock:i,toprfs:o}of r)if(nt(t.message,{type:"zk",redactedPlaintext:n,toprfs:o,overshotToprfFromPrevBlock:i}),s.push({sender:"server",message:n}),u&&o){let t=VD(e);for(const e of o){const n=JE(e.plaintext),r=ym(e.nullifier,e.dataLocation.length);t=t.replaceAll(n,r)}e=JSON.parse(t)}await d.assertValidProviderReceipt({receipt:s,params:{...e,secretParams:n},logger:a,ctx:bE});for(const e of t)if("ciphertext"===e.message.type){if(rm(e.message,S))break;nt(e.message,{type:"complete"})}}async function et(t){a.info({length:t.length},"generating OPRF...");const e=h.oprfOperators?.chacha20||RD("chacha20",m,a),n=await e.generateOPRFRequestData(t,NE,a),r=await B.rpc("toprf",{maskedData:n.maskedData,engine:FD(m)});return{nullifier:await e.finaliseOPRF(B.initResponse.toprfPublicKey,n,[r]),responses:[r],mask:n.mask,dataLocation:void 0,plaintext:t}}function nt(t,e){e?D.set(t,e):D.delete(t)}function rt(){const{getAddress:t,getPublicKey:e}=Q;return t(e(o))}}({...n,logger:t?r.child({attempt:t}):r}),{maxRetries:e,logger:r,shouldRetry:iF})}function iF(t){return!(t instanceof TypeError)&&(!!t?.message?.includes("stream ended before")||t instanceof DD&&"ERROR_INVALID_CLAIM"!==t.code&&"ERROR_BAD_REQUEST"!==t.code&&"ERROR_AUTHENTICATION_FAILED"!==t.code&&"ERROR_TOPRF_OUT_OF_BOUNDS"!==t.code)}var oF=window.WebSocket;window.WebSocket;var sF=s(7770),aF=s(3859);function cF(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",i=n.toStringTag||"@@toStringTag";function o(n,r,i,o){var c=r&&r.prototype instanceof a?r:a,l=Object.create(c.prototype);return lF(l,"_invoke",function(n,r,i){var o,a,c,l=0,u=i||[],h=!1,d={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return o=e,a=0,c=t,d.n=n,s}};function p(n,r){for(a=n,c=r,e=0;!h&&l&&!i&&e<u.length;e++){var i,o=u[e],p=d.p,f=o[2];n>3?(i=f===r)&&(c=o[(a=o[4])?5:(a=3,3)],o[4]=o[5]=t):o[0]<=p&&((i=n<2&&p<o[1])?(a=0,d.v=r,d.n=o[1]):p<f&&(i=n<3||o[0]>r||r>f)&&(o[4]=n,o[5]=r,d.n=f,a=0))}if(i||n>1)return s;throw h=!0,r}return function(i,u,f){if(l>1)throw TypeError("Generator is already running");for(h&&1===u&&p(u,f),a=u,c=f;(e=a<2?t:c)||!h;){o||(a?a<3?(a>1&&(d.n=-1),p(a,c)):d.n=c:d.v=c);try{if(l=2,o){if(a||(i="next"),e=o[i]){if(!(e=e.call(o,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,a<2&&(a=0)}else 1===a&&(e=o.return)&&e.call(o),a<2&&(c=TypeError("The iterator does not provide a '"+i+"' method"),a=1);o=t}else if((e=(h=d.n<0)?c:n.call(r,d))!==s)break}catch(e){o=t,a=1,c=e}finally{l=1}}return{value:e,done:h}}}(n,i,o),!0),l}var s={};function a(){}function c(){}function l(){}e=Object.getPrototypeOf;var u=[][r]?e(e([][r]())):(lF(e={},r,function(){return this}),e),h=l.prototype=a.prototype=Object.create(u);function d(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,lF(t,i,"GeneratorFunction")),t.prototype=Object.create(h),t}return c.prototype=l,lF(h,"constructor",l),lF(l,"constructor",c),c.displayName="GeneratorFunction",lF(l,i,"GeneratorFunction"),lF(h),lF(h,i,"Generator"),lF(h,r,function(){return this}),lF(h,"toString",function(){return"[object Generator]"}),(cF=function(){return{w:o,m:d}})()}function lF(t,e,n,r){var i=Object.defineProperty;try{i({},"",{})}catch(t){i=0}lF=function(t,e,n,r){function o(e,n){lF(t,e,function(t){return this._invoke(e,n,t)})}e?i?i(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(o("next",0),o("throw",1),o("return",2))},lF(t,e,n,r)}function uF(t,e,n,r,i,o,s){try{var a=t[o](s),c=a.value}catch(t){return void n(t)}a.done?e(c):Promise.resolve(c).then(r,i)}function hF(t){return function(){var e=this,n=arguments;return new Promise(function(r,i){var o=t.apply(e,n);function s(t){uF(o,r,i,s,a,"next",t)}function a(t){uF(o,r,i,s,a,"throw",t)}s(void 0)})}}var dF=function(){var t=hF(cF().m(function t(e,n,r,i){var o,s,a,c;return cF().w(function(t){for(;;)switch(t.p=t.n){case 0:return o=(0,sF.y8)({sessionId:e||"unknown",providerId:r||"unknown",appId:i||"unknown",source:"joclaim-extension-sdk",type:aF.LOG_TYPES.FETCH_DATA}),t.p=1,t.n=2,fetch("".concat(B()),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:e,status:n})});case 2:if((s=t.v).ok){t.n=3;break}throw new Error("Failed to update session status");case 3:return o.info({message:"Successfully updated session status: "+n,logLevel:aF.LOG_LEVEL.INFO,type:aF.LOG_TYPES.FETCH_DATA}),t.n=4,s.json();case 4:return a=t.v,t.a(2,a);case 5:throw t.p=5,c=t.v,o.error({message:"Error updating session status: "+c.toString(),logLevel:aF.LOG_LEVEL.ERROR,type:aF.LOG_TYPES.FETCH_DATA,eventType:aF.EVENT_TYPES.UPDATE_SESSION_STATUS_ERROR}),c;case 6:return t.a(2)}},t,null,[[1,5]])}));return function(e,n,r,i){return t.apply(this,arguments)}}();function pF(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var t,e,n="function"==typeof Symbol?Symbol:{},r=n.iterator||"@@iterator",i=n.toStringTag||"@@toStringTag";function o(n,r,i,o){var c=r&&r.prototype instanceof a?r:a,l=Object.create(c.prototype);return fF(l,"_invoke",function(n,r,i){var o,a,c,l=0,u=i||[],h=!1,d={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(e,n){return o=e,a=0,c=t,d.n=n,s}};function p(n,r){for(a=n,c=r,e=0;!h&&l&&!i&&e<u.length;e++){var i,o=u[e],p=d.p,f=o[2];n>3?(i=f===r)&&(c=o[(a=o[4])?5:(a=3,3)],o[4]=o[5]=t):o[0]<=p&&((i=n<2&&p<o[1])?(a=0,d.v=r,d.n=o[1]):p<f&&(i=n<3||o[0]>r||r>f)&&(o[4]=n,o[5]=r,d.n=f,a=0))}if(i||n>1)return s;throw h=!0,r}return function(i,u,f){if(l>1)throw TypeError("Generator is already running");for(h&&1===u&&p(u,f),a=u,c=f;(e=a<2?t:c)||!h;){o||(a?a<3?(a>1&&(d.n=-1),p(a,c)):d.n=c:d.v=c);try{if(l=2,o){if(a||(i="next"),e=o[i]){if(!(e=e.call(o,c)))throw TypeError("iterator result is not an object");if(!e.done)return e;c=e.value,a<2&&(a=0)}else 1===a&&(e=o.return)&&e.call(o),a<2&&(c=TypeError("The iterator does not provide a '"+i+"' method"),a=1);o=t}else if((e=(h=d.n<0)?c:n.call(r,d))!==s)break}catch(e){o=t,a=1,c=e}finally{l=1}}return{value:e,done:h}}}(n,i,o),!0),l}var s={};function a(){}function c(){}function l(){}e=Object.getPrototypeOf;var u=[][r]?e(e([][r]())):(fF(e={},r,function(){return this}),e),h=l.prototype=a.prototype=Object.create(u);function d(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,l):(t.__proto__=l,fF(t,i,"GeneratorFunction")),t.prototype=Object.create(h),t}return c.prototype=l,fF(h,"constructor",l),fF(l,"constructor",c),c.displayName="GeneratorFunction",fF(l,i,"GeneratorFunction"),fF(h),fF(h,i,"Generator"),fF(h,r,function(){return this}),fF(h,"toString",function(){return"[object Generator]"}),(pF=function(){return{w:o,m:d}})()}function fF(t,e,n,r){var i=Object.defineProperty;try{i({},"",{})}catch(t){i=0}fF=function(t,e,n,r){function o(e,n){fF(t,e,function(t){return this._invoke(e,n,t)})}e?i?i(t,e,{value:n,enumerable:!r,configurable:!r,writable:!r}):t[e]=n:(o("next",0),o("throw",1),o("return",2))},fF(t,e,n,r)}function AF(t,e,n,r,i,o,s){try{var a=t[o](s),c=a.value}catch(t){return void n(t)}a.done?e(c):Promise.resolve(c).then(r,i)}function gF(t){return function(){var e=this,n=arguments;return new Promise(function(r,i){var o=t.apply(e,n);function s(t){AF(o,r,i,s,a,"next",t)}function a(t){AF(o,r,i,s,a,"throw",t)}s(void 0)})}}function EF(t){return EF="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},EF(t)}function mF(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,wF(r.key),r)}}function wF(t){var e=function(t,e){if("object"!=EF(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=EF(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==EF(e)?e:e+""}var yF=(0,sF.y8)({sessionId:"unknown",providerId:"unknown",appId:"unknown",source:"joclaim-extension-sdk",type:aF.LOG_TYPES.OFFSCREEN});"undefined"==typeof WebAssembly&&a.w9.error(a.Ey.OFFSCREEN,"WebAssembly is not available in this browser context"),void 0!==s.g&&(s.g.WASM_PATH=chrome.runtime.getURL(""));var IF=document.createElement("meta");IF.httpEquiv="Cross-Origin-Embedder-Policy",IF.content="require-corp",document.head.appendChild(IF);var CF=document.createElement("meta");CF.httpEquiv="Cross-Origin-Opener-Policy",CF.content="same-origin",document.head.appendChild(CF),window.WebSocket=oF;var BF=function(){return function(t,e,n){return e&&mF(t.prototype,e),n&&mF(t,n),Object.defineProperty(t,"prototype",{writable:!1}),t}(function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.init()},[{key:"init",value:function(){yF.info({message:"[OFFSCREEN] Offscreen ready",logLevel:aF.LOG_LEVEL.INFO,type:aF.LOG_TYPES.OFFSCREEN}),chrome.runtime.onMessage.addListener(this.handleMessage.bind(this));try{var t=s(3859).LOG_CONFIG_STORAGE_KEY;chrome.storage.local.get([t],function(e){var n=null==e?void 0:e[t];n&&"object"===EF(n)&&sF.Ow.setConfig(n)}),chrome.storage.onChanged.addListener(function(e,n){if("local"===n&&e[t]){var r=e[t].newValue||{};sF.Ow.setConfig(r)}})}catch(t){}this.sendReadySignal()}},{key:"sendReadySignal",value:function(){chrome.runtime.sendMessage({action:L,source:N,target:M})}},{key:"handleMessage",value:function(t,e,n){var r=this,i=t.action,o=t.source,s=t.target,a=t.data,c=t.sessionId,l=t.providerId;if(c&&l&&"unknown"!==c&&"unknown"!==l&&yF.setContext({sessionId:c,providerId:l,type:aF.LOG_TYPES.OFFSCREEN}),s===N){switch(i){case R:this.sendReadySignal(),n({success:!0});break;case v:gF(pF().m(function t(){var e,n,i,o;return pF().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,yF.info({message:"[OFFSCREEN] Generating proof",logLevel:aF.LOG_LEVEL.INFO,type:aF.LOG_TYPES.OFFSCREEN,eventType:aF.EVENT_TYPES.PROOF_GENERATION_STARTED}),t.n=1,r.generateProof(a,yF);case 1:if(n=t.v,!(i=(null==n||null===(e=n.error)||void 0===e?void 0:e.message)||("string"==typeof(null==n?void 0:n.error)?n.error:null))){t.n=2;break}return yF.error({message:"[OFFSCREEN] Proof contains embedded error:",logLevel:aF.LOG_LEVEL.ERROR,type:aF.LOG_TYPES.OFFSCREEN,eventType:aF.EVENT_TYPES.PROOF_GENERATION_FAILED}),chrome.runtime.sendMessage({action:x,source:N,target:M,success:!1,error:i}),t.a(2);case 2:chrome.runtime.sendMessage({action:x,source:N,target:M,success:!0,proof:n}),t.n=4;break;case 3:t.p=3,o=t.v,yF.error({message:"[OFFSCREEN] Error generating proof: "+o.message,logLevel:aF.LOG_LEVEL.ERROR,type:aF.LOG_TYPES.OFFSCREEN,eventType:aF.EVENT_TYPES.PROOF_GENERATION_FAILED}),chrome.runtime.sendMessage({action:x,source:N,target:M,success:!1,error:o.message||"Unknown error in proof generation"});case 4:return t.a(2)}},t,null,[[0,3]])}))(),n({received:!0});break;case S:try{var u=window.crypto.getRandomValues(new Uint8Array(32)),h="0x"+Array.from(u).map(function(t){return t.toString(16).padStart(2,"0")}).join("");chrome.runtime.sendMessage({action:_,source:N,target:o,success:!0,privateKey:h}),yF.info({message:"[OFFSCREEN] Private key generated",logLevel:aF.LOG_LEVEL.INFO,type:aF.LOG_TYPES.OFFSCREEN}),n({success:!0,received:!0})}catch(t){chrome.runtime.sendMessage({action:_,source:N,target:o,success:!1,error:t.message||"Unknown error generating private key"}),yF.error({message:"[OFFSCREEN] Error generating private key: "+t.message,logLevel:aF.LOG_LEVEL.ERROR,type:aF.LOG_TYPES.OFFSCREEN}),n({success:!1,error:t.message})}break;default:yF.error({message:"[OFFSCREEN] Unknown action: "+i,logLevel:aF.LOG_LEVEL.ERROR,type:aF.LOG_TYPES.OFFSCREEN}),n({success:!1,error:"Unknown action"})}return!0}}},{key:"generateProof",value:(t=gF(pF().m(function t(e,n){var r,i,o,s,a;return pF().w(function(t){for(;;)switch(t.p=t.n){case 0:if(e){t.n=1;break}throw new Error("No claim data provided for proof generation");case 1:return r=e.sessionId,delete e.sessionId,t.p=2,n.info({message:"[OFFSCREEN] Updating session status to PROOF_GENERATION_STARTED",logLevel:aF.LOG_LEVEL.INFO,type:aF.LOG_TYPES.OFFSCREEN,eventType:aF.EVENT_TYPES.PROOF_GENERATION_STARTED}),t.n=3,dF(r,T);case 3:return i=new Promise(function(t,e){setTimeout(function(){e(new Error("Proof generation timed out after 2 minutes"))},12e4)}),t.n=4,rF(e);case 4:return o=t.v,n.info({message:"[OFFSCREEN] Attestor promise created",logLevel:aF.LOG_LEVEL.INFO,type:aF.LOG_TYPES.OFFSCREEN,eventType:aF.EVENT_TYPES.PROOF_GENERATION_SUCCESS}),t.n=5,Promise.race([o,i]);case 5:return(s=t.v).publicData="string"==typeof e.publicData?e.publicData:null,n.info({message:"[OFFSCREEN] Attestor promise result: "+JSON.stringify(s),logLevel:aF.LOG_LEVEL.ALL,type:aF.LOG_TYPES.OFFSCREEN,eventType:aF.EVENT_TYPES.RESULT_RECEIVED,meta:{result:s}}),t.n=6,dF(r,D);case 6:return t.a(2,s);case 7:return t.p=7,a=t.v,n.error({message:"[OFFSCREEN] Error generating proof: "+(null==a?void 0:a.message)||0,logLevel:aF.LOG_LEVEL.ERROR,type:aF.LOG_TYPES.OFFSCREEN,eventType:aF.EVENT_TYPES.PROOF_GENERATION_FAILED}),t.n=8,dF(r,b);case 8:throw a;case 9:return t.a(2)}},t,null,[[2,7]])})),function(e,n){return t.apply(this,arguments)})}]);var t}();new BF})()})();
117
- //# sourceMappingURL=offscreen.bundle.js.map